0x60c06040526040518060400160405280600681526020017f546f6b656e590000000000000000000000000000000000000000000000000000815250600690816200004a919062000b29565b506040518060400160405280600681526020017f546f6b656e5900000000000000000000000000000000000000000000000000008152506007908162000091919062000b29565b506012600860006101000a81548160ff021916908360ff160217905550629896806009556002600a55600860009054906101000a900460ff16600a620000d8919062000da0565b62030d40620000e8919062000df1565b600b55600860009054906101000a900460ff16600a62000109919062000da0565b62030d4062000119919062000df1565b600c5573a6091be4bbbcef0c10a0ba25538f3a404bb1e511600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f55600860009054906101000a900460ff16600a62000194919062000da0565b620186a0620001a4919062000df1565b6011556364e68f70601260016101000a81548163ffffffff021916908363ffffffff160217905550348015620001d957600080fd5b5060068054620001e99062000918565b80601f0160208091040260200160405190810160405280929190818152602001828054620002179062000918565b8015620002685780601f106200023c5761010080835404028352916020019162000268565b820191906000526020600020905b8154815290600101906020018083116200024a57829003601f168201915b5050505050600780546200027c9062000918565b80601f0160208091040260200160405190810160405280929190818152602001828054620002aa9062000918565b8015620002fb5780601f10620002cf57610100808354040283529160200191620002fb565b820191906000526020600020905b815481529060010190602001808311620002dd57829003601f168201915b5050505050816003908162000311919062000b29565b50806004908162000323919062000b29565b505050620003466200033a6200069c60201b60201c565b620006a460201b60201c565b6200038433600860009054906101000a900460ff16600a62000369919062000da0565b60095462000378919062000df1565b6200076a60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040f919062000ea6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000477573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049d919062000ea6565b6040518363ffffffff1660e01b8152600401620004bc92919062000ee9565b6020604051808303816000875af1158015620004dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000502919062000ea6565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060016010600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505062001002565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007d39062000f77565b60405180910390fd5b8060026000828254620007f0919062000f99565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620008a3919062000fe5565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200093157607f821691505b602082108103620009475762000946620008e9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009b17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000972565b620009bd868362000972565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000a0a62000a04620009fe84620009d5565b620009df565b620009d5565b9050919050565b6000819050919050565b62000a2683620009e9565b62000a3e62000a358262000a11565b8484546200097f565b825550505050565b600090565b62000a5562000a46565b62000a6281848462000a1b565b505050565b5b8181101562000a8a5762000a7e60008262000a4b565b60018101905062000a68565b5050565b601f82111562000ad95762000aa3816200094d565b62000aae8462000962565b8101602085101562000abe578190505b62000ad662000acd8562000962565b83018262000a67565b50505b505050565b600082821c905092915050565b600062000afe6000198460080262000ade565b1980831691505092915050565b600062000b19838362000aeb565b9150826002028217905092915050565b62000b3482620008af565b67ffffffffffffffff81111562000b505762000b4f620008ba565b5b62000b5c825462000918565b62000b6982828562000a8e565b600060209050601f83116001811462000ba1576000841562000b8c578287015190505b62000b98858262000b0b565b86555062000c08565b601f19841662000bb1866200094d565b60005b8281101562000bdb5784890151825560018201915060208501945060208101905062000bb4565b8683101562000bfb578489015162000bf7601f89168262000aeb565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c9e5780860481111562000c765762000c7562000c10565b5b600185161562000c865780820291505b808102905062000c968562000c3f565b945062000c56565b94509492505050565b60008262000cb9576001905062000d8c565b8162000cc9576000905062000d8c565b816001811462000ce2576002811462000ced5762000d23565b600191505062000d8c565b60ff84111562000d025762000d0162000c10565b5b8360020a91508482111562000d1c5762000d1b62000c10565b5b5062000d8c565b5060208310610133831016604e8410600b841016171562000d5d5782820a90508381111562000d575762000d5662000c10565b5b62000d8c565b62000d6c848484600162000c4c565b9250905081840481111562000d865762000d8562000c10565b5b81810290505b9392505050565b600060ff82169050919050565b600062000dad82620009d5565b915062000dba8362000d93565b925062000de97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ca7565b905092915050565b600062000dfe82620009d5565b915062000e0b83620009d5565b925082820262000e1b81620009d5565b9150828204841483151762000e355762000e3462000c10565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e6e8262000e41565b9050919050565b62000e808162000e61565b811462000e8c57600080fd5b50565b60008151905062000ea08162000e75565b92915050565b60006020828403121562000ebf5762000ebe62000e3c565b5b600062000ecf8482850162000e8f565b91505092915050565b62000ee38162000e61565b82525050565b600060408201905062000f00600083018562000ed8565b62000f0f602083018462000ed8565b9392505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f5f601f8362000f16565b915062000f6c8262000f27565b602082019050919050565b6000602082019050818103600083015262000f928162000f50565b9050919050565b600062000fa682620009d5565b915062000fb383620009d5565b925082820190508082111562000fce5762000fcd62000c10565b5b92915050565b62000fdf81620009d5565b82525050565b600060208201905062000ffc600083018462000fd4565b92915050565b60805160a051612e0c620010606000396000818161096e015281816112b201528181611307015281816113750152818161157d015261164b015260008181610834015281816118eb015281816119cc01526119f30152612e0c6000f3fe6080604052600436106101d15760003560e01c806375f0a874116100f7578063aa4bde2811610095578063d7fdd19f11610064578063d7fdd19f14610697578063dd62ed3e146106c0578063eac05ab5146106fd578063f2fde38b14610728576101d8565b8063aa4bde28146105dd578063bb85c6d114610608578063bfd7928414610631578063d34628cc1461066e576101d8565b80638da5cb5b116100d15780638da5cb5b1461050d57806395d89b4114610538578063a457c2d714610563578063a9059cbb146105a0576101d8565b806375f0a8741461048e57806381bfdcca146104b95780638c0b5e22146104e2576101d8565b806331c2d8471161016f578063677daa571161013e578063677daa57146103e85780636c2fd3241461041157806370a082311461043a578063715018a614610477576101d8565b806331c2d8471461032c578063395093511461035557806349bd5a5e14610392578063527ffabd146103bd576101d8565b80631694505e116101ab5780631694505e1461026e57806318160ddd1461029957806323b872dd146102c4578063313ce56714610301576101d8565b8063019a9c30146101dd57806306fdde0314610206578063095ea7b314610231576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff9190611d61565b610751565b005b34801561021257600080fd5b5061021b61077d565b6040516102289190611e1e565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190611ed4565b61080f565b6040516102659190611f2f565b60405180910390f35b34801561027a57600080fd5b50610283610832565b6040516102909190611fa9565b60405180910390f35b3480156102a557600080fd5b506102ae610856565b6040516102bb9190611fd3565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e69190611fee565b610860565b6040516102f89190611f2f565b60405180910390f35b34801561030d57600080fd5b5061031661088f565b604051610323919061205d565b60405180910390f35b34801561033857600080fd5b50610353600480360381019061034e91906121c0565b610898565b005b34801561036157600080fd5b5061037c60048036038101906103779190611ed4565b610935565b6040516103899190611f2f565b60405180910390f35b34801561039e57600080fd5b506103a761096c565b6040516103b49190612218565b60405180910390f35b3480156103c957600080fd5b506103d2610990565b6040516103df9190611fd3565b60405180910390f35b3480156103f457600080fd5b5061040f600480360381019061040a9190612233565b610996565b005b34801561041d57600080fd5b5061043860048036038101906104339190612233565b6109a8565b005b34801561044657600080fd5b50610461600480360381019061045c9190612260565b6109fe565b60405161046e9190611fd3565b60405180910390f35b34801561048357600080fd5b5061048c610a46565b005b34801561049a57600080fd5b506104a3610a5a565b6040516104b09190612218565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190612233565b610a80565b005b3480156104ee57600080fd5b506104f7610a92565b6040516105049190611fd3565b60405180910390f35b34801561051957600080fd5b50610522610a98565b60405161052f9190612218565b60405180910390f35b34801561054457600080fd5b5061054d610ac2565b60405161055a9190611e1e565b60405180910390f35b34801561056f57600080fd5b5061058a60048036038101906105859190611ed4565b610b54565b6040516105979190611f2f565b60405180910390f35b3480156105ac57600080fd5b506105c760048036038101906105c29190611ed4565b610bcb565b6040516105d49190611f2f565b60405180910390f35b3480156105e957600080fd5b506105f2610bee565b6040516105ff9190611fd3565b60405180910390f35b34801561061457600080fd5b5061062f600480360381019061062a9190612260565b610bf4565b005b34801561063d57600080fd5b5061065860048036038101906106539190612260565b610c40565b6040516106659190611f2f565b60405180910390f35b34801561067a57600080fd5b50610695600480360381019061069091906121c0565b610c60565b005b3480156106a357600080fd5b506106be60048036038101906106b99190612233565b610cfd565b005b3480156106cc57600080fd5b506106e760048036038101906106e2919061228d565b610d0f565b6040516106f49190611fd3565b60405180910390f35b34801561070957600080fd5b50610712610d96565b60405161071f9190611fd3565b60405180910390f35b34801561073457600080fd5b5061074f600480360381019061074a9190612260565b610d9c565b005b610759610e1f565b80601260016101000a81548163ffffffff021916908363ffffffff16021790555050565b60606003805461078c906122fc565b80601f01602080910402602001604051908101604052809291908181526020018280546107b8906122fc565b80156108055780601f106107da57610100808354040283529160200191610805565b820191906000526020600020905b8154815290600101906020018083116107e857829003601f168201915b5050505050905090565b60008061081a610e9d565b9050610827818585610ea5565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b60008061086b610e9d565b905061087885828561106e565b6108838585856110fa565b60019150509392505050565b60006009905090565b6108a0610e1f565b60005b8151811015610931576000600e60008484815181106108c5576108c461232d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109299061238b565b9150506108a3565b5050565b600080610940610e9d565b90506109618185856109528589610d0f565b61095c91906123d3565b610ea5565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a5481565b61099e610e1f565b80600b8190555050565b6109b0610e1f565b60648111156109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90612479565b60405180910390fd5b80600a8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a4e610e1f565b610a58600061176b565b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a88610e1f565b80600c8190555050565b600b5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ad1906122fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610afd906122fc565b8015610b4a5780601f10610b1f57610100808354040283529160200191610b4a565b820191906000526020600020905b815481529060010190602001808311610b2d57829003601f168201915b5050505050905090565b600080610b5f610e9d565b90506000610b6d8286610d0f565b905083811015610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba99061250b565b60405180910390fd5b610bbf8286868403610ea5565b60019250505092915050565b600080610bd6610e9d565b9050610be38185856110fa565b600191505092915050565b600c5481565b610bfc610e1f565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b610c68610e1f565b60005b8151811015610cf9576001600e6000848481518110610c8d57610c8c61232d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cf19061238b565b915050610c6b565b5050565b610d05610e1f565b8060118190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b610da4610e1f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0a9061259d565b60405180910390fd5b610e1c8161176b565b50565b610e27610e9d565b73ffffffffffffffffffffffffffffffffffffffff16610e45610a98565b73ffffffffffffffffffffffffffffffffffffffff1614610e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9290612609565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b9061269b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7a9061272d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110619190611fd3565b60405180910390a3505050565b600061107a8484610d0f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110f457818110156110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612799565b60405180910390fd5b6110f38484848403610ea5565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611169576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111609061282b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf906128bd565b60405180910390fd5b806111e2846109fe565b1015611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121a9061294f565b60405180910390fd5b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a7906129bb565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061135557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b801561136e5750601260009054906101000a900460ff16155b1561175a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611486576011546113d2306109fe565b10611485576113e86113e3306109fe565b611831565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050905080611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147a90612a27565b60405180910390fd5b505b5b6000601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115295750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561153657819050611749565b600b5482111561157b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157290612ab9565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361162757600c546115da846109fe565b836115e591906123d3565b1115611626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161d90612b4b565b60405180910390fd5b5b601260019054906101000a900463ffffffff1663ffffffff164210801561169957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156116f7576001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60006064600a54846117099190612b6b565b6117139190612bdc565b905080836117219190612c0d565b915080600f600082825461173591906123d3565b92505081905550611747853083611ab1565b505b611754848483611ab1565b50611766565b611765838383611ab1565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601260006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118695761186861207d565b5b6040519080825280602002602001820160405280156118975781602001602082028036833780820191505090505b50905030816000815181106118af576118ae61232d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190612c56565b8160018151811061198c5761198b61232d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119f1307f000000000000000000000000000000000000000000000000000000000000000084610ea5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000843061012c42611a4091906123d3565b6040518663ffffffff1660e01b8152600401611a60959493929190612d7c565b600060405180830381600087803b158015611a7a57600080fd5b505af1158015611a8e573d6000803e3d6000fd5b50505050506000601260006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b179061282b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b86906128bd565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0c9061294f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d039190611fd3565b60405180910390a350505050565b6000604051905090565b600080fd5b600080fd5b600063ffffffff82169050919050565b611d3e81611d25565b8114611d4957600080fd5b50565b600081359050611d5b81611d35565b92915050565b600060208284031215611d7757611d76611d1b565b5b6000611d8584828501611d4c565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611dc8578082015181840152602081019050611dad565b60008484015250505050565b6000601f19601f8301169050919050565b6000611df082611d8e565b611dfa8185611d99565b9350611e0a818560208601611daa565b611e1381611dd4565b840191505092915050565b60006020820190508181036000830152611e388184611de5565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e6b82611e40565b9050919050565b611e7b81611e60565b8114611e8657600080fd5b50565b600081359050611e9881611e72565b92915050565b6000819050919050565b611eb181611e9e565b8114611ebc57600080fd5b50565b600081359050611ece81611ea8565b92915050565b60008060408385031215611eeb57611eea611d1b565b5b6000611ef985828601611e89565b9250506020611f0a85828601611ebf565b9150509250929050565b60008115159050919050565b611f2981611f14565b82525050565b6000602082019050611f446000830184611f20565b92915050565b6000819050919050565b6000611f6f611f6a611f6584611e40565b611f4a565b611e40565b9050919050565b6000611f8182611f54565b9050919050565b6000611f9382611f76565b9050919050565b611fa381611f88565b82525050565b6000602082019050611fbe6000830184611f9a565b92915050565b611fcd81611e9e565b82525050565b6000602082019050611fe86000830184611fc4565b92915050565b60008060006060848603121561200757612006611d1b565b5b600061201586828701611e89565b935050602061202686828701611e89565b925050604061203786828701611ebf565b9150509250925092565b600060ff82169050919050565b61205781612041565b82525050565b6000602082019050612072600083018461204e565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6120b582611dd4565b810181811067ffffffffffffffff821117156120d4576120d361207d565b5b80604052505050565b60006120e7611d11565b90506120f382826120ac565b919050565b600067ffffffffffffffff8211156121135761211261207d565b5b602082029050602081019050919050565b600080fd5b600061213c612137846120f8565b6120dd565b9050808382526020820190506020840283018581111561215f5761215e612124565b5b835b8181101561218857806121748882611e89565b845260208401935050602081019050612161565b5050509392505050565b600082601f8301126121a7576121a6612078565b5b81356121b7848260208601612129565b91505092915050565b6000602082840312156121d6576121d5611d1b565b5b600082013567ffffffffffffffff8111156121f4576121f3611d20565b5b61220084828501612192565b91505092915050565b61221281611e60565b82525050565b600060208201905061222d6000830184612209565b92915050565b60006020828403121561224957612248611d1b565b5b600061225784828501611ebf565b91505092915050565b60006020828403121561227657612275611d1b565b5b600061228484828501611e89565b91505092915050565b600080604083850312156122a4576122a3611d1b565b5b60006122b285828601611e89565b92505060206122c385828601611e89565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061231457607f821691505b602082108103612327576123266122cd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061239682611e9e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123c8576123c761235c565b5b600182019050919050565b60006123de82611e9e565b91506123e983611e9e565b92508282019050808211156124015761240061235c565b5b92915050565b7f45524332303a20746f74616c20746178206d757374206e6f742062652067726560008201527f61746572207468616e2031303000000000000000000000000000000000000000602082015250565b6000612463602d83611d99565b915061246e82612407565b604082019050919050565b6000602082019050818103600083015261249281612456565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006124f5602583611d99565b915061250082612499565b604082019050919050565b60006020820190508181036000830152612524816124e8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612587602683611d99565b91506125928261252b565b604082019050919050565b600060208201905081810360008301526125b68161257a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125f3602083611d99565b91506125fe826125bd565b602082019050919050565b60006020820190508181036000830152612622816125e6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612685602483611d99565b915061269082612629565b604082019050919050565b600060208201905081810360008301526126b481612678565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612717602283611d99565b9150612722826126bb565b604082019050919050565b600060208201905081810360008301526127468161270a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612783601d83611d99565b915061278e8261274d565b602082019050919050565b600060208201905081810360008301526127b281612776565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612815602583611d99565b9150612820826127b9565b604082019050919050565b6000602082019050818103600083015261284481612808565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128a7602383611d99565b91506128b28261284b565b604082019050919050565b600060208201905081810360008301526128d68161289a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612939602683611d99565b9150612944826128dd565b604082019050919050565b600060208201905081810360008301526129688161292c565b9050919050565b7f45524332303a20596f752061726520626f740000000000000000000000000000600082015250565b60006129a5601283611d99565b91506129b08261296f565b602082019050919050565b600060208201905081810360008301526129d481612998565b9050919050565b7f4661696c656420746f2073656e64204554480000000000000000000000000000600082015250565b6000612a11601283611d99565b9150612a1c826129db565b602082019050919050565b60006020820190508181036000830152612a4081612a04565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473207460008201527f6865206d6178207472616e73616374696f6e20616d6f756e7400000000000000602082015250565b6000612aa3603983611d99565b9150612aae82612a47565b604082019050919050565b60006020820190508181036000830152612ad281612a96565b9050919050565b7f45524332303a2062616c616e636520616d6f756e74206578636565646564206d60008201527f61782077616c6c657420616d6f756e74206c696d697400000000000000000000602082015250565b6000612b35603683611d99565b9150612b4082612ad9565b604082019050919050565b60006020820190508181036000830152612b6481612b28565b9050919050565b6000612b7682611e9e565b9150612b8183611e9e565b9250828202612b8f81611e9e565b91508282048414831517612ba657612ba561235c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612be782611e9e565b9150612bf283611e9e565b925082612c0257612c01612bad565b5b828204905092915050565b6000612c1882611e9e565b9150612c2383611e9e565b9250828203905081811115612c3b57612c3a61235c565b5b92915050565b600081519050612c5081611e72565b92915050565b600060208284031215612c6c57612c6b611d1b565b5b6000612c7a84828501612c41565b91505092915050565b6000819050919050565b6000612ca8612ca3612c9e84612c83565b611f4a565b611e9e565b9050919050565b612cb881612c8d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cf381611e60565b82525050565b6000612d058383612cea565b60208301905092915050565b6000602082019050919050565b6000612d2982612cbe565b612d338185612cc9565b9350612d3e83612cda565b8060005b83811015612d6f578151612d568882612cf9565b9750612d6183612d11565b925050600181019050612d42565b5085935050505092915050565b600060a082019050612d916000830188611fc4565b612d9e6020830187612caf565b8181036040830152612db08186612d1e565b9050612dbf6060830185612209565b612dcc6080830184611fc4565b969550505050505056fea26469706673582212209adca0bf554031f5679fcbb67e9ca24f69780e68e4911d65ae37c3da09abc05f64736f6c63430008110033