60a06040523480156200001157600080fd5b5060405162001325380380620013258339810160408190526200003491620003e1565b8282828281620000458282620000b0565b50508160405162000056906200037a565b6001600160a01b039091168152602001604051809103906000f08015801562000083573d6000803e3d6000fd5b506001600160a01b0316608052620000a46200009e60805190565b62000116565b505050505050620004df565b620000bb8262000188565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115620001085762000103828262000208565b505050565b6200011262000285565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200015860008051602062001305833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200018581620002a7565b50565b806001600160a01b03163b600003620001c457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b031684604051620002279190620004c1565b600060405180830381855af49150503d806000811462000264576040519150601f19603f3d011682016040523d82523d6000602084013e62000269565b606091505b5090925090506200027c858383620002ea565b95945050505050565b3415620002a55760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002d357604051633173bdd160e11b815260006004820152602401620001bb565b8060008051602062001305833981519152620001e7565b6060826200030357620002fd8262000350565b62000349565b81511580156200031b57506001600160a01b0384163b155b156200034657604051639996b31560e01b81526001600160a01b0385166004820152602401620001bb565b50805b9392505050565b805115620003615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6108058062000b0083390190565b80516001600160a01b0381168114620003a057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003d8578181015183820152602001620003be565b50506000910152565b600080600060608486031215620003f757600080fd5b620004028462000388565b9250620004126020850162000388565b60408501519092506001600160401b03808211156200043057600080fd5b818601915086601f8301126200044557600080fd5b8151818111156200045a576200045a620003a5565b604051601f8201601f19908116603f01168101908382118183101715620004855762000485620003a5565b816040528281528960208487010111156200049f57600080fd5b620004b2836020830160208801620003bb565b80955050505050509250925092565b60008251620004d5818460208701620003bb565b9190910192915050565b608051610606620004fa6000396000601001526106066000f3fe608060405261000c61000e565b005b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633036100d2576000357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100c8576040517fd2b576ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100d06100da565b565b6100d0610109565b6000806100ea366004818461044d565b8101906100f791906104a6565b915091506101058282610119565b5050565b6100d0610114610181565b6101c6565b610122826101ea565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101795761017482826102be565b505050565b610105610341565b60006101c17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156101e5573d6000f35b3d6000fd5b8073ffffffffffffffffffffffffffffffffffffffff163b600003610258576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516102e891906105a1565b600060405180830381855af49150503d8060008114610323576040519150601f19603f3d011682016040523d82523d6000602084013e610328565b606091505b5091509150610338858383610379565b95945050505050565b34156100d0576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261038e576103898261040b565b610404565b81511580156103b2575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610401576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161024f565b50805b9392505050565b80511561041b5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808585111561045d57600080fd5b8386111561046a57600080fd5b5050820193919092039150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156104b957600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104dd57600080fd5b9150602083013567ffffffffffffffff808211156104fa57600080fd5b818501915085601f83011261050e57600080fd5b81358181111561052057610520610477565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561056657610566610477565b8160405282815288602084870101111561057f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156105c257602081860181015185830152016105a8565b50600092019182525091905056fea2646970667358221220dfc31263f89c86bc633ccda84edbd1c91a7b491061a03205fc8ee263fb1fef1964736f6c63430008180033608060405234801561001057600080fd5b5060405161080538038061080583398101604081905261002f9161009a565b8061003981610040565b50506100ca565b600180546001600160a01b0319908116909155600080546001600160a01b03848116938216841783556040519116929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100ac57600080fd5b81516001600160a01b03811681146100c357600080fd5b9392505050565b61072c806100d96000396000f3fe6080604052600436106100705760003560e01c80639623609d1161004e5780639623609d146100f2578063ad3cb1cc14610105578063e30c39781461015b578063f2fde38b1461018657600080fd5b8063715018a61461007557806379ba50971461008c5780638da5cb5b146100a1575b600080fd5b34801561008157600080fd5b5061008a6101a6565b005b34801561009857600080fd5b5061008a6101ba565b3480156100ad57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61008a610100366004610530565b610274565b34801561011157600080fd5b5061014e6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100e99190610688565b34801561016757600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff166100c8565b34801561019257600080fd5b5061008a6101a13660046106a2565b610309565b6101ae6103b9565b6101b86000610460565b565b600154339073ffffffffffffffffffffffffffffffffffffffff168114610268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4f776e61626c653253746570436f6e666967757261626c653a2063616c6c657260448201527f206973206e6f7420746865206e6577206f776e6572000000000000000000000060648201526084015b60405180910390fd5b61027181610460565b50565b61027c6103b9565b6040517f4f1ef28600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690634f1ef2869034906102d290869086906004016106bf565b6000604051808303818588803b1580156102eb57600080fd5b505af11580156102ff573d6000803e3d6000fd5b5050505050505050565b6103116103b9565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561037460005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4f776e61626c653253746570436f6e666967757261626c653a2063616c6c657260448201527f206973206e6f7420746865206f776e6572000000000000000000000000000000606482015260840161025f565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556000805473ffffffffffffffffffffffffffffffffffffffff848116938216841783556040519116929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff8116811461027157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561054557600080fd5b8335610550816104df565b92506020840135610560816104df565b9150604084013567ffffffffffffffff8082111561057d57600080fd5b818601915086601f83011261059157600080fd5b8135818111156105a3576105a3610501565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156105e9576105e9610501565b8160405282815289602084870101111561060257600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561064a5760208185018101518683018201520161062e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061069b6020830184610624565b9392505050565b6000602082840312156106b457600080fd5b813561069b816104df565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006106ee6040830184610624565b94935050505056fea26469706673582212203a03bcb5c83637444ba5d1a028715c301d625eeb28a20c2c1a3c20c0d5d46a8d64736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000f776490fa11aa00af67c35d2bbb8ec59e599f7000000000000000000000000048d61750d028b004d8ab222b92cd8e3ff023c94a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024bd87b40400000000000000000000000048d61750d028b004d8ab222b92cd8e3ff023c94a00000000000000000000000000000000000000000000000000000000