VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0xd66bA0…83b8
Summary
Transactions
Transfers
Address
0xd66bA0b9554Bd213d7FcB01Fc83E1F9Abc8383b8
VET
0.00
VET
VTHO
0.00
VTHO
Master
0x5a98757ac8995253c22dD117c663E61Eed5e5138
Deployer
0x5a98757ac8995253c22dD117c663E61Eed5e5138
Code
0x608060405234801561001057600080fd5b50600436106103625760003560e01c8063715018a6116101c8578063a22cb46511610104578063e602db67116100a2578063efaec9181161007c578063efaec918146107a6578063f2fde38b146107b9578063f48cc326146107cc578063f9ff78f4146107df57600080fd5b8063e602db6714610744578063e6113cfa14610757578063e985e9c51461076a57600080fd5b8063c87b56dd116100de578063c87b56dd146106ef578063d539139314610702578063d547741f14610729578063d5abeb011461073c57600080fd5b8063a22cb465146106b6578063b88d4fde146106c9578063c3cda520146106dc57600080fd5b80638da5cb5b1161017157806391ddadf41161014b57806391ddadf41461067457806395d89b41146106935780639ab24eb01461069b578063a217fddf146106ae57600080fd5b80638da5cb5b146106125780638e539e8c1461062857806391d148541461063b57600080fd5b80637ecebe00116101a25780637ecebe00146105dc5780638456cb59146105ef57806384b0196e146105f757600080fd5b8063715018a6146105ae57806378211f48146105b6578063799161d5146105c957600080fd5b806336568abe116102a25780634f6ccce7116102405780635c975abb1161021a5780635c975abb1461055d5780636108375f146105685780636352211e1461058857806370a082311461059b57600080fd5b80634f6ccce71461050b578063587cde1e1461051e5780635c19a95c1461054a57600080fd5b806342842e0e1161027c57806342842e0e146104d557806342966c68146104e85780634bf5d7e9146104fb5780634e71d92d1461050357600080fd5b806336568abe146104a75780633a46b1a8146104ba5780633f4ba83a146104cd57600080fd5b806323b872dd1161030f578063282c51f3116102e9578063282c51f3146104525780632f2ff15d146104795780632f745c591461048c5780633644e5151461049f57600080fd5b806323b872dd14610409578063248a9ca31461041c57806324b76fd51461043f57600080fd5b8063081812fc11610340578063081812fc146103b9578063095ea7b3146103e457806318160ddd146103f757600080fd5b806301ffc9a71461036757806302fe53051461038f57806306fdde03146103a4575b600080fd5b61037a610375366004614c1e565b6107f2565b60405190151581526020015b60405180910390f35b6103a261039d366004614cfa565b610803565b005b6103ac610822565b6040516103869190614d87565b6103cc6103c7366004614d9a565b6108b4565b6040516001600160a01b039091168152602001610386565b6103a26103f2366004614dcf565b6108db565b6008545b604051908152602001610386565b6103a2610417366004614df9565b610a12565b6103fb61042a366004614d9a565b6000908152600b602052604090206001015490565b6103a261044d366004614e35565b610a89565b6103fb7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b6103a2610487366004614e7c565b610cdf565b6103fb61049a366004614dcf565b610d04565b6103fb610dac565b6103a26104b5366004614e7c565b610dbb565b6103fb6104c8366004614dcf565b610e43565b6103a2610edd565b6103a26104e3366004614df9565b610fad565b6103a26104f6366004614d9a565b610fc8565b6103ac611196565b6103a261122e565b6103fb610519366004614d9a565b61143b565b6103cc61052c366004614ea8565b6001600160a01b039081166000908152600e60205260409020541690565b6103a2610558366004614ea8565b6114df565b600a5460ff1661037a565b61057b610576366004614d9a565b6114ea565b6040516103869190614ec3565b6103cc610596366004614d9a565b6115c3565b6103fb6105a9366004614ea8565b611628565b6103a26116c2565b61037a6105c4366004614cfa565b6116d4565b6103a26105d7366004614ea8565b6116ff565b6103fb6105ea366004614ea8565b6117a7565b6103a26117c5565b6105ff61186f565b6040516103869796959493929190614ef1565b600a5461010090046001600160a01b03166103cc565b6103fb610636366004614d9a565b611914565b61037a610649366004614e7c565b6000918252600b602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61067c611997565b60405165ffffffffffff9091168152602001610386565b6103ac6119a2565b6103fb6106a9366004614ea8565b6119b1565b6103fb600081565b6103a26106c4366004614fb1565b6119d2565b6103a26106d7366004614fe8565b6119dd565b6103a26106ea366004615064565b611a5b565b6103ac6106fd366004614d9a565b611b91565b6103fb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6103a2610737366004614e7c565b611bf8565b6014546103fb565b6103a2610752366004614cfa565b611c1d565b6103a2610765366004614dcf565b611e34565b61037a6107783660046150c4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103a26107b43660046150ee565b612024565b6103a26107c7366004614ea8565b61225e565b61037a6107da366004614d9a565b6122ee565b6103a26107ed36600461510c565b61235d565b60006107fd8261266b565b92915050565b61080b6126a9565b805161081e906015906020840190614b78565b5050565b606060008054610831906151be565b80601f016020809104026020016040519081016040528092919081815260200182805461085d906151be565b80156108aa5780601f1061087f576101008083540402835291602001916108aa565b820191906000526020600020905b81548152906001019060200180831161088d57829003601f168201915b5050505050905090565b60006108bf82612709565b506000908152600460205260409020546001600160a01b031690565b60006108e6826115c3565b9050806001600160a01b0316836001600160a01b031614156109755760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b038216148061099157506109918133610778565b610a035760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161096c565b610a0d838361276d565b505050565b610a1c33826127db565b610a7e5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b606482015260840161096c565b610a0d83838361285a565b610ab06040518060400160405280600681526020016552454445454d60d01b8152506116d4565b610b225760405162461bcd60e51b815260206004820152603a60248201527f455243373231202d2052656465656d3a205468697320636f6e7472616374206460448201527f6f6573206e6f7420737570706f7274207468652072656465656d000000000000606482015260840161096c565b60008281526002602052604090205433906001600160a01b03168114610bb05760405162461bcd60e51b815260206004820152603760248201527f455243373231202d2052656465656d3a2063616c6c6572206973206e6f74207460448201527f6865206f776e6572206f662074686520746f6b656e4964000000000000000000606482015260840161096c565b6000838152601960205260409020546001600160a01b031615610c3b5760405162461bcd60e51b815260206004820152602760248201527f455243373231202d2052656465656d3a20546f6b656e20616c7265616479207260448201527f656465656d656400000000000000000000000000000000000000000000000000606482015260840161096c565b6040805180820182526001600160a01b038381168252602080830186815260008881526019835294909420835181546001600160a01b03191693169290921782559251805192939192610c949260018501920190614b78565b5090505082816001600160a01b03167f78e6c3f67f57c26578f2487b930b70d844bcc8dd8f4d629fb4af81252ab5aa6584604051610cd29190614d87565b60405180910390a3505050565b6000828152600b6020526040902060010154610cfa81612a68565b610a0d8383612a72565b6000610d0f83611628565b8210610d835760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e6473000000000000000000000000000000000000000000606482015260840161096c565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6000610db6612b14565b905090565b6001600160a01b0381163314610e395760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c660000000000000000000000000000000000606482015260840161096c565b61081e8282612c3f565b6000610e4d611997565b65ffffffffffff168210610ea35760405162461bcd60e51b815260206004820152601460248201527f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000604482015260640161096c565b610ecd610eaf83612cc2565b6001600160a01b0385166000908152600f6020526040902090612d42565b6001600160e01b03169392505050565b610ee56126a9565b610f0b60405180604001604052806005815260200164504155534560d81b8152506116d4565b610fa35760405162461bcd60e51b815260206004820152604260248201527f455243373231202d2050617573653a205468697320636f6e747261637420646f60448201527f6573206e6f742068617665207065726d697373696f6e20746f20756e7061757360648201527f652e000000000000000000000000000000000000000000000000000000000000608482015260a40161096c565b610fab612df7565b565b610a0d838383604051806020016040528060008152506119dd565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610ff281612a68565b3360009081527f6e6b940fd38f04962e96e3f162add428e7eb5daad8003be9ff37afca77846669602052604090205460ff166110705760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206275726e657200000000000000000000604482015260640161096c565b61109560405180604001604052806004815260200163212aa92760e11b8152506116d4565b6111075760405162461bcd60e51b815260206004820152603e60248201527f455243373231202d204275726e3a205468697320636f6e747261637420646f6560448201527f73206e6f742068617665207065726d697373696f6e20746f206275726e2e0000606482015260840161096c565b33611111836115c3565b6001600160a01b03161461118d5760405162461bcd60e51b815260206004820152603560248201527f455243373231202d204275726e3a2063616c6c6572206973206e6f742074686560448201527f206f776e6572206f662074686520746f6b656e49640000000000000000000000606482015260840161096c565b61081e82612e49565b6060436111a1611997565b65ffffffffffff16146111f65760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000604482015260640161096c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61125860405180604001604052806009815260200168434c41494d41424c4560b81b8152506116d4565b6112b45760405162461bcd60e51b815260206004820152602760248201527f455243373231202d205468697320636f6e7472616374206973206e6f7420636c60448201526661696d61626c6560c81b606482015260840161096c565b601654600160a01b900460ff16156113345760405162461bcd60e51b815260206004820152603360248201527f455243373231202d205468697320636f6e74726163742072657175697265732060448201527f612070617373776f726420746f20636c61696d00000000000000000000000000606482015260840161096c565b6016546040517fc70f57540000000000000000000000000000000000000000000000000000000081523360048201819052916000916001600160a01b039091169063c70f57549060240160206040518083038186803b15801561139657600080fd5b505afa1580156113aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ce91906151f3565b9050806114325760405162461bcd60e51b815260206004820152602c60248201527f455243373231202d2063616c6c657220616464726573732063616e6e6f74206360448201526b1b185a5b481d1a19481b999d60a21b606482015260840161096c565b61081e82612ef6565b600061144660085490565b82106114ba5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e64730000000000000000000000000000000000000000606482015260840161096c565b600882815481106114cd576114cd615210565b90600052602060002001549050919050565b3361081e8183613027565b604080518082019091526000815260606020820152600082815260196020908152604091829020825180840190935280546001600160a01b03168352600181018054919284019161153a906151be565b80601f0160208091040260200160405190810160405280929190818152602001828054611566906151be565b80156115b35780601f10611588576101008083540402835291602001916115b3565b820191906000526020600020905b81548152906001019060200180831161159657829003601f168201915b5050505050815250509050919050565b6000818152600260205260408120546001600160a01b0316806107fd5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161096c565b60006001600160a01b0382166116a65760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161096c565b506001600160a01b031660009081526003602052604090205490565b6116ca6126a9565b610fab6000613099565b60006018826040516116e69190615226565b9081526040519081900360200190205460ff1692915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661172981612a68565b3360009081527ff70e363b3d7895af770c4a138460777d52eebd3cb9962ccc6b58721f6127bbc8602052604090205460ff166114325760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604482015260640161096c565b6001600160a01b0381166000908152601160205260408120546107fd565b6117cd6126a9565b6117f360405180604001604052806005815260200164504155534560d81b8152506116d4565b611867576040805162461bcd60e51b81526020600482015260248101919091527f455243373231202d2050617573653a205468697320636f6e747261637420646f60448201527f6573206e6f742068617665207065726d697373696f6e20746f2070617573652e606482015260840161096c565b610fab6131ef565b6000606080828080836118a37f566f726a00000000000000000000000000000000000000000000000000000004600c61322c565b6118ce7f312e302e30000000000000000000000000000000000000000000000000000005600d61322c565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b600061191e611997565b65ffffffffffff1682106119745760405162461bcd60e51b815260206004820152601460248201527f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000604482015260640161096c565b61198861198083612cc2565b601090612d42565b6001600160e01b031692915050565b6000610db6436132d0565b606060018054610831906151be565b6001600160a01b0381166000908152600f602052604081206119889061334e565b61081e338383613388565b6119e733836127db565b611a495760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b606482015260840161096c565b611a558484848461344f565b50505050565b83421115611aab5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e617475726520657870697265640000000000000000604482015260640161096c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611b2590611b1d9060a001604051602081830303815290604052805190602001206134cd565b858585613515565b9050611b308161353d565b8614611b7e5760405162461bcd60e51b815260206004820152601460248201527f566f7465733a20696e76616c6964206e6f6e6365000000000000000000000000604482015260640161096c565b611b888188613027565b50505050505050565b6060611b9c82612709565b6000611ba6613565565b90506000815111611bc65760405180602001604052806000815250611bf1565b80611bd084613574565b604051602001611be1929190615242565b6040516020818303038152906040525b9392505050565b6000828152600b6020526040902060010154611c1381612a68565b610a0d8383612c3f565b611c4760405180604001604052806009815260200168434c41494d41424c4560b81b8152506116d4565b611ca35760405162461bcd60e51b815260206004820152602760248201527f455243373231202d205468697320636f6e7472616374206973206e6f7420636c60448201526661696d61626c6560c81b606482015260840161096c565b601654600160a01b900460ff161515600114611d275760405162461bcd60e51b815260206004820152603760248201527f455243373231202d205468697320636f6e747261637420646f6573207265717560448201527f69726520612070617373776f726420746f20636c61696d000000000000000000606482015260840161096c565b6016546040517f957f177400000000000000000000000000000000000000000000000000000000815233916000916001600160a01b039091169063957f177490611d779085908790600401615271565b60206040518083038186803b158015611d8f57600080fd5b505afa158015611da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc791906151f3565b905080611e2b5760405162461bcd60e51b815260206004820152602c60248201527f455243373231202d2063616c6c657220616464726573732063616e6e6f74206360448201526b1b185a5b481d1a19481b999d60a21b606482015260840161096c565b610a0d82612ef6565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611e5e81612a68565b3360009081527ff70e363b3d7895af770c4a138460777d52eebd3cb9962ccc6b58721f6127bbc8602052604090205460ff16611edc5760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604482015260640161096c565b611f066040518060400160405280600981526020016853454c45435449564560b81b8152506116d4565b611f9e5760405162461bcd60e51b815260206004820152604c60248201527f455243373231202d204d696e743a205468697320636f6e747261637420646f6560448201527f73206e6f742068617665207065726d697373696f6e20746f206d696e7420736560648201527f6c65637420746f6b656e732e0000000000000000000000000000000000000000608482015260a40161096c565b611fac601380546001019055565b6000611fb760135490565b905060145481111561201a5760405162461bcd60e51b815260206004820152602660248201527f4552433732313a20546f6b656e4964206f757473696465206f6620746f6b656e604482015265081b1a5b5a5d60d21b606482015260840161096c565b611a55848461361e565b61202c6126a9565b61205660405180604001604052806009815260200168434c41494d41424c4560b81b8152506116d4565b6120b25760405162461bcd60e51b815260206004820152602760248201527f455243373231202d205468697320636f6e7472616374206973206e6f7420636c60448201526661696d61626c6560c81b606482015260840161096c565b811561213d57601654600160a01b900460ff16156121385760405162461bcd60e51b815260206004820152603b60248201527f455243373231202d205468697320636f6e747261637420616c7265616479207260448201527f6571756972657320612070617373776f726420746f20636c61696d0000000000606482015260840161096c565b6121e2565b601654600160a01b900460ff166121e25760405162461bcd60e51b815260206004820152604360248201527f455243373231202d205468697320636f6e747261637420616c7265616479206460448201527f6f6573206e6f74207265717569726520612070617373776f726420746f20636c60648201527f61696d0000000000000000000000000000000000000000000000000000000000608482015260a40161096c565b601680547fffffffffffffffffffffff00000000000000000000000000000000000000000016600160a01b8415159081026001600160a01b031916919091176001600160a01b0384169081179092556040517f818b233a1ba8fe2dba0fa170a3d459fe03b21e3fb8e99096bb7c1fb1281968fb90600090a35050565b6122666126a9565b6001600160a01b0381166122e25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161096c565b6122eb81613099565b50565b60006123176040518060400160405280600681526020016552454445454d60d01b8152506116d4565b801561233957506000828152600260205260409020546001600160a01b031633145b80156107fd5750506000908152601960205260409020546001600160a01b03161590565b6123656126a9565b8060008151811061237857612378615210565b6020026020010151601860405180604001604052806004815260200163212aa92760e11b8152506040516123ac9190615226565b908152604051908190036020019020805491151560ff199092169190911790558051819060019081106123e1576123e1615210565b6020026020010151601860405180604001604052806005815260200164504155534560d81b8152506040516124169190615226565b908152604051908190036020019020805491151560ff1990921691909117905580518190600290811061244b5761244b615210565b6020026020010151601860405180604001604052806009815260200168434c41494d41424c4560b81b8152506040516124849190615226565b908152604051908190036020019020805491151560ff199092169190911790558051819060039081106124b9576124b9615210565b602002602001015160186040518060400160405280600681526020016552454445454d60d01b8152506040516124ef9190615226565b908152604051908190036020019020805491151560ff1990921691909117905580518190600290811061252457612524615210565b602002602001015115158160018151811061254157612541615210565b602002602001015115158260008151811061255e5761255e615210565b602002602001015115157fc5efaa1aa7f8709cf7a1d5fcabf38bd9ef53f0e3bd97f1b5b773e9533a23f4a98460038151811061259c5761259c615210565b60200260200101516040516125b5911515815260200190565b60405180910390a450565b60006020835110156125dc576125d583613638565b90506107fd565b828281516125ed9260200190614b78565b5060ff90506107fd565b600a80546001600160a01b038381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b90565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806107fd57506107fd8261368f565b600a546001600160a01b03610100909104163314610fab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161096c565b6000818152600260205260409020546001600160a01b03166122eb5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161096c565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906127a2826115c3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806127e7836115c3565b9050806001600160a01b0316846001600160a01b0316148061282e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806128525750836001600160a01b0316612847846108b4565b6001600160a01b0316145b949350505050565b826001600160a01b031661286d826115c3565b6001600160a01b0316146128d15760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161096c565b6001600160a01b03821661294c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161096c565b61295983838360016136cd565b826001600160a01b031661296c826115c3565b6001600160a01b0316146129d05760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161096c565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610a0d83838360016136d9565b6122eb81336136e5565b6000828152600b602090815260408083206001600160a01b038516845290915290205460ff1661081e576000828152600b602090815260408083206001600160a01b03851684529091529020805460ff19166001179055612ad03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000306001600160a01b037f000000000000000000000000d66ba0b9554bd213d7fcb01fc83e1f9abc8383b816148015612b6d57507f000000000b2bce3c70bc649a02749e8687721b09ed2e15997f466536b20bb12746145b15612b9757507f58384ae219c5f8aa83504dec1852a7e62e5b1fc34bc31f0bc7c0045678b2b09f90565b610db6604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f84f1dbb26117f991ecd75469675019d33fe81c751fcb3c99805e361226eefd47918101919091527f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c60608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000828152600b602090815260408083206001600160a01b038516845290915290205460ff161561081e576000828152600b602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600063ffffffff821115612d3e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f3220626974730000000000000000000000000000000000000000000000000000606482015260840161096c565b5090565b815460009081816005811115612d9f576000612d5d8461375a565b612d6790856152a9565b60008881526020902090915081015463ffffffff9081169087161015612d8f57809150612d9d565b612d9a8160016152c0565b92505b505b6000612dad8787858561383f565b90508015612de957612dd287612dc46001846152a9565b600091825260209091200190565b5464010000000090046001600160e01b0316612dec565b60005b979650505050505050565b612dff613895565b600a805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000612e54826115c3565b9050612e648160008460016136cd565b612e6d826115c3565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461081e8160008460016136d9565b612f206040518060400160405280600981526020016853454c45435449564560b81b8152506116d4565b15612f935760405162461bcd60e51b815260206004820152603f60248201527f455243373231202d204d696e743a205468697320636f6e74726163742072657160448201527f69757265732073656c65637420746f6b656e2049447320746f206d696e742e00606482015260840161096c565b612fa1601280546001019055565b612faf601380546001019055565b6000612fba60135490565b905060145481111561301d5760405162461bcd60e51b815260206004820152602660248201527f4552433732313a20546f6b656e4964206f757473696465206f6620746f6b656e604482015265081b1a5b5a5d60d21b606482015260840161096c565b61081e828261361e565b6001600160a01b038281166000818152600e602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a0d8183613094866138e7565b6138f2565b600a5461010090046001600160a01b03166130b5600083612a72565b6130df7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a683612a72565b6131097f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84883612a72565b6131337f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682612c3f565b61315d7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84882612c3f565b613168600082612c3f565b6017546040517f01378b580000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038481166024830152909116906301378b5890604401600060405180830381600087803b1580156131ce57600080fd5b505af11580156131e2573d6000803e3d6000fd5b5050505061081e826125f7565b6131f7613a5e565b600a805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612e2c3390565b606060ff831461323f576125d583613ab1565b81805461324b906151be565b80601f0160208091040260200160405190810160405280929190818152602001828054613277906151be565b80156132c45780601f10613299576101008083540402835291602001916132c4565b820191906000526020600020905b8154815290600101906020018083116132a757829003601f168201915b505050505090506107fd565b600065ffffffffffff821115612d3e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f3820626974730000000000000000000000000000000000000000000000000000606482015260840161096c565b8054600090801561337f5761336883612dc46001846152a9565b5464010000000090046001600160e01b0316611bf1565b60009392505050565b816001600160a01b0316836001600160a01b031614156133ea5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161096c565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101610cd2565b61345a84848461285a565b61346684848484613af0565b611a555760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606482015260840161096c565b60006107fd6134da612b14565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061352687878787613c45565b9150915061353381613d09565b5095945050505050565b6001600160a01b03811660009081526011602052604090208054600181018255905b50919050565b606060158054610831906151be565b6060600061358183613e72565b600101905060008167ffffffffffffffff8111156135a1576135a1614c3b565b6040519080825280601f01601f1916602001820160405280156135cb576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461361157613616565b6135d5565b509392505050565b61081e828260405180602001604052806000815250613f54565b600080829050601f8151111561367c57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161096c9190614d87565b8051613687826152ee565b179392505050565b60006001600160e01b031982167f780e9d630000000000000000000000000000000000000000000000000000000014806107fd57506107fd82613fd2565b611a558484848461406d565b611a55848484846140f2565b6000828152600b602090815260408083206001600160a01b038516845290915290205460ff1661081e5761371881614102565b613723836020614114565b604051602001613734929190615312565b60408051601f198184030181529082905262461bcd60e51b825261096c91600401614d87565b60008161376957506000919050565b60006001613776846142f5565b901c6001901b9050600181848161378f5761378f6152d8565b048201901c905060018184816137a7576137a76152d8565b048201901c905060018184816137bf576137bf6152d8565b048201901c905060018184816137d7576137d76152d8565b048201901c905060018184816137ef576137ef6152d8565b048201901c90506001818481613807576138076152d8565b048201901c9050600181848161381f5761381f6152d8565b048201901c9050611bf181828581613839576138396152d8565b04614389565b60005b81831015613616576000613856848461439f565b60008781526020902090915063ffffffff86169082015463ffffffff1611156138815780925061388f565b61388c8160016152c0565b93505b50613842565b600a5460ff16610fab5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161096c565b60006107fd82611628565b816001600160a01b0316836001600160a01b0316141580156139145750600081115b15610a0d576001600160a01b038316156139bc576001600160a01b0383166000908152600f602052604081208190613957906143ba613952866143c6565b614445565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516139b1929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610a0d576001600160a01b0382166000908152600f6020526040812081906139f59061448e613952866143c6565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613a4f929190918252602082015260400190565b60405180910390a25050505050565b600a5460ff1615610fab5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161096c565b60606000613abe8361449a565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15613c3d57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613b34903390899088908890600401615393565b602060405180830381600087803b158015613b4e57600080fd5b505af1925050508015613b7e575060408051601f3d908101601f19168201909252613b7b918101906153cf565b60015b613c23573d808015613bac576040519150601f19603f3d011682016040523d82523d6000602084013e613bb1565b606091505b508051613c1b5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606482015260840161096c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612852565b506001612852565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613c7c5750600090506003613d00565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613cd0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613cf957600060019250925050613d00565b9150600090505b94509492505050565b6000816004811115613d1d57613d1d6153ec565b1415613d265750565b6001816004811115613d3a57613d3a6153ec565b1415613d885760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161096c565b6002816004811115613d9c57613d9c6153ec565b1415613dea5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161096c565b6003816004811115613dfe57613dfe6153ec565b14156122eb5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161096c565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613ebb577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613ee7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310613f0557662386f26fc10000830492506010015b6305f5e1008310613f1d576305f5e100830492506008015b6127108310613f3157612710830492506004015b60648310613f43576064830492506002015b600a83106107fd5760010192915050565b613f5e83836144db565b613f6b6000848484613af0565b610a0d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606482015260840161096c565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061403557506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806107fd57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316146107fd565b6140798484848461467e565b600a5460ff1615611a555760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201527f68696c6520706175736564000000000000000000000000000000000000000000606482015260840161096c565b6140fd8484836147ba565b611a55565b60606107fd6001600160a01b03831660145b60606000614123836002615402565b61412e9060026152c0565b67ffffffffffffffff81111561414657614146614c3b565b6040519080825280601f01601f191660200182016040528015614170576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106141a7576141a7615210565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106141f2576141f2615210565b60200101906001600160f81b031916908160001a9053506000614216846002615402565b6142219060016152c0565b90505b60018111156142a6577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061426257614262615210565b1a60f81b82828151811061427857614278615210565b60200101906001600160f81b031916908160001a90535060049490941c9361429f81615421565b9050614224565b508315611bf15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161096c565b600080608083901c1561430a57608092831c92015b604083901c1561431c57604092831c92015b602083901c1561432e57602092831c92015b601083901c1561434057601092831c92015b600883901c1561435257600892831c92015b600483901c1561436457600492831c92015b600283901c1561437657600292831c92015b600183901c156107fd5760010192915050565b60008183106143985781611bf1565b5090919050565b60006143ae6002848418615438565b611bf1908484166152c0565b6000611bf1828461545a565b60006001600160e01b03821115612d3e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f3234206269747300000000000000000000000000000000000000000000000000606482015260840161096c565b600080614481614463614456611997565b65ffffffffffff16612cc2565b61447961446f8861334e565b868863ffffffff16565b879190614830565b915091505b935093915050565b6000611bf18284615482565b600060ff8216601f8111156107fd576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166145315760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161096c565b6000818152600260205260409020546001600160a01b0316156145965760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161096c565b6145a46000838360016136cd565b6000818152600260205260409020546001600160a01b0316156146095760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161096c565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461081e6000838360016136d9565b60018111156146f55760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f727465640000000000000000000000606482015260840161096c565b816001600160a01b0385166147515761474c81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b614774565b836001600160a01b0316856001600160a01b03161461477457614774858261483e565b6001600160a01b0384166147905761478b816148db565b6147b3565b846001600160a01b0316846001600160a01b0316146147b3576147b3848261498a565b5050505050565b6001600160a01b0383166147dc576147d9601061448e613952846143c6565b50505b6001600160a01b0382166147fe576147fb60106143ba613952846143c6565b50505b6001600160a01b038381166000908152600e6020526040808220548584168352912054610a0d929182169116836138f2565b6000806144818585856149ce565b6000600161484b84611628565b61485591906152a9565b6000838152600760205260409020549091508082146148a8576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906148ed906001906152a9565b6000838152600960205260408120546008805493945090928490811061491557614915615210565b90600052602060002001549050806008838154811061493657614936615210565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061496e5761496e6154a4565b6001900381819060005260206000200160009055905550505050565b600061499583611628565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b825460009081908015614b1e5760006149ec87612dc46001856152a9565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b031660208401529192509087161015614a6e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b6579730000000000604482015260640161096c565b8563ffffffff16816000015163ffffffff161415614abe5784614a9688612dc46001866152a9565b80546001600160e01b03929092166401000000000263ffffffff909216919091179055614b0e565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506144869050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081614486565b828054614b84906151be565b90600052602060002090601f016020900481019282614ba65760008555614bec565b82601f10614bbf57805160ff1916838001178555614bec565b82800160010185558215614bec579182015b82811115614bec578251825591602001919060010190614bd1565b50612d3e9291505b80821115612d3e5760008155600101614bf4565b6001600160e01b0319811681146122eb57600080fd5b600060208284031215614c3057600080fd5b8135611bf181614c08565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614c7a57614c7a614c3b565b604052919050565b600067ffffffffffffffff831115614c9c57614c9c614c3b565b614caf601f8401601f1916602001614c51565b9050828152838383011115614cc357600080fd5b828260208301376000602084830101529392505050565b600082601f830112614ceb57600080fd5b611bf183833560208501614c82565b600060208284031215614d0c57600080fd5b813567ffffffffffffffff811115614d2357600080fd5b61285284828501614cda565b60005b83811015614d4a578181015183820152602001614d32565b83811115611a555750506000910152565b60008151808452614d73816020860160208601614d2f565b601f01601f19169290920160200192915050565b602081526000611bf16020830184614d5b565b600060208284031215614dac57600080fd5b5035919050565b80356001600160a01b0381168114614dca57600080fd5b919050565b60008060408385031215614de257600080fd5b614deb83614db3565b946020939093013593505050565b600080600060608486031215614e0e57600080fd5b614e1784614db3565b9250614e2560208501614db3565b9150604084013590509250925092565b60008060408385031215614e4857600080fd5b82359150602083013567ffffffffffffffff811115614e6657600080fd5b614e7285828601614cda565b9150509250929050565b60008060408385031215614e8f57600080fd5b82359150614e9f60208401614db3565b90509250929050565b600060208284031215614eba57600080fd5b611bf182614db3565b602081526001600160a01b038251166020820152600060208301516040808401526128526060840182614d5b565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152614f2d60e084018a614d5b565b8381036040850152614f3f818a614d5b565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015614f9157835183529284019291840191600101614f75565b50909c9b505050505050505050505050565b80151581146122eb57600080fd5b60008060408385031215614fc457600080fd5b614fcd83614db3565b91506020830135614fdd81614fa3565b809150509250929050565b60008060008060808587031215614ffe57600080fd5b61500785614db3565b935061501560208601614db3565b925060408501359150606085013567ffffffffffffffff81111561503857600080fd5b8501601f8101871361504957600080fd5b61505887823560208401614c82565b91505092959194509250565b60008060008060008060c0878903121561507d57600080fd5b61508687614db3565b95506020870135945060408701359350606087013560ff811681146150aa57600080fd5b9598949750929560808101359460a0909101359350915050565b600080604083850312156150d757600080fd5b6150e083614db3565b9150614e9f60208401614db3565b6000806040838503121561510157600080fd5b82356150e081614fa3565b6000602080838503121561511f57600080fd5b823567ffffffffffffffff8082111561513757600080fd5b818501915085601f83011261514b57600080fd5b81358181111561515d5761515d614c3b565b8060051b915061516e848301614c51565b818152918301840191848101908884111561518857600080fd5b938501935b838510156151b257843592506151a283614fa3565b828252938501939085019061518d565b98975050505050505050565b600181811c908216806151d257607f821691505b6020821081141561355f57634e487b7160e01b600052602260045260246000fd5b60006020828403121561520557600080fd5b8151611bf181614fa3565b634e487b7160e01b600052603260045260246000fd5b60008251615238818460208701614d2f565b9190910192915050565b60008351615254818460208801614d2f565b835190830190615268818360208801614d2f565b01949350505050565b6001600160a01b03831681526040602082015260006128526040830184614d5b565b634e487b7160e01b600052601160045260246000fd5b6000828210156152bb576152bb615293565b500390565b600082198211156152d3576152d3615293565b500190565b634e487b7160e01b600052601260045260246000fd5b8051602080830151919081101561355f5760001960209190910360031b1b16919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161534a816017850160208801614d2f565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351615387816028840160208801614d2f565b01602801949350505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526153c56080830184614d5b565b9695505050505050565b6000602082840312156153e157600080fd5b8151611bf181614c08565b634e487b7160e01b600052602160045260246000fd5b600081600019048311821515161561541c5761541c615293565b500290565b60008161543057615430615293565b506000190190565b60008261545557634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160e01b038381169083168181101561547a5761547a615293565b039392505050565b60006001600160e01b0380831681851680830382111561526857615268615293565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a50dc416a8fbfd47dc20dc48051c3ab4189ae564113d6dac776129aa4b0f793264736f6c63430008080033