VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x85A495…6cDa
Summary
Transactions
Transfers
Address
0x85A495597DFD65397a6C74C1883E5Cd892A06cDa
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xF325E56f51153b14a0f873802CC477b10335Af75
Deployer
0xF325E56f51153b14a0f873802CC477b10335Af75
Code
0x6080604052600436106103385760003560e01c8063715018a6116101b0578063c01f9e37116100ec578063ea0217cf11610095578063f23a6e611161006f578063f23a6e6114610afa578063f2fde38b14610b3f578063f8ce560a14610b5f578063fc0c546a14610b7f57600080fd5b8063ea0217cf14610a9a578063eb9019d414610aba578063ece40cc114610ada57600080fd5b8063d33219b4116100c6578063d33219b414610a02578063dd4e2ba514610a20578063deaaa7cc14610a6657600080fd5b8063c01f9e3714610995578063c28bc2fa146109cf578063c59057e4146109e257600080fd5b806397c3d33411610159578063a890c91011610133578063a890c910146108fb578063ab58fb8e1461091b578063b58131b01461093b578063bc197c811461095057600080fd5b806397c3d334146108b25780639a802a6d146108c6578063a7713a70146108e657600080fd5b806384b0196e1161018a57806384b0196e146108405780638da5cb5b1461086857806391ddadf41461088657600080fd5b8063715018a6146107eb5780637b3c71d3146108005780637d5e81e21461082057600080fd5b80633932abb11161027f578063544ffc9c116102285780635aa33bc4116102025780635aa33bc41461076b5780635f398a141461078b57806360c4247f146107ab57806370b0f660146107cb57600080fd5b8063544ffc9c146106b057806354fd4d5014610705578063567813881461074b57600080fd5b806343859632116102595780634385963214610631578063452115d61461067b5780634bf5d7e91461069b57600080fd5b80633932abb1146105cf5780633bccf4fd146105e45780633e4f49e61461060457600080fd5b8063143489d0116102e15780632656227d116102bb5780632656227d146105515780632d63f693146105645780632fe3e2611461059b57600080fd5b8063143489d01461047a578063150b7a02146104d4578063160cbed71461053157600080fd5b806306f3f9e61161031257806306f3f9e61461042057806306fdde03146104405780630e1d2ec81461046257600080fd5b806301ffc9a7146103a857806302a251a3146103dd578063034201811461040057600080fd5b366103a35730610346610bb3565b6001600160a01b0316146103a15760405162461bcd60e51b815260206004820152601f60248201527f476f7665726e6f723a206d7573742073656e6420746f206578656375746f720060448201526064015b60405180910390fd5b005b600080fd5b3480156103b457600080fd5b506103c86103c33660046144ca565b610bcc565b60405190151581526020015b60405180910390f35b3480156103e957600080fd5b506103f2610bdd565b6040519081526020016103d4565b34801561040c57600080fd5b506103f261041b36600461461b565b610be8565b34801561042c57600080fd5b506103a161043b3660046146c2565b610ce0565b34801561044c57600080fd5b50610455610d9f565b6040516103d49190614737565b34801561046e57600080fd5b50600f5460ff166103c8565b34801561048657600080fd5b506104bc6104953660046146c2565b6000908152600460205260409020546801000000000000000090046001600160a01b031690565b6040516001600160a01b0390911681526020016103d4565b3480156104e057600080fd5b506105186104ef36600461475f565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016103d4565b34801561053d57600080fd5b506103f261054c366004614939565b610e31565b6103f261055f366004614939565b6110d5565b34801561057057600080fd5b506103f261057f3660046146c2565b60009081526004602052604090205467ffffffffffffffff1690565b3480156105a757600080fd5b506103f27fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b3480156105db57600080fd5b506103f2611201565b3480156105f057600080fd5b506103f26105ff3660046149c9565b61120c565b34801561061057600080fd5b5061062461061f3660046146c2565b611282565b6040516103d49190614a2d565b34801561063d57600080fd5b506103c861064c366004614a55565b6000828152600a602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b34801561068757600080fd5b506103f2610696366004614939565b61128d565b3480156106a757600080fd5b506104556113be565b3480156106bc57600080fd5b506106ea6106cb3660046146c2565b6000908152600a60205260409020805460018201546002909201549092565b604080519384526020840192909252908201526060016103d4565b34801561071157600080fd5b5060408051808201909152600181527f31000000000000000000000000000000000000000000000000000000000000006020820152610455565b34801561075757600080fd5b506103f2610766366004614a85565b61148f565b34801561077757600080fd5b506103a1610786366004614abf565b6114b8565b34801561079757600080fd5b506103f26107a6366004614adc565b611505565b3480156107b757600080fd5b506103f26107c63660046146c2565b61154f565b3480156107d757600080fd5b506103a16107e63660046146c2565b6115ff565b3480156107f757600080fd5b506103a1611680565b34801561080c57600080fd5b506103f261081b366004614b60565b611694565b34801561082c57600080fd5b506103f261083b366004614bba565b6116dc565b34801561084c57600080fd5b506108556116f3565b6040516103d49796959493929190614caa565b34801561087457600080fd5b506000546001600160a01b03166104bc565b34801561089257600080fd5b5061089b611798565b60405165ffffffffffff90911681526020016103d4565b3480156108be57600080fd5b5060646103f2565b3480156108d257600080fd5b506103f26108e1366004614d26565b611830565b3480156108f257600080fd5b506103f2611847565b34801561090757600080fd5b506103a1610916366004614d7f565b611871565b34801561092757600080fd5b506103f26109363660046146c2565b61192d565b34801561094757600080fd5b506103f26119ef565b34801561095c57600080fd5b5061051861096b366004614d9c565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b3480156109a157600080fd5b506103f26109b03660046146c2565b60009081526004602052604090206001015467ffffffffffffffff1690565b6103a16109dd366004614e30565b6119fa565b3480156109ee57600080fd5b506103f26109fd366004614939565b611b3e565b348015610a0e57600080fd5b50600d546001600160a01b03166104bc565b348015610a2c57600080fd5b506040805180820190915260208082527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e90820152610455565b348015610a7257600080fd5b506103f27f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b348015610aa657600080fd5b506103a1610ab53660046146c2565b611b78565b348015610ac657600080fd5b506103f2610ad5366004614e74565b611bf9565b348015610ae657600080fd5b506103a1610af53660046146c2565b611c1a565b348015610b0657600080fd5b50610518610b15366004614ea0565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b348015610b4b57600080fd5b506103a1610b5a366004614d7f565b611c9b565b348015610b6b57600080fd5b506103f2610b7a3660046146c2565b611d28565b348015610b8b57600080fd5b506104bc7f00000000000000000000000038ab5240266b91cfc40fdc0dd16646043a1d04c581565b6000610bc7600d546001600160a01b031690565b905090565b6000610bd782611fa1565b92915050565b6000610bc760085490565b600080610c8c610c847fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c604051610c24929190614f09565b60405180910390208b80519060200120604051602001610c69959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120611fdf565b868686612027565b9050610cd28a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d9250612045915050565b9a9950505050505050505050565b610ce8610bb3565b6001600160a01b0316336001600160a01b031614610d485760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610398565b30610d51610bb3565b6001600160a01b031614610d935760008036604051610d71929190614f09565b604051809103902090505b80610d8760056121b2565b14610d9157610d7c565b505b610d9c81612262565b50565b606060038054610dae90614f19565b80601f0160208091040260200160405190810160405280929190818152602001828054610dda90614f19565b8015610e275780601f10610dfc57610100808354040283529160200191610e27565b820191906000526020600020905b815481529060010190602001808311610e0a57829003601f168201915b5050505050905090565b600080610e4086868686611b3e565b90506004610e4d82611282565b6007811115610e5e57610e5e614a17565b14610eb55760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756044820152601b60fa1b6064820152608401610398565b600d54604080517ff27a0c9200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163f27a0c92916004808301926020929190829003018186803b158015610f1357600080fd5b505afa158015610f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4b9190614f54565b600d546040517fb1c5f4270000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063b1c5f42790610f9e908a908a908a906000908b90600401614ffb565b60206040518083038186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190614f54565b6000838152600e602052604080822092909255600d5491517f8f2a0bb00000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691638f2a0bb091611052918b918b918b91908b908990600401615049565b600060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050507f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda28928282426110b291906150b7565b604080519283526020830191909152015b60405180910390a15095945050505050565b6000806110e486868686611b3e565b905060006110f182611282565b9050600481600781111561110757611107614a17565b14806111245750600581600781111561112257611122614a17565b145b61117a5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756044820152601b60fa1b6064820152608401610398565b60008281526004602052604090819020600201805460ff19166001179055517f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f906111c89084815260200190565b60405180910390a16111dd82888888886123eb565b6111ea828888888861248e565b6111f7828888888861249b565b5095945050505050565b6000610bc760075490565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff85166060820152600090819061125a90610c8490608001610c69565b9050611277878288604051806020016040528060008152506124d4565b979650505050505050565b6000610bd7826124f7565b60008061129c86868686611b3e565b905060006112a982611282565b60078111156112ba576112ba614a17565b146113075760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e6f723a20746f6f206c61746520746f2063616e63656c000000006044820152606401610398565b6000818152600460205260409020546801000000000000000090046001600160a01b0316336001600160a01b0316146113a85760405162461bcd60e51b815260206004820152602260248201527f476f7665726e6f723a206f6e6c792070726f706f7365722063616e2063616e6360448201527f656c0000000000000000000000000000000000000000000000000000000000006064820152608401610398565b6113b486868686612691565b9695505050505050565b60607f00000000000000000000000038ab5240266b91cfc40fdc0dd16646043a1d04c56001600160a01b0316634bf5d7e96040518163ffffffff1660e01b815260040160006040518083038186803b15801561141957600080fd5b505afa92505050801561144e57506040513d6000823e601f3d908101601f1916820160405261144b91908101906150cf565b60015b61148a575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b6000803390506114b0848285604051806020016040528060008152506124d4565b949350505050565b6114c061269f565b600f805460ff191682151590811790915560405160ff9091161515907ff62ce1b199e18cea044d080a644d57fdc29116490765888bc4e43fa1c7ac40d490600090a250565b60008033905061127787828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250612045915050565b600c5460009080611564575050600b54919050565b6000600c61157360018461513d565b8154811061158357611583615154565b60009182526020918290206040805180820190915291015463ffffffff81168083526401000000009091046001600160e01b031692820192909252915084106115da57602001516001600160e01b03169392505050565b6115ee6115e685611e4d565b600c906126f9565b6001600160e01b0316949350505050565b600f5460ff166116775760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e6f7253657474696e67733a20766f74696e6744656c617920697360448201527f206e6f7420757064617461626c650000000000000000000000000000000000006064820152608401610398565b610d9c8161279f565b61168861269f565b611692600061285b565b565b6000803390506113b486828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506124d492505050565b60006116ea858585856128e8565b95945050505050565b6000606080828080836117277f4a757374486f6c6449740000000000000000000000000000000000000000000a6001612d7e565b6117527f31000000000000000000000000000000000000000000000000000000000000016002612d7e565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60007f00000000000000000000000038ab5240266b91cfc40fdc0dd16646043a1d04c56001600160a01b03166391ddadf46040518163ffffffff1660e01b815260040160206040518083038186803b1580156117f357600080fd5b505afa925050508015611823575060408051601f3d908101601f191682019092526118209181019061516a565b60015b61148a57610bc743611f23565b600061183d848484612e22565b90505b9392505050565b600c546000901561186a5761185c600c611ee4565b6001600160e01b0316905090565b50600b5490565b611879610bb3565b6001600160a01b0316336001600160a01b0316146118d95760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610398565b306118e2610bb3565b6001600160a01b0316146119245760008036604051611902929190614f09565b604051809103902090505b8061191860056121b2565b146119225761190d565b505b610d9c81612ee0565b600d546000828152600e60205260408082205490517fd45c44350000000000000000000000000000000000000000000000000000000081526004810191909152909182916001600160a01b039091169063d45c44359060240160206040518083038186803b15801561199e57600080fd5b505afa1580156119b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d69190614f54565b9050806001146119e65780611840565b60009392505050565b6000610bc760095490565b611a02610bb3565b6001600160a01b0316336001600160a01b031614611a625760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610398565b30611a6b610bb3565b6001600160a01b031614611aad5760008036604051611a8b929190614f09565b604051809103902090505b80611aa160056121b2565b14611aab57611a96565b505b600080856001600160a01b0316858585604051611acb929190614f09565b60006040518083038185875af1925050503d8060008114611b08576040519150601f19603f3d011682016040523d82523d6000602084013e611b0d565b606091505b5091509150611b3582826040518060600160405280602881526020016153d760289139612f56565b50505050505050565b600084848484604051602001611b579493929190615192565b60408051601f19818403018152919052805160209091012095945050505050565b600f5460ff16611bf05760405162461bcd60e51b815260206004820152602f60248201527f476f7665726e6f7253657474696e67733a20766f74696e67506572696f64206960448201527f73206e6f7420757064617461626c6500000000000000000000000000000000006064820152608401610398565b610d9c81612f6f565b60006118408383611c1560408051602081019091526000815290565b612e22565b600f5460ff16611c925760405162461bcd60e51b815260206004820152603460248201527f476f7665726e6f7253657474696e67733a2070726f706f73616c54687265736860448201527f6f6c64206973206e6f7420757064617461626c650000000000000000000000006064820152608401610398565b610d9c8161302b565b611ca361269f565b6001600160a01b038116611d1f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610398565b610d9c8161285b565b6000610bd7826130e7565b6000602083511015611d4f57611d48836131b9565b9050610bd7565b82828151611d60926020019061443a565b5060ff9050610bd7565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b90565b60006001600160e01b03821115611e495760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f32342062697473000000000000000000000000000000000000000000000000006064820152608401610398565b5090565b600063ffffffff821115611e495760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610398565b600080611ed7858585613210565b915091505b935093915050565b805460009080156119e657611f0c83611efe60018461513d565b600091825260209091200190565b5464010000000090046001600160e01b0316611840565b600065ffffffffffff821115611e495760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152608401610398565b60006001600160e01b031982167f6e665ced000000000000000000000000000000000000000000000000000000001480610bd75750610bd7826133ba565b6000610bd7611fec6134ec565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061203887878787613617565b915091506111f7816136db565b6000858152600460205260408120600161205e88611282565b600781111561206f5761206f614a17565b146120e25760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201527f69766500000000000000000000000000000000000000000000000000000000006064820152608401610398565b80546000906120fd90889067ffffffffffffffff1686612e22565b905061210c8888888488613844565b835161215e57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda48988848960405161215194939291906151dd565b60405180910390a2611277565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb8712898884898960405161219f959493929190615205565b60405180910390a2979650505050505050565b60006121cd8254600f81810b600160801b909204900b131590565b15612204576040517f3db2a12a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b508054600f0b6000818152600180840160205260408220805492905583547fffffffffffffffffffffffffffffffff000000000000000000000000000000001692016fffffffffffffffffffffffffffffffff169190911790915590565b60648111156122ff5760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e6160648201527f746f720000000000000000000000000000000000000000000000000000000000608482015260a401610398565b6000612309611847565b9050801580159061231a5750600c54155b1561237f576040805180820190915260008152600c906020810161233d84611dca565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b6123ac61239a61238d611798565b65ffffffffffff16611e4d565b6123a384611dca565b600c9190611ec9565b505060408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b306123f4610bb3565b6001600160a01b0316146124875760005b845181101561248557306001600160a01b031685828151811061242a5761242a615154565b60200260200101516001600160a01b031614156124755761247583828151811061245657612456615154565b60200260200101518051906020012060056139e190919063ffffffff16565b61247e8161524b565b9050612405565b505b5050505050565b6124878585858585613a26565b306124a4610bb3565b6001600160a01b03161461248757600554600f81810b600160801b909204900b1315612487576000600555612487565b60006116ea858585856124f260408051602081019091526000815290565b612045565b60008061250383613ab3565b9050600481600781111561251957612519614a17565b146125245792915050565b6000838152600e60205260409020548061253f575092915050565b600d546040517f2ab0f529000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0390911690632ab0f5299060240160206040518083038186803b15801561259c57600080fd5b505afa1580156125b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d49190615266565b156125e3575060079392505050565b600d546040517f584b153e000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b039091169063584b153e9060240160206040518083038186803b15801561264057600080fd5b505afa158015612654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126789190615266565b15612687575060059392505050565b5060029392505050565b60006116ea85858585613bf2565b6000546001600160a01b031633146116925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610398565b81546000908181600581111561275657600061271484613cbd565b61271e908561513d565b60008881526020902090915081015463ffffffff908116908716101561274657809150612754565b6127518160016150b7565b92505b505b600061276487878585613da2565b905080156127925761277b87611efe60018461513d565b5464010000000090046001600160e01b0316611277565b6000979650505050505050565b6127a7610bb3565b6001600160a01b0316336001600160a01b0316146128075760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610398565b30612810610bb3565b6001600160a01b0316146128525760008036604051612830929190614f09565b604051809103902090505b8061284660056121b2565b146128505761283b565b505b610d9c81613e00565b600f546040517f01378b580000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152610100909204909116906301378b5890604401600060405180830381600087803b1580156128c757600080fd5b505af11580156128db573d6000803e3d6000fd5b50505050610d9c81611d6a565b6000336128f58184613e41565b6129415760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73657220726573747269637465640000006044820152606401610398565b600061294b611798565b65ffffffffffff16905061295d6119ef565b61296c83610ad560018561513d565b10156129e05760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f77207060448201527f726f706f73616c207468726573686f6c640000000000000000000000000000006064820152608401610398565b60006129f58888888880519060200120611b3e565b90508651885114612a525760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746044820152600d60fb1b6064820152608401610398565b8551885114612aad5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746044820152600d60fb1b6064820152608401610398565b6000885111612afe5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606401610398565b60008181526004602052604090205467ffffffffffffffff1615612b8a5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c726561647920657869737460448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610398565b6000612b94611201565b612b9e90846150b7565b90506000612baa610bdd565b612bb490836150b7565b90506040518060e00160405280612bca84613f68565b67ffffffffffffffff1681526001600160a01b038716602082015260006040820152606001612bf883613f68565b67ffffffffffffffff9081168252600060208084018290526040808501839052606094850183905288835260048252918290208551815492870151878501519186166001600160e01b031990941693909317680100000000000000006001600160a01b039094168402176001600160e01b03167c010000000000000000000000000000000000000000000000000000000060e09290921c91909102178155938501516080860151908416921c0217600183015560a08301516002909201805460c09094015161ffff1990941692151561ff00191692909217610100931515939093029290921790558a517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e091859188918e918e91811115612d1b57612d1b61454e565b604051908082528060200260200182016040528015612d4e57816020015b6060815260200190600190039081612d395790505b508d88888f604051612d6899989796959493929190615283565b60405180910390a1509098975050505050505050565b606060ff8314612d9157611d4883613fe8565b818054612d9d90614f19565b80601f0160208091040260200160405190810160405280929190818152602001828054612dc990614f19565b8015612e165780601f10612deb57610100808354040283529160200191612e16565b820191906000526020600020905b815481529060010190602001808311612df957829003601f168201915b50505050509050610bd7565b6040517f3a46b1a80000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490526000917f00000000000000000000000038ab5240266b91cfc40fdc0dd16646043a1d04c590911690633a46b1a89060440160206040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614f54565b600d54604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60608315612f65575081611840565b6118408383614027565b612f77610bb3565b6001600160a01b0316336001600160a01b031614612fd75760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610398565b30612fe0610bb3565b6001600160a01b0316146130225760008036604051613000929190614f09565b604051809103902090505b8061301660056121b2565b146130205761300b565b505b610d9c81614051565b613033610bb3565b6001600160a01b0316336001600160a01b0316146130935760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610398565b3061309c610bb3565b6001600160a01b0316146130de57600080366040516130bc929190614f09565b604051809103902090505b806130d260056121b2565b146130dc576130c7565b505b610d9c81614108565b600060646130f48361154f565b6040517f8e539e8c000000000000000000000000000000000000000000000000000000008152600481018590527f00000000000000000000000038ab5240266b91cfc40fdc0dd16646043a1d04c56001600160a01b031690638e539e8c9060240160206040518083038186803b15801561316d57600080fd5b505afa158015613181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a59190614f54565b6131af919061535b565b610bd79190615390565b600080829050601f815111156131fd57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016103989190614737565b8051613208826153b2565b179392505050565b82546000908190801561336057600061322e87611efe60018561513d565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156132b05760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610398565b8563ffffffff16816000015163ffffffff16141561330057846132d888611efe60018661513d565b80546001600160e01b03929092166401000000000263ffffffff909216919091179055613350565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b602001519250839150611edc9050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081611edc565b60007f51159c06000000000000000000000000000000000000000000000000000000007fc6fba1f8000000000000000000000000000000000000000000000000000000007fbf26d897000000000000000000000000000000000000000000000000000000007f79dd796f000000000000000000000000000000000000000000000000000000006001600160e01b0319861682148061346457506001600160e01b0319868116908216145b8061347b57506001600160e01b0319868116908516145b806134af57506001600160e01b031986167f4e2312e000000000000000000000000000000000000000000000000000000000145b806113b457507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198716149695505050505050565b6000306001600160a01b037f00000000000000000000000085a495597dfd65397a6c74c1883e5cd892a06cda1614801561354557507f000000000b2bce3c70bc649a02749e8687721b09ed2e15997f466536b20bb12746145b1561356f57507f6b3c759b7664266744cf3958a8aa2452c1d33fb625b40b9d51135560271103ac90565b610bc7604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f356b9079196cf2f59c7dbcc37646b5b99fcf6ccf2a39e64b2b6afa2b8522c3f2918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561364e57506000905060036136d2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156136a2573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166136cb576000600192509250506136d2565b9150600090505b94509492505050565b60008160048111156136ef576136ef614a17565b14156136f85750565b600181600481111561370c5761370c614a17565b141561375a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610398565b600281600481111561376e5761376e614a17565b14156137bc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610398565b60038160048111156137d0576137d0614a17565b1415610d9c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610398565b6000858152600a602090815260408083206001600160a01b0388168452600381019092529091205460ff16156138e25760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72566f74696e6753696d706c653a20766f746520616c72656160448201527f64792063617374000000000000000000000000000000000000000000000000006064820152608401610398565b6001600160a01b03851660009081526003820160205260408120805460ff1916600117905560ff168460ff161415613933578281600001600082825461392891906150b7565b909155506124859050565b60ff841660011415613953578281600101600082825461392891906150b7565b60ff841660021415613973578281600201600082825461392891906150b7565b60405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72566f74696e6753696d706c653a20696e76616c696420766160448201527f6c756520666f7220656e756d20566f74655479706500000000000000000000006064820152608401610398565b8154600160801b90819004600f0b6000818152600180860160205260409091209390935583546fffffffffffffffffffffffffffffffff908116939091011602179055565b600d546040517fe38335e50000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e38335e5903490613a7a908890889088906000908990600401614ffb565b6000604051808303818588803b158015613a9357600080fd5b505af1158015613aa7573d6000803e3d6000fd5b50505050505050505050565b6000818152600460205260408120600281015460ff1615613ad75750600792915050565b6002810154610100900460ff1615613af25750600292915050565b60008381526004602052604090205467ffffffffffffffff1680613b585760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606401610398565b6000613b62611798565b65ffffffffffff169050808210613b7e57506000949350505050565b60008581526004602052604090206001015467ffffffffffffffff16818110613bad5750600195945050505050565b613bb686614149565b8015613bd557506000868152600a602052604090208054600190910154115b15613be65750600495945050505050565b50600395945050505050565b600080613c0186868686614196565b6000818152600e6020526040902054909150156116ea57600d546000828152600e6020526040908190205490517fc4d252f50000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163c4d252f591613c739160040190815260200190565b600060405180830381600087803b158015613c8d57600080fd5b505af1158015613ca1573d6000803e3d6000fd5b5050506000828152600e60205260408120555095945050505050565b600081613ccc57506000919050565b60006001613cd9846142a2565b901c6001901b90506001818481613cf257613cf261537a565b048201901c90506001818481613d0a57613d0a61537a565b048201901c90506001818481613d2257613d2261537a565b048201901c90506001818481613d3a57613d3a61537a565b048201901c90506001818481613d5257613d5261537a565b048201901c90506001818481613d6a57613d6a61537a565b048201901c90506001818481613d8257613d8261537a565b048201901c905061184081828581613d9c57613d9c61537a565b04614336565b60005b81831015613df8576000613db9848461434c565b60008781526020902090915063ffffffff86169082015463ffffffff161115613de457809250613df2565b613def8160016150b7565b93505b50613da5565b509392505050565b60075460408051918252602082018390527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600755565b80516000906034811015613e59576001915050610bd7565b828101601319015173ffffffffffffffffffffffffffffffffffffffff1981167f2370726f706f7365723d3078000000000000000000000000000000000000000014613eaa57600192505050610bd7565b600080613eb860288561513d565b90505b83811015613f4757600080613f07888481518110613edb57613edb615154565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016614367565b9150915081613f1f5760019650505050505050610bd7565b8060ff166004856001600160a01b0316901b179350505080613f409061524b565b9050613ebb565b50856001600160a01b0316816001600160a01b031614935050505092915050565b600067ffffffffffffffff821115611e495760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f34206269747300000000000000000000000000000000000000000000000000006064820152608401610398565b60606000613ff5836143f9565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b8151156140375781518083602001fd5b8060405162461bcd60e51b81526004016103989190614737565b600081116140c75760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f642060448201527f746f6f206c6f77000000000000000000000000000000000000000000000000006064820152608401610398565b60085460408051918252602082018390527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600855565b60095460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600955565b6000818152600a602052604081206002810154600182015461416b91906150b7565b60008481526004602052604090205461418d9067ffffffffffffffff16611d28565b11159392505050565b6000806141a586868686611b3e565b905060006141b282611282565b905060028160078111156141c8576141c8614a17565b141580156141e8575060068160078111156141e5576141e5614a17565b14155b80156142065750600781600781111561420357614203614a17565b14155b6142525760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73616c206e6f74206163746976650000006044820152606401610398565b60008281526004602052604090819020600201805461ff001916610100179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c906110c39084815260200190565b600080608083901c156142b757608092831c92015b604083901c156142c957604092831c92015b602083901c156142db57602092831c92015b601083901c156142ed57601092831c92015b600883901c156142ff57600892831c92015b600483901c1561431157600492831c92015b600283901c1561432357600292831c92015b600183901c15610bd75760010192915050565b60008183106143455781611840565b5090919050565b600061435b6002848418615390565b611840908484166150b7565b60008060f883901c602f811180156143825750603a8160ff16105b1561439757600194602f199091019350915050565b8060ff1660401080156143ad575060478160ff16105b156143c2576001946036199091019350915050565b8060ff1660601080156143d8575060678160ff16105b156143ed576001946056199091019350915050565b50600093849350915050565b600060ff8216601f811115610bd7576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82805461444690614f19565b90600052602060002090601f01602090048101928261446857600085556144ae565b82601f1061448157805160ff19168380011785556144ae565b828001600101855582156144ae579182015b828111156144ae578251825591602001919060010190614493565b50611e499291505b80821115611e4957600081556001016144b6565b6000602082840312156144dc57600080fd5b81356001600160e01b03198116811461184057600080fd5b803560ff8116811461148a57600080fd5b60008083601f84011261451757600080fd5b50813567ffffffffffffffff81111561452f57600080fd5b60208301915083602082850101111561454757600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561458d5761458d61454e565b604052919050565b600067ffffffffffffffff8211156145af576145af61454e565b50601f01601f191660200190565b60006145d06145cb84614595565b614564565b90508281528383830111156145e457600080fd5b828260208301376000602084830101529392505050565b600082601f83011261460c57600080fd5b611840838335602085016145bd565b60008060008060008060008060e0898b03121561463757600080fd5b8835975061464760208a016144f4565b9650604089013567ffffffffffffffff8082111561466457600080fd5b6146708c838d01614505565b909850965060608b013591508082111561468957600080fd5b506146968b828c016145fb565b9450506146a560808a016144f4565b925060a0890135915060c089013590509295985092959890939650565b6000602082840312156146d457600080fd5b5035919050565b60005b838110156146f65781810151838201526020016146de565b83811115614705576000848401525b50505050565b600081518084526147238160208601602086016146db565b601f01601f19169290920160200192915050565b602081526000611840602083018461470b565b6001600160a01b0381168114610d9c57600080fd5b6000806000806080858703121561477557600080fd5b84356147808161474a565b935060208501356147908161474a565b925060408501359150606085013567ffffffffffffffff8111156147b357600080fd5b6147bf878288016145fb565b91505092959194509250565b600067ffffffffffffffff8211156147e5576147e561454e565b5060051b60200190565b600082601f83011261480057600080fd5b813560206148106145cb836147cb565b82815260059290921b8401810191818101908684111561482f57600080fd5b8286015b848110156148535780356148468161474a565b8352918301918301614833565b509695505050505050565b600082601f83011261486f57600080fd5b8135602061487f6145cb836147cb565b82815260059290921b8401810191818101908684111561489e57600080fd5b8286015b8481101561485357803583529183019183016148a2565b600082601f8301126148ca57600080fd5b813560206148da6145cb836147cb565b82815260059290921b840181019181810190868411156148f957600080fd5b8286015b8481101561485357803567ffffffffffffffff81111561491d5760008081fd5b61492b8986838b01016145fb565b8452509183019183016148fd565b6000806000806080858703121561494f57600080fd5b843567ffffffffffffffff8082111561496757600080fd5b614973888389016147ef565b9550602087013591508082111561498957600080fd5b6149958883890161485e565b945060408701359150808211156149ab57600080fd5b506149b8878288016148b9565b949793965093946060013593505050565b600080600080600060a086880312156149e157600080fd5b853594506149f1602087016144f4565b93506149ff604087016144f4565b94979396509394606081013594506080013592915050565b634e487b7160e01b600052602160045260246000fd5b6020810160088310614a4f57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215614a6857600080fd5b823591506020830135614a7a8161474a565b809150509250929050565b60008060408385031215614a9857600080fd5b82359150614aa8602084016144f4565b90509250929050565b8015158114610d9c57600080fd5b600060208284031215614ad157600080fd5b813561184081614ab1565b600080600080600060808688031215614af457600080fd5b85359450614b04602087016144f4565b9350604086013567ffffffffffffffff80821115614b2157600080fd5b614b2d89838a01614505565b90955093506060880135915080821115614b4657600080fd5b50614b53888289016145fb565b9150509295509295909350565b60008060008060608587031215614b7657600080fd5b84359350614b86602086016144f4565b9250604085013567ffffffffffffffff811115614ba257600080fd5b614bae87828801614505565b95989497509550505050565b60008060008060808587031215614bd057600080fd5b843567ffffffffffffffff80821115614be857600080fd5b614bf4888389016147ef565b95506020870135915080821115614c0a57600080fd5b614c168883890161485e565b94506040870135915080821115614c2c57600080fd5b614c38888389016148b9565b93506060870135915080821115614c4e57600080fd5b508501601f81018713614c6057600080fd5b6147bf878235602084016145bd565b600081518084526020808501945080840160005b83811015614c9f57815187529582019590820190600101614c83565b509495945050505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201526000614ce560e083018961470b565b8281036040840152614cf7818961470b565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152610cd28185614c6f565b600080600060608486031215614d3b57600080fd5b8335614d468161474a565b925060208401359150604084013567ffffffffffffffff811115614d6957600080fd5b614d75868287016145fb565b9150509250925092565b600060208284031215614d9157600080fd5b81356118408161474a565b600080600080600060a08688031215614db457600080fd5b8535614dbf8161474a565b94506020860135614dcf8161474a565b9350604086013567ffffffffffffffff80821115614dec57600080fd5b614df889838a0161485e565b94506060880135915080821115614e0e57600080fd5b614e1a89838a0161485e565b93506080880135915080821115614b4657600080fd5b60008060008060608587031215614e4657600080fd5b8435614e518161474a565b935060208501359250604085013567ffffffffffffffff811115614ba257600080fd5b60008060408385031215614e8757600080fd5b8235614e928161474a565b946020939093013593505050565b600080600080600060a08688031215614eb857600080fd5b8535614ec38161474a565b94506020860135614ed38161474a565b93506040860135925060608601359150608086013567ffffffffffffffff811115614efd57600080fd5b614b53888289016145fb565b8183823760009101908152919050565b600181811c90821680614f2d57607f821691505b60208210811415614f4e57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614f6657600080fd5b5051919050565b600081518084526020808501945080840160005b83811015614c9f5781516001600160a01b031687529582019590820190600101614f81565b600081518084526020808501808196508360051b8101915082860160005b85811015614fee578284038952614fdc84835161470b565b98850198935090840190600101614fc4565b5091979650505050505050565b60a08152600061500e60a0830188614f6d565b82810360208401526150208188614c6f565b905082810360408401526150348187614fa6565b60608401959095525050608001529392505050565b60c08152600061505c60c0830189614f6d565b828103602084015261506e8189614c6f565b905082810360408401526150828188614fa6565b60608401969096525050608081019290925260a0909101529392505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156150ca576150ca6150a1565b500190565b6000602082840312156150e157600080fd5b815167ffffffffffffffff8111156150f857600080fd5b8201601f8101841361510957600080fd5b80516151176145cb82614595565b81815285602083850101111561512c57600080fd5b6116ea8260208301602086016146db565b60008282101561514f5761514f6150a1565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561517c57600080fd5b815165ffffffffffff8116811461184057600080fd5b6080815260006151a56080830187614f6d565b82810360208401526151b78187614c6f565b905082810360408401526151cb8186614fa6565b91505082606083015295945050505050565b84815260ff841660208201528260408201526080606082015260006113b4608083018461470b565b85815260ff8516602082015283604082015260a06060820152600061522d60a083018561470b565b828103608084015261523f818561470b565b98975050505050505050565b600060001982141561525f5761525f6150a1565b5060010190565b60006020828403121561527857600080fd5b815161184081614ab1565b60006101208b835260206001600160a01b038c16818501528160408501526152ad8285018c614f6d565b915083820360608501526152c1828b614c6f565b915083820360808501528189518084528284019150828160051b850101838c0160005b8381101561531257601f1987840301855261530083835161470b565b948601949250908501906001016152e4565b505086810360a0880152615326818c614fa6565b9450505050508560c08401528460e084015282810361010084015261534b818561470b565b9c9b505050505050505050505050565b6000816000190483118215151615615375576153756150a1565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826153ad57634e487b7160e01b600052601260045260246000fd5b500490565b80516020808301519190811015614f4e5760001960209190910360031b1b1691905056fe476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765a2646970667358221220a6f1840c553def965dcbc624113b5e277942acbce4c2dcb31b571daaa688308464736f6c63430008080033