token-icon

Kounotori

Token

Overview[ERC-20]

Max Total Supply
1,000,000,000,000,…
KTO
Holders
3+0.00%
Transfers
31,188

Profile Summary

Decimals
9

Market

Price
$0 @0.0 ETH+0.81%
Volume (24H)
$73
Circulating Market Cap
$0
If you are the owner of this contract, verify it.
Deployed ByteCode
0x6080604052600436106103855760003560e01c806364038409116101d1578063bcd96a2511610102578063de3a3b69116100a0578063f6540ec71161006f578063f6540ec714610b29578063fb78680d14610b3f578063fdb78c0e14610b5f578063fe575a8714610b9257600080fd5b8063de3a3b6914610ab4578063eafb5a3c14610ad4578063eb50e70e14610af4578063ee5d9c2d14610b1457600080fd5b8063c6a276c2116100dc578063c6a276c2146109fd578063cab5ebea14610a1d578063cf84770614610a3d578063dd62ed3e14610a6e57600080fd5b8063bcd96a251461097b578063c2fa418f1461099b578063c6831cd8146109cc57600080fd5b80638965b55d1161016f5780638da5cb5b116101495780638da5cb5b146108be57806395d89b4114610926578063a457c2d71461093b578063a9059cbb1461095b57600080fd5b80638965b55d146108dc5780638a63bd9b146108fc5780638a8c523c1461091157600080fd5b80637b45d431116101ab5780637b45d4311461080f57806380c581d11461086557806388f8202014610885578063893d20e8146108be57600080fd5b806364038409146107c457806370a08231146107da578063715018a6146107fa57600080fd5b8063313ce567116102b65780634fb2e45d1161025457806355dbc3691161022357806355dbc36914610736578063590ffdce1461074b5780635c24b0741461076b5780635cce86cd1461078b57600080fd5b80634fb2e45d1461069e5780634fbee193146106be57806350a8e016146106f757806355d8ece61461071657600080fd5b8063395093511161029057806339509351146106245780633f3cf56c14610644578063452ed4f1146106645780634ada218b1461068457600080fd5b8063313ce567146105c257806333251a0b146105e457806336fddb041461060457600080fd5b806318160ddd1161032357806323b872dd116102fd57806323b872dd14610542578063260039571461056257806329dd8798146105825780632d838119146105a257600080fd5b806318160ddd146104985780631b6afa2d146104b75780631e90afe31461052257600080fd5b8063092316021161035f5780630923160214610406578063095ea7b314610428578063122fea3b1461045857806313e461921461047857600080fd5b806303fd2a451461039157806306fdde03146103c45780630758d924146103e657600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a761dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103d057600080fd5b506103d9610bb2565b6040516103bb9190614b83565b3480156103f257600080fd5b50601a546103a7906001600160a01b031681565b34801561041257600080fd5b50610426610421366004614bd8565b610c44565b005b34801561043457600080fd5b50610448610443366004614c16565b610d68565b60405190151581526020016103bb565b34801561046457600080fd5b50601c546103a7906001600160a01b031681565b34801561048457600080fd5b50610426610493366004614c50565b610d7f565b3480156104a457600080fd5b506017545b6040519081526020016103bb565b3480156104c357600080fd5b506015546104f49061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103bb565b34801561052e57600080fd5b5061042661053d366004614c9b565b61113a565b34801561054e57600080fd5b5061044861055d366004614cde565b611270565b34801561056e57600080fd5b5061042661057d366004614d1f565b6112e8565b34801561058e57600080fd5b5061042661059d366004614d41565b6113ff565b3480156105ae57600080fd5b506104a96105bd366004614bd8565b6114e8565b3480156105ce57600080fd5b5060165460405160ff90911681526020016103bb565b3480156105f057600080fd5b506104266105ff366004614d9d565b61157f565b34801561061057600080fd5b5061042661061f366004614c50565b61161f565b34801561063057600080fd5b5061044861063f366004614c16565b611698565b34801561065057600080fd5b5061042661065f366004614d1f565b6116d4565b34801561067057600080fd5b50601b546103a7906001600160a01b031681565b34801561069057600080fd5b506026546104489060ff1681565b3480156106aa57600080fd5b506104266106b9366004614d9d565b6117eb565b3480156106ca57600080fd5b506104486106d9366004614d9d565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561070357600080fd5b5060265461044890610100900460ff1681565b34801561072257600080fd5b50610426610731366004614c9b565b611a47565b34801561074257600080fd5b506104a9611b7d565b34801561075757600080fd5b50610426610766366004614c50565b611bfb565b34801561077757600080fd5b50610426610786366004614d9d565b611c74565b34801561079757600080fd5b506104486107a6366004614d9d565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107d057600080fd5b506104a960215481565b3480156107e657600080fd5b506104a96107f5366004614d9d565b611d5a565b34801561080657600080fd5b50610426611db9565b34801561081b57600080fd5b506011546108409061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103bb565b34801561087157600080fd5b50610426610880366004614c50565b611e69565b34801561089157600080fd5b506104486108a0366004614d9d565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156108ca57600080fd5b506000546001600160a01b03166103a7565b3480156108e857600080fd5b506104266108f7366004614c9b565b612056565b34801561090857600080fd5b5061044861218c565b34801561091d57600080fd5b506104266121fb565b34801561093257600080fd5b506103d9612400565b34801561094757600080fd5b50610448610956366004614c16565b61240f565b34801561096757600080fd5b50610448610976366004614c16565b612446565b34801561098757600080fd5b50610426610996366004614dba565b61245d565b3480156109a757600080fd5b506013546108409061ffff808216916201000081048216916401000000009091041683565b3480156109d857600080fd5b506012546108409061ffff808216916201000081048216916401000000009091041683565b348015610a0957600080fd5b50610426610a18366004614d9d565b612558565b348015610a2957600080fd5b50610426610a38366004614ded565b6125f8565b348015610a4957600080fd5b506014546108409061ffff808216916201000081048216916401000000009091041683565b348015610a7a57600080fd5b506104a9610a89366004614e0a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610ac057600080fd5b50610426610acf366004614f27565b6126cb565b348015610ae057600080fd5b50610426610aef366004614d9d565b612ea8565b348015610b0057600080fd5b50610426610b0f366004614d9d565b613257565b348015610b2057600080fd5b506104266132d4565b348015610b3557600080fd5b506104a960235481565b348015610b4b57600080fd5b50610426610b5a366004614ff0565b6133b7565b348015610b6b57600080fd5b50601f54610448907501000000000000000000000000000000000000000000900460ff1681565b348015610b9e57600080fd5b50610448610bad366004614d9d565b613444565b6060600e8054610bc190615022565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed90615022565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b5050505050905090565b6000546001600160a01b03163314610c975760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b604b811015610ce85760405162461bcd60e51b815260206004820152600860248201527f546f6f206c6f772e0000000000000000000000000000000000000000000000006044820152606401610c8e565b6026546040517f0923160200000000000000000000000000000000000000000000000000000000815260048101839052620100009091046001600160a01b0316906309231602906024015b600060405180830381600087803b158015610d4d57600080fd5b505af1158015610d61573d6000803e3d6000fd5b5050505050565b6000610d753384846134d2565b5060015b92915050565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60018115151415610f0f576001600160a01b03821660009081526008602052604090205460ff1615610e415760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c7265616479206578636c756465642e000000006044820152606401610c8e565b6001600160a01b03821660009081526001602052604090205415610e9b576001600160a01b038216600090815260016020526040902054610e81906114e8565b6001600160a01b0383166000908152600260205260409020555b506001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b80611136576001600160a01b03821660009081526008602052604090205460ff16610f7c5760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920696e636c756465642e000000006044820152606401610c8e565b60095460011415610ff8576001600160a01b038216600090815260026020908152604080832083905560089091529020805460ff191690556009805480610fc557610fc5615076565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b60005b60095481101561113457826001600160a01b031660098281548110611022576110226150a5565b6000918252602090912001546001600160a01b03161415611122576009805461104d90600190615103565b8154811061105d5761105d6150a5565b600091825260209091200154600980546001600160a01b039092169183908110611089576110896150a5565b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039485161790559185168152600282526040808220829055600890925220805460ff1916905560098054806110ee576110ee615076565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055019055611134565b8061112c8161511a565b915050610ffb565b505b5050565b6000546001600160a01b031633146111885760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60155461ffff908116908416118015906111b2575060155461ffff62010000909104811690831611155b80156111d0575060155461ffff640100000000909104811690821611155b6111d957600080fd5b610d7a816111e78585615135565b6111f19190615135565b61ffff16111561120057600080fd5b6013805461ffff928316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff00009484166201000002949094167fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909116179390911692909217179055565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146112d5576001600160a01b0384166000908152600560209081526040808320338452909152812080548492906112cf908490615103565b90915550505b6112e08484846135df565b949350505050565b6000546001600160a01b031633146113365760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008183601754611347919061515b565b61135191906151a9565b90506103e860175461136391906151a9565b8110156113d85760405162461bcd60e51b815260206004820152603260248201527f4d61782057616c6c657420616d74206d7573742062652061626f766520302e3160448201527f25206f6620746f74616c20737570706c792e00000000000000000000000000006064820152608401610c8e565b6022819055600d5482906113ed90859061515b565b6113f791906151a9565b602355505050565b6000546001600160a01b0316331461144d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6026546040517f0109da690000000000000000000000000000000000000000000000000000000081528515156004820152841515602482015283151560448201528215156064820152620100009091046001600160a01b031690630109da6990608401600060405180830381600087803b1580156114ca57600080fd5b505af11580156114de573d6000803e3d6000fd5b5050505050505050565b60006018548211156115625760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e73000000000000000000000000000000000000000000006064820152608401610c8e565b600061156c613a91565b905061157881846151a9565b9392505050565b6000546001600160a01b031633146115cd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6026546040517f33251a0b0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015262010000909204909116906333251a0b90602401610d33565b6000546001600160a01b0316331461166d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610d759185906116cf9086906151bd565b6134d2565b6000546001600160a01b031633146117225760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008183601754611733919061515b565b61173d91906151a9565b90506103e860175461174f91906151a9565b8110156117c45760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3125206f6620746f74616c20737570706c792e0000000000000000006064820152608401610c8e565b6020819055600d5482906117d990859061515b565b6117e391906151a9565b602155505050565b6000546001600160a01b031633146118395760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6001600160a01b0381166118b55760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610c8e565b6001600160a01b03811661dead14156119365760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610c8e565b6000805461194f916001600160a01b0390911690611bfb565b61195a816001611bfb565b60265460ff161561197057611970816001610d7f565b600054601f546001600160a01b03908116911614156119b257601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b600080546119c8906001600160a01b0316611d5a565b11156119ef576000546119ed906001600160a01b0316826119e882611d5a565b6135df565b505b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314611a955760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60155461ffff90811690841611801590611abf575060155461ffff62010000909104811690831611155b8015611add575060155461ffff640100000000909104811690821611155b611ae657600080fd5b610d7a81611af48585615135565b611afe9190615135565b61ffff161115611b0d57600080fd5b6011805461ffff928316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff00009484166201000002949094167fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909116179390911692909217179055565b6000602660029054906101000a90046001600160a01b03166001600160a01b03166355dbc3696040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf691906151d5565b905090565b6000546001600160a01b03163314611c495760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611cc25760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b602654610100900460ff1615611d1a5760405162461bcd60e51b815260206004820152601860248201527f4c697175696469747920697320616c726561647920696e2e00000000000000006044820152606401610c8e565b602680546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6001600160a01b03811660009081526008602052604081205460ff1615611d9757506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610d79906114e8565b6000546001600160a01b03163314611e075760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008054611e20916001600160a01b0390911690611bfb565b6000805473ffffffffffffffffffffffffffffffffffffffff1916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314611eb75760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b80611f5f576001600160a01b03828116600081815260036020526040808220805460ff1916905560265490517f80c581d100000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152620100009004909116906380c581d190604401600060405180830381600087803b158015611f4357600080fd5b505af1158015611f57573d6000803e3d6000fd5b505050505050565b60045415611fc65762093a8060045442611f799190615103565b11611fc65760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74207365742061206e657720706169722074686973207765656b216044820152606401610c8e565b6001600160a01b0382811660008181526003602052604090819020805460ff1916600190811790915542600490815560265492517f80c581d1000000000000000000000000000000000000000000000000000000008152908101939093526024830152620100009004909116906380c581d190604401600060405180830381600087803b158015611f4357600080fd5b6000546001600160a01b031633146120a45760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60155461ffff908116908416118015906120ce575060155461ffff62010000909104811690831611155b80156120ec575060155461ffff640100000000909104811690821611155b6120f557600080fd5b610d7a816121038585615135565b61210d9190615135565b61ffff16111561211c57600080fd5b6012805461ffff928316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff00009484166201000002949094167fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909116179390911692909217179055565b600080546001600160a01b031633146121db5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b601a546121f59030906001600160a01b03166000196134d2565b50600190565b6000546001600160a01b031633146122495760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60265460ff161561229c5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610c8e565b602654610100900460ff166122f35760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610c8e565b6122fe306001610d7f565b601b54612315906001600160a01b03166001610d7f565b6026546201000090046001600160a01b031661235b57602680547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b602654601b546040517f4b38f1d40000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff42166044820152620100009092041690634b38f1d490606401600060405180830381600087803b1580156123df57600080fd5b505af19250505080156123f0575060015b506026805460ff19166001179055565b6060600f8054610bc190615022565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610d759185906116cf908690615103565b60006124533384846135df565b5060019392505050565b6000546001600160a01b031633146124ab5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6124b58183615135565b61ffff166064146125085760405162461bcd60e51b815260206004820152601360248201527f4d7573742061646420757020746f2031303025000000000000000000000000006044820152606401610c8e565b6014805461ffff838116620100000263ffffffff19909216908516171790556125318183615135565b6014805461ffff929092166401000000000265ffff00000000199092169190911790555050565b6000546001600160a01b031633146125a65760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6026546040517fc6a276c20000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152620100009092049091169063c6a276c290602401610d33565b6000546001600160a01b031633146126465760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b601f80548215157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff9091161790556040517f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906126c090831515815260200190565b60405180910390a150565b6000546001600160a01b031633146127195760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b602654760100000000000000000000000000000000000000000000900460ff16156127865760405162461bcd60e51b815260206004820152600160248201527f31000000000000000000000000000000000000000000000000000000000000006044820152606401610c8e565b60648351106127d75760405162461bcd60e51b815260206004820152600160248201527f32000000000000000000000000000000000000000000000000000000000000006044820152606401610c8e565b81518351146128285760405162461bcd60e51b815260206004820152600160248201527f33000000000000000000000000000000000000000000000000000000000000006044820152606401610c8e565b6040805180820190915260098082527f4b6f756e6f746f72690000000000000000000000000000000000000000000000602090920191825261286c91600e91614aea565b506040805180820190915260038082527f4b544f000000000000000000000000000000000000000000000000000000000060209092019182526128b191600f91614aea565b5066038d7ea4c68000600d556016805460ff191660091790556016546128db9060ff16600a6152d2565b600d546128e8919061515b565b60178190556128f9906000196152e1565b61290590600019615103565b601855601c54601a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169182179055604080517fc45a0155000000000000000000000000000000000000000000000000000000008152905163c45a0155916004808201926020929091908290030181865afa15801561298a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ae91906152f5565b6001600160a01b031663c9c65396601a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3391906152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015612a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612abb91906152f5565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790556000908152600360205260409020805460ff191660011790556017546002906103e8908190612b1790849061515b565b612b2191906151a9565b602055600d548190612b3490849061515b565b612b3e91906151a9565b6021555050601754603790612710908190612b5a90849061515b565b612b6491906151a9565b602255600d548190612b7790849061515b565b612b8191906151a9565b60235560175461271090612b9690600561515b565b612ba091906151a9565b6024556017546103e890612bb590600561515b565b612bbf91906151a9565b6025556026546201000090046001600160a01b0316612c0857602680547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b602680547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1676010000000000000000000000000000000000000000000017905560185460016000612c626000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055612c8e6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601754604051612cd591815260200190565b60405180910390a3601a54612cf79030906001600160a01b03166000196134d2565b60005b8551811015612d91576000868281518110612d1757612d176150a5565b6020908102919091010151601654909150600090612d399060ff16600a6152d2565b878481518110612d4b57612d4b6150a5565b6020026020010151612d5d919061515b565b9050612d7b612d746000546001600160a01b031690565b83836135df565b5050508080612d899061511a565b915050612cfa565b50612dbd612da76000546001600160a01b031690565b306119e86107f56000546001600160a01b031690565b50601a546001600160a01b031663f305d7194730612dda81611d5a565b600080612def6000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612e6f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e949190615312565b505050612e9f6121fb565b610d61836117eb565b6000546001600160a01b03163314612ef65760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5f91906152f5565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd091906152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015613033573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305791906152f5565b90506001600160a01b0381166131f557816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130c991906152f5565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313a91906152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561319f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131c391906152f5565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905561321e565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b601a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556111349030906000196134d2565b6000546001600160a01b031633146132a55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146133225760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b602654610100900460ff161561337a5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610c8e565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156133b4573d6000803e3d6000fd5b50565b6000546001600160a01b031633146134055760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b8284601754613414919061515b565b61341e91906151a9565b602455601754819061343190849061515b565b61343b91906151a9565b60255550505050565b6026546040517ffe575a870000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092620100009004169063fe575a8790602401602060405180830381865afa1580156134ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190615340565b6001600160a01b0383166135285760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610c8e565b6001600160a01b03821661357e5760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610c8e565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661365d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c8e565b6001600160a01b0383166136d95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c8e565b6000821161374f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610c8e565b6137598484613c22565b156139965760265460ff166137b05760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610c8e565b6001600160a01b03841660009081526003602052604090205460ff16806137ef57506001600160a01b03831660009081526003602052604090205460ff165b156138af576001600160a01b03831660009081526007602052604090205460ff168061383357506001600160a01b03841660009081526007602052604090205460ff165b6138af576020548211156138af5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785460448201527f78416d6f756e742e0000000000000000000000000000000000000000000000006064820152608401610c8e565b601c546001600160a01b038481169116148015906138e657506001600160a01b03831660009081526003602052604090205460ff16155b15613996576001600160a01b03831660009081526007602052604090205460ff16613996576022548261391885611d5a565b61392291906151bd565b11156139965760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201527f616c6c657453697a652e000000000000000000000000000000000000000000006064820152608401610c8e565b6001600160a01b03841660009081526006602052604090205460019060ff16806139d857506001600160a01b03841660009081526006602052604090205460ff165b156139e1575060005b6001600160a01b03841660009081526003602052604090205460ff1615613a7c57601f5474010000000000000000000000000000000000000000900460ff16158015613a485750601f547501000000000000000000000000000000000000000000900460ff165b15613a7c576000613a5830611d5a565b90506024548110613a7a576025548110613a7157506025545b613a7a81613cdf565b505b613a88858585846140f4565b95945050505050565b60185460175460009190825b600954811015613be957826001600060098481548110613abf57613abf6150a5565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180613b2a5750816002600060098481548110613b0357613b036150a5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15613b4757601754601854613b3f91906151a9565b935050505090565b6001600060098381548110613b5e57613b5e6150a5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613b8d9084615103565b92506002600060098381548110613ba657613ba66150a5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613bd59083615103565b915080613be18161511a565b915050613a9d565b50601754601854613bfa91906151a9565b821015613c1857601754601854613c1191906151a9565b9250505090565b613c1181836151a9565b600080546001600160a01b03848116911614801590613c4f57506000546001600160a01b03838116911614155b8015613c7457506001600160a01b0382166000908152600c602052604090205460ff16155b8015613c9957506001600160a01b0383166000908152600c602052604090205460ff16155b8015613cb057506001600160a01b03821661dead14155b8015613cc457506001600160a01b03821615155b801561157857506001600160a01b0383163014159392505050565b601f80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905560145461ffff64010000000090910416613d37576140c9565b306000908152600560209081526040808320601a546001600160a01b0316845290915290205460001914613d9057306000908152600560209081526040808320601a546001600160a01b03168452909152902060001990555b60145460009060029061ffff6401000000008204811691613db291168561515b565b613dbc91906151a9565b613dc691906151a9565b90506000613dd48284615103565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110613e0e57613e0e6150a5565b6001600160a01b03928316602091820292909201810191909152601a54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015613e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ea491906152f5565b81600181518110613eb757613eb76150a5565b6001600160a01b039283166020918202929092010152601a546040517f791ac94700000000000000000000000000000000000000000000000000000000815291169063791ac94790613f1690859060009086903090429060040161535d565b600060405180830381600087803b158015613f3057600080fd5b505af1158015613f44573d6000803e3d6000fd5b5050601454600092506002915061ffff6401000000008204811691613f6a91164761515b565b613f7491906151a9565b613f7e91906151a9565b9050831561407757601a546040517ff305d71900000000000000000000000000000000000000000000000000000000815230600482015260248101869052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561400d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906140329190615312565b505060408051868152602081018490529081018690527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561915060600160405180910390a15b60006140838587615103565b11156140c457601f546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156140c2573d6000803e3d6000fd5b505b505050505b50601f80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b602654600090610100900460ff166141a05761411085856144a6565b602654610100900460ff1615801561412d575061412d8585613c22565b156141a05760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e7366657220617420746869732060448201527f74696d652e0000000000000000000000000000000000000000000000000000006064820152608401610c8e565b60006141ae868686866146b0565b60808101516001600160a01b0388166000908152600160205260409020549192506141d891615103565b6001600160a01b038088166000908152600160205260408082209390935560608401519188168152919091205461420f91906151bd565b6001600160a01b0380871660009081526001602090815260408083209490945591891681526008909152205460ff16801561426357506001600160a01b03851660009081526008602052604090205460ff16155b156142aa576001600160a01b03861660009081526002602052604090205461428c908590615103565b6001600160a01b0387166000908152600260205260409020556143ea565b6001600160a01b03861660009081526008602052604090205460ff161580156142eb57506001600160a01b03851660009081526008602052604090205460ff165b156143335780516001600160a01b03861660009081526002602052604090205461431591906151bd565b6001600160a01b0386166000908152600260205260409020556143ea565b6001600160a01b03861660009081526008602052604090205460ff16801561437357506001600160a01b03851660009081526008602052604090205460ff165b156143ea576001600160a01b03861660009081526002602052604090205461439c908590615103565b6001600160a01b03808816600090815260026020526040808220939093558351918816815291909120546143d091906151bd565b6001600160a01b0386166000908152600260205260409020555b60408101511561440257614402868260400151614a2a565b60008160a001511180614419575060008160200151115b1561443a578060a00151601860008282546144349190615103565b90915550505b80602001516019600082825461445091906151bd565b909155505080516040519081526001600160a01b0386811691908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600195945050505050565b602654610100900460ff16156145245760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152608401610c8e565b61452e8282613c22565b1580156145485750601b546001600160a01b038281169116145b15611136576001600160a01b0382163014156145a3576001600c60006145766000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556145c7565b6001600160a01b0382166000908152600c60205260409020805460ff191660011790555b602680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010017908190556201000090046001600160a01b031661463857602680547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b601f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6146e96040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6147226040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600061472c613a91565b9050614738818661515b565b60808301526147478787613c22565b156147fa576026546040517fecd07a530000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152888116602483015260448201889052600092620100009004169063ecd07a53906064016020604051808303816000875af19250505080156147e3575060408051601f3d908101601f191682019092526147e091810190615340565b60015b6147ec57600080fd5b9050806147f857600080fd5b505b83156149d4576001600160a01b03861660009081526003602052604090205460ff161561486b576012546010805461ffff80841663ffffffff1990921691909117620100008085048316021765ffff000000001916640100000000938490049190911690920291909117905561491c565b6001600160a01b03871660009081526003602052604090205460ff16156148d6576011546010805461ffff80841663ffffffff1990921691909117620100008085048316021765ffff000000001916640100000000938490049190911690920291909117905561491c565b6013546010805461ffff80841663ffffffff1990921691909117620100008085048316021765ffff00000000191664010000000093849004919091169092029190911790555b60155460105461ffff660100000000000090920482169161493e91168761515b565b61494891906151a9565b602083015260155460105461ffff66010000000000009092048216916149809164010000000081048216916201000090910416615135565b61498e9061ffff168761515b565b61499891906151a9565b6040830181905260208301516149ae91906151bd565b6149b89086615103565b825260208201516149ca90829061515b565b60a08301526149ed565b6000602083018190526040830181905285835260a08301525b8082604001516149fd919061515b565b8260a00151614a0c91906151bd565b8260800151614a1b9190615103565b60608301525095945050505050565b614a32613a91565b614a3c908261515b565b30600090815260016020526040902054614a5691906151bd565b3060009081526001602090815260408083209390935560089052205460ff1615614aa65730600090815260026020526040902054614a959082906151bd565b306000908152600260205260409020555b60405181815230906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054614af690615022565b90600052602060002090601f016020900481019282614b185760008555614b5e565b82601f10614b3157805160ff1916838001178555614b5e565b82800160010185558215614b5e579182015b82811115614b5e578251825591602001919060010190614b43565b50614b6a929150614b6e565b5090565b5b80821115614b6a5760008155600101614b6f565b600060208083528351808285015260005b81811015614bb057858101830151858201604001528201614b94565b81811115614bc2576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215614bea57600080fd5b5035919050565b6001600160a01b03811681146133b457600080fd5b8035614c1181614bf1565b919050565b60008060408385031215614c2957600080fd5b8235614c3481614bf1565b946020939093013593505050565b80151581146133b457600080fd5b60008060408385031215614c6357600080fd5b8235614c6e81614bf1565b91506020830135614c7e81614c42565b809150509250929050565b803561ffff81168114614c1157600080fd5b600080600060608486031215614cb057600080fd5b614cb984614c89565b9250614cc760208501614c89565b9150614cd560408501614c89565b90509250925092565b600080600060608486031215614cf357600080fd5b8335614cfe81614bf1565b92506020840135614d0e81614bf1565b929592945050506040919091013590565b60008060408385031215614d3257600080fd5b50508035926020909101359150565b60008060008060808587031215614d5757600080fd5b8435614d6281614c42565b93506020850135614d7281614c42565b92506040850135614d8281614c42565b91506060850135614d9281614c42565b939692955090935050565b600060208284031215614daf57600080fd5b813561157881614bf1565b60008060408385031215614dcd57600080fd5b614dd683614c89565b9150614de460208401614c89565b90509250929050565b600060208284031215614dff57600080fd5b813561157881614c42565b60008060408385031215614e1d57600080fd5b8235614e2881614bf1565b91506020830135614c7e81614bf1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614e9057614e90614e38565b604052919050565b600067ffffffffffffffff821115614eb257614eb2614e38565b5060051b60200190565b600082601f830112614ecd57600080fd5b81356020614ee2614edd83614e98565b614e67565b82815260059290921b84018101918181019086841115614f0157600080fd5b8286015b84811015614f1c5780358352918301918301614f05565b509695505050505050565b600080600060608486031215614f3c57600080fd5b833567ffffffffffffffff80821115614f5457600080fd5b818601915086601f830112614f6857600080fd5b81356020614f78614edd83614e98565b82815260059290921b8401810191818101908a841115614f9757600080fd5b948201945b83861015614fbe578535614faf81614bf1565b82529482019490820190614f9c565b97505087013592505080821115614fd457600080fd5b50614fe186828701614ebc565b925050614cd560408501614c06565b6000806000806080858703121561500657600080fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061503657607f821691505b60208210811415615070577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015615115576151156150d4565b500390565b600060001982141561512e5761512e6150d4565b5060010190565b600061ffff808316818516808303821115615152576151526150d4565b01949350505050565b6000816000190483118215151615615175576151756150d4565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826151b8576151b861517a565b500490565b600082198211156151d0576151d06150d4565b500190565b6000602082840312156151e757600080fd5b5051919050565b600181815b8085111561522957816000190482111561520f5761520f6150d4565b8085161561521c57918102915b93841c93908002906151f3565b509250929050565b60008261524057506001610d79565b8161524d57506000610d79565b8160018114615263576002811461526d57615289565b6001915050610d79565b60ff84111561527e5761527e6150d4565b50506001821b610d79565b5060208310610133831016604e8410600b84101617156152ac575081810a610d79565b6152b683836151ee565b80600019048211156152ca576152ca6150d4565b029392505050565b600061157860ff841683615231565b6000826152f0576152f061517a565b500690565b60006020828403121561530757600080fd5b815161157881614bf1565b60008060006060848603121561532757600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561535257600080fd5b815161157881614c42565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156153ad5784516001600160a01b031683529383019391830191600101615388565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220261c9e03edd57f6a59dc21f3ec0173677392e88fc347c89c2c21651aeb40c2a664736f6c634300080a0033
Creation ByteCode
0x60006004819055600a805460ff19166001179055608081905260a081905260c0526010805465ffffffffffff1990811690915561012c60e08190526101008190526101208190526011805465012c012c012c908416811791829055610140839052610160839052610180839052601280548516821790556101a08390526101c08390526101e0929092526013805490931690911790915561026060405262010000810461ffff90811661020081815264010000000090930490911661022081905261024091620000d091906200045b565b61ffff90811690915281516014805460208086015160409687015186166401000000000261ffff60201b19918716620100000263ffffffff199094169590961694909417919091179290921692909217909155815160808101835261032080825291810182905291820152612710606090910152601580546727100320032003206001600160401b0319909116179055601d80546001600160a01b03199081167310ed43c718714eb63d5aa57b78b54704e256024e17909155601e80548216737a250d5630b4cf539739df2c5dacb4c659f2488d179055601f8054600161ff0160a01b03191673990c36e0871857534a55f8f756cdecf360d59b081790556026805461ffff60ff60b01b011916905560008054909116331790556038461480620001fa5750466061145b156200022857601d54601c80546001600160a01b0319166001600160a01b0390921691909117905562000255565b46600114156200025557601e54601c80546001600160a01b0319166001600160a01b039092169190911790555b6200026f33601c546001600160a01b03166000196200035a565b601c546200028b9030906001600160a01b03166000196200035a565b600160066000620002a46000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252812080548316600190811790915561dead82527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280549093168117909255600c906200032c6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905562000490565b6001600160a01b038316620003ac5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620003fa5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401620003a3565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061ffff8083168185168083038211156200048757634e487b7160e01b600052601160045260246000fd5b01949350505050565b61540480620004a06000396000f3fe6080604052600436106103855760003560e01c806364038409116101d1578063bcd96a2511610102578063de3a3b69116100a0578063f6540ec71161006f578063f6540ec714610b29578063fb78680d14610b3f578063fdb78c0e14610b5f578063fe575a8714610b9257600080fd5b8063de3a3b6914610ab4578063eafb5a3c14610ad4578063eb50e70e14610af4578063ee5d9c2d14610b1457600080fd5b8063c6a276c2116100dc578063c6a276c2146109fd578063cab5ebea14610a1d578063cf84770614610a3d578063dd62ed3e14610a6e57600080fd5b8063bcd96a251461097b578063c2fa418f1461099b578063c6831cd8146109cc57600080fd5b80638965b55d1161016f5780638da5cb5b116101495780638da5cb5b146108be57806395d89b4114610926578063a457c2d71461093b578063a9059cbb1461095b57600080fd5b80638965b55d146108dc5780638a63bd9b146108fc5780638a8c523c1461091157600080fd5b80637b45d431116101ab5780637b45d4311461080f57806380c581d11461086557806388f8202014610885578063893d20e8146108be57600080fd5b806364038409146107c457806370a08231146107da578063715018a6146107fa57600080fd5b8063313ce567116102b65780634fb2e45d1161025457806355dbc3691161022357806355dbc36914610736578063590ffdce1461074b5780635c24b0741461076b5780635cce86cd1461078b57600080fd5b80634fb2e45d1461069e5780634fbee193146106be57806350a8e016146106f757806355d8ece61461071657600080fd5b8063395093511161029057806339509351146106245780633f3cf56c14610644578063452ed4f1146106645780634ada218b1461068457600080fd5b8063313ce567146105c257806333251a0b146105e457806336fddb041461060457600080fd5b806318160ddd1161032357806323b872dd116102fd57806323b872dd14610542578063260039571461056257806329dd8798146105825780632d838119146105a257600080fd5b806318160ddd146104985780631b6afa2d146104b75780631e90afe31461052257600080fd5b8063092316021161035f5780630923160214610406578063095ea7b314610428578063122fea3b1461045857806313e461921461047857600080fd5b806303fd2a451461039157806306fdde03146103c45780630758d924146103e657600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a761dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103d057600080fd5b506103d9610bb2565b6040516103bb9190614b83565b3480156103f257600080fd5b50601a546103a7906001600160a01b031681565b34801561041257600080fd5b50610426610421366004614bd8565b610c44565b005b34801561043457600080fd5b50610448610443366004614c16565b610d68565b60405190151581526020016103bb565b34801561046457600080fd5b50601c546103a7906001600160a01b031681565b34801561048457600080fd5b50610426610493366004614c50565b610d7f565b3480156104a457600080fd5b506017545b6040519081526020016103bb565b3480156104c357600080fd5b506015546104f49061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103bb565b34801561052e57600080fd5b5061042661053d366004614c9b565b61113a565b34801561054e57600080fd5b5061044861055d366004614cde565b611270565b34801561056e57600080fd5b5061042661057d366004614d1f565b6112e8565b34801561058e57600080fd5b5061042661059d366004614d41565b6113ff565b3480156105ae57600080fd5b506104a96105bd366004614bd8565b6114e8565b3480156105ce57600080fd5b5060165460405160ff90911681526020016103bb565b3480156105f057600080fd5b506104266105ff366004614d9d565b61157f565b34801561061057600080fd5b5061042661061f366004614c50565b61161f565b34801561063057600080fd5b5061044861063f366004614c16565b611698565b34801561065057600080fd5b5061042661065f366004614d1f565b6116d4565b34801561067057600080fd5b50601b546103a7906001600160a01b031681565b34801561069057600080fd5b506026546104489060ff1681565b3480156106aa57600080fd5b506104266106b9366004614d9d565b6117eb565b3480156106ca57600080fd5b506104486106d9366004614d9d565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561070357600080fd5b5060265461044890610100900460ff1681565b34801561072257600080fd5b50610426610731366004614c9b565b611a47565b34801561074257600080fd5b506104a9611b7d565b34801561075757600080fd5b50610426610766366004614c50565b611bfb565b34801561077757600080fd5b50610426610786366004614d9d565b611c74565b34801561079757600080fd5b506104486107a6366004614d9d565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107d057600080fd5b506104a960215481565b3480156107e657600080fd5b506104a96107f5366004614d9d565b611d5a565b34801561080657600080fd5b50610426611db9565b34801561081b57600080fd5b506011546108409061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103bb565b34801561087157600080fd5b50610426610880366004614c50565b611e69565b34801561089157600080fd5b506104486108a0366004614d9d565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156108ca57600080fd5b506000546001600160a01b03166103a7565b3480156108e857600080fd5b506104266108f7366004614c9b565b612056565b34801561090857600080fd5b5061044861218c565b34801561091d57600080fd5b506104266121fb565b34801561093257600080fd5b506103d9612400565b34801561094757600080fd5b50610448610956366004614c16565b61240f565b34801561096757600080fd5b50610448610976366004614c16565b612446565b34801561098757600080fd5b50610426610996366004614dba565b61245d565b3480156109a757600080fd5b506013546108409061ffff808216916201000081048216916401000000009091041683565b3480156109d857600080fd5b506012546108409061ffff808216916201000081048216916401000000009091041683565b348015610a0957600080fd5b50610426610a18366004614d9d565b612558565b348015610a2957600080fd5b50610426610a38366004614ded565b6125f8565b348015610a4957600080fd5b506014546108409061ffff808216916201000081048216916401000000009091041683565b348015610a7a57600080fd5b506104a9610a89366004614e0a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610ac057600080fd5b50610426610acf366004614f27565b6126cb565b348015610ae057600080fd5b50610426610aef366004614d9d565b612ea8565b348015610b0057600080fd5b50610426610b0f366004614d9d565b613257565b348015610b2057600080fd5b506104266132d4565b348015610b3557600080fd5b506104a960235481565b348015610b4b57600080fd5b50610426610b5a366004614ff0565b6133b7565b348015610b6b57600080fd5b50601f54610448907501000000000000000000000000000000000000000000900460ff1681565b348015610b9e57600080fd5b50610448610bad366004614d9d565b613444565b6060600e8054610bc190615022565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed90615022565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b5050505050905090565b6000546001600160a01b03163314610c975760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b604b811015610ce85760405162461bcd60e51b815260206004820152600860248201527f546f6f206c6f772e0000000000000000000000000000000000000000000000006044820152606401610c8e565b6026546040517f0923160200000000000000000000000000000000000000000000000000000000815260048101839052620100009091046001600160a01b0316906309231602906024015b600060405180830381600087803b158015610d4d57600080fd5b505af1158015610d61573d6000803e3d6000fd5b5050505050565b6000610d753384846134d2565b5060015b92915050565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60018115151415610f0f576001600160a01b03821660009081526008602052604090205460ff1615610e415760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c7265616479206578636c756465642e000000006044820152606401610c8e565b6001600160a01b03821660009081526001602052604090205415610e9b576001600160a01b038216600090815260016020526040902054610e81906114e8565b6001600160a01b0383166000908152600260205260409020555b506001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b80611136576001600160a01b03821660009081526008602052604090205460ff16610f7c5760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920696e636c756465642e000000006044820152606401610c8e565b60095460011415610ff8576001600160a01b038216600090815260026020908152604080832083905560089091529020805460ff191690556009805480610fc557610fc5615076565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b60005b60095481101561113457826001600160a01b031660098281548110611022576110226150a5565b6000918252602090912001546001600160a01b03161415611122576009805461104d90600190615103565b8154811061105d5761105d6150a5565b600091825260209091200154600980546001600160a01b039092169183908110611089576110896150a5565b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039485161790559185168152600282526040808220829055600890925220805460ff1916905560098054806110ee576110ee615076565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055019055611134565b8061112c8161511a565b915050610ffb565b505b5050565b6000546001600160a01b031633146111885760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60155461ffff908116908416118015906111b2575060155461ffff62010000909104811690831611155b80156111d0575060155461ffff640100000000909104811690821611155b6111d957600080fd5b610d7a816111e78585615135565b6111f19190615135565b61ffff16111561120057600080fd5b6013805461ffff928316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff00009484166201000002949094167fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909116179390911692909217179055565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146112d5576001600160a01b0384166000908152600560209081526040808320338452909152812080548492906112cf908490615103565b90915550505b6112e08484846135df565b949350505050565b6000546001600160a01b031633146113365760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008183601754611347919061515b565b61135191906151a9565b90506103e860175461136391906151a9565b8110156113d85760405162461bcd60e51b815260206004820152603260248201527f4d61782057616c6c657420616d74206d7573742062652061626f766520302e3160448201527f25206f6620746f74616c20737570706c792e00000000000000000000000000006064820152608401610c8e565b6022819055600d5482906113ed90859061515b565b6113f791906151a9565b602355505050565b6000546001600160a01b0316331461144d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6026546040517f0109da690000000000000000000000000000000000000000000000000000000081528515156004820152841515602482015283151560448201528215156064820152620100009091046001600160a01b031690630109da6990608401600060405180830381600087803b1580156114ca57600080fd5b505af11580156114de573d6000803e3d6000fd5b5050505050505050565b60006018548211156115625760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e73000000000000000000000000000000000000000000006064820152608401610c8e565b600061156c613a91565b905061157881846151a9565b9392505050565b6000546001600160a01b031633146115cd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6026546040517f33251a0b0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015262010000909204909116906333251a0b90602401610d33565b6000546001600160a01b0316331461166d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610d759185906116cf9086906151bd565b6134d2565b6000546001600160a01b031633146117225760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008183601754611733919061515b565b61173d91906151a9565b90506103e860175461174f91906151a9565b8110156117c45760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3125206f6620746f74616c20737570706c792e0000000000000000006064820152608401610c8e565b6020819055600d5482906117d990859061515b565b6117e391906151a9565b602155505050565b6000546001600160a01b031633146118395760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6001600160a01b0381166118b55760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610c8e565b6001600160a01b03811661dead14156119365760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610c8e565b6000805461194f916001600160a01b0390911690611bfb565b61195a816001611bfb565b60265460ff161561197057611970816001610d7f565b600054601f546001600160a01b03908116911614156119b257601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b600080546119c8906001600160a01b0316611d5a565b11156119ef576000546119ed906001600160a01b0316826119e882611d5a565b6135df565b505b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314611a955760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60155461ffff90811690841611801590611abf575060155461ffff62010000909104811690831611155b8015611add575060155461ffff640100000000909104811690821611155b611ae657600080fd5b610d7a81611af48585615135565b611afe9190615135565b61ffff161115611b0d57600080fd5b6011805461ffff928316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff00009484166201000002949094167fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909116179390911692909217179055565b6000602660029054906101000a90046001600160a01b03166001600160a01b03166355dbc3696040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf691906151d5565b905090565b6000546001600160a01b03163314611c495760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611cc25760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b602654610100900460ff1615611d1a5760405162461bcd60e51b815260206004820152601860248201527f4c697175696469747920697320616c726561647920696e2e00000000000000006044820152606401610c8e565b602680546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6001600160a01b03811660009081526008602052604081205460ff1615611d9757506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610d79906114e8565b6000546001600160a01b03163314611e075760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008054611e20916001600160a01b0390911690611bfb565b6000805473ffffffffffffffffffffffffffffffffffffffff1916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314611eb75760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b80611f5f576001600160a01b03828116600081815260036020526040808220805460ff1916905560265490517f80c581d100000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152620100009004909116906380c581d190604401600060405180830381600087803b158015611f4357600080fd5b505af1158015611f57573d6000803e3d6000fd5b505050505050565b60045415611fc65762093a8060045442611f799190615103565b11611fc65760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74207365742061206e657720706169722074686973207765656b216044820152606401610c8e565b6001600160a01b0382811660008181526003602052604090819020805460ff1916600190811790915542600490815560265492517f80c581d1000000000000000000000000000000000000000000000000000000008152908101939093526024830152620100009004909116906380c581d190604401600060405180830381600087803b158015611f4357600080fd5b6000546001600160a01b031633146120a45760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60155461ffff908116908416118015906120ce575060155461ffff62010000909104811690831611155b80156120ec575060155461ffff640100000000909104811690821611155b6120f557600080fd5b610d7a816121038585615135565b61210d9190615135565b61ffff16111561211c57600080fd5b6012805461ffff928316640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff00009484166201000002949094167fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909116179390911692909217179055565b600080546001600160a01b031633146121db5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b601a546121f59030906001600160a01b03166000196134d2565b50600190565b6000546001600160a01b031633146122495760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60265460ff161561229c5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610c8e565b602654610100900460ff166122f35760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610c8e565b6122fe306001610d7f565b601b54612315906001600160a01b03166001610d7f565b6026546201000090046001600160a01b031661235b57602680547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b602654601b546040517f4b38f1d40000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff42166044820152620100009092041690634b38f1d490606401600060405180830381600087803b1580156123df57600080fd5b505af19250505080156123f0575060015b506026805460ff19166001179055565b6060600f8054610bc190615022565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610d759185906116cf908690615103565b60006124533384846135df565b5060019392505050565b6000546001600160a01b031633146124ab5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6124b58183615135565b61ffff166064146125085760405162461bcd60e51b815260206004820152601360248201527f4d7573742061646420757020746f2031303025000000000000000000000000006044820152606401610c8e565b6014805461ffff838116620100000263ffffffff19909216908516171790556125318183615135565b6014805461ffff929092166401000000000265ffff00000000199092169190911790555050565b6000546001600160a01b031633146125a65760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b6026546040517fc6a276c20000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152620100009092049091169063c6a276c290602401610d33565b6000546001600160a01b031633146126465760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b601f80548215157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff9091161790556040517f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906126c090831515815260200190565b60405180910390a150565b6000546001600160a01b031633146127195760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b602654760100000000000000000000000000000000000000000000900460ff16156127865760405162461bcd60e51b815260206004820152600160248201527f31000000000000000000000000000000000000000000000000000000000000006044820152606401610c8e565b60648351106127d75760405162461bcd60e51b815260206004820152600160248201527f32000000000000000000000000000000000000000000000000000000000000006044820152606401610c8e565b81518351146128285760405162461bcd60e51b815260206004820152600160248201527f33000000000000000000000000000000000000000000000000000000000000006044820152606401610c8e565b6040805180820190915260098082527f4b6f756e6f746f72690000000000000000000000000000000000000000000000602090920191825261286c91600e91614aea565b506040805180820190915260038082527f4b544f000000000000000000000000000000000000000000000000000000000060209092019182526128b191600f91614aea565b5066038d7ea4c68000600d556016805460ff191660091790556016546128db9060ff16600a6152d2565b600d546128e8919061515b565b60178190556128f9906000196152e1565b61290590600019615103565b601855601c54601a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169182179055604080517fc45a0155000000000000000000000000000000000000000000000000000000008152905163c45a0155916004808201926020929091908290030181865afa15801561298a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ae91906152f5565b6001600160a01b031663c9c65396601a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3391906152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015612a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612abb91906152f5565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790556000908152600360205260409020805460ff191660011790556017546002906103e8908190612b1790849061515b565b612b2191906151a9565b602055600d548190612b3490849061515b565b612b3e91906151a9565b6021555050601754603790612710908190612b5a90849061515b565b612b6491906151a9565b602255600d548190612b7790849061515b565b612b8191906151a9565b60235560175461271090612b9690600561515b565b612ba091906151a9565b6024556017546103e890612bb590600561515b565b612bbf91906151a9565b6025556026546201000090046001600160a01b0316612c0857602680547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b602680547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1676010000000000000000000000000000000000000000000017905560185460016000612c626000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055612c8e6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601754604051612cd591815260200190565b60405180910390a3601a54612cf79030906001600160a01b03166000196134d2565b60005b8551811015612d91576000868281518110612d1757612d176150a5565b6020908102919091010151601654909150600090612d399060ff16600a6152d2565b878481518110612d4b57612d4b6150a5565b6020026020010151612d5d919061515b565b9050612d7b612d746000546001600160a01b031690565b83836135df565b5050508080612d899061511a565b915050612cfa565b50612dbd612da76000546001600160a01b031690565b306119e86107f56000546001600160a01b031690565b50601a546001600160a01b031663f305d7194730612dda81611d5a565b600080612def6000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612e6f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e949190615312565b505050612e9f6121fb565b610d61836117eb565b6000546001600160a01b03163314612ef65760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5f91906152f5565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd091906152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015613033573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305791906152f5565b90506001600160a01b0381166131f557816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130c991906152f5565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313a91906152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561319f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131c391906152f5565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905561321e565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b601a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556111349030906000196134d2565b6000546001600160a01b031633146132a55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146133225760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b602654610100900460ff161561337a5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610c8e565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156133b4573d6000803e3d6000fd5b50565b6000546001600160a01b031633146134055760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610c8e565b8284601754613414919061515b565b61341e91906151a9565b602455601754819061343190849061515b565b61343b91906151a9565b60255550505050565b6026546040517ffe575a870000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092620100009004169063fe575a8790602401602060405180830381865afa1580156134ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190615340565b6001600160a01b0383166135285760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610c8e565b6001600160a01b03821661357e5760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610c8e565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661365d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c8e565b6001600160a01b0383166136d95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c8e565b6000821161374f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610c8e565b6137598484613c22565b156139965760265460ff166137b05760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610c8e565b6001600160a01b03841660009081526003602052604090205460ff16806137ef57506001600160a01b03831660009081526003602052604090205460ff165b156138af576001600160a01b03831660009081526007602052604090205460ff168061383357506001600160a01b03841660009081526007602052604090205460ff165b6138af576020548211156138af5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785460448201527f78416d6f756e742e0000000000000000000000000000000000000000000000006064820152608401610c8e565b601c546001600160a01b038481169116148015906138e657506001600160a01b03831660009081526003602052604090205460ff16155b15613996576001600160a01b03831660009081526007602052604090205460ff16613996576022548261391885611d5a565b61392291906151bd565b11156139965760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201527f616c6c657453697a652e000000000000000000000000000000000000000000006064820152608401610c8e565b6001600160a01b03841660009081526006602052604090205460019060ff16806139d857506001600160a01b03841660009081526006602052604090205460ff165b156139e1575060005b6001600160a01b03841660009081526003602052604090205460ff1615613a7c57601f5474010000000000000000000000000000000000000000900460ff16158015613a485750601f547501000000000000000000000000000000000000000000900460ff165b15613a7c576000613a5830611d5a565b90506024548110613a7a576025548110613a7157506025545b613a7a81613cdf565b505b613a88858585846140f4565b95945050505050565b60185460175460009190825b600954811015613be957826001600060098481548110613abf57613abf6150a5565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180613b2a5750816002600060098481548110613b0357613b036150a5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15613b4757601754601854613b3f91906151a9565b935050505090565b6001600060098381548110613b5e57613b5e6150a5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613b8d9084615103565b92506002600060098381548110613ba657613ba66150a5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613bd59083615103565b915080613be18161511a565b915050613a9d565b50601754601854613bfa91906151a9565b821015613c1857601754601854613c1191906151a9565b9250505090565b613c1181836151a9565b600080546001600160a01b03848116911614801590613c4f57506000546001600160a01b03838116911614155b8015613c7457506001600160a01b0382166000908152600c602052604090205460ff16155b8015613c9957506001600160a01b0383166000908152600c602052604090205460ff16155b8015613cb057506001600160a01b03821661dead14155b8015613cc457506001600160a01b03821615155b801561157857506001600160a01b0383163014159392505050565b601f80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905560145461ffff64010000000090910416613d37576140c9565b306000908152600560209081526040808320601a546001600160a01b0316845290915290205460001914613d9057306000908152600560209081526040808320601a546001600160a01b03168452909152902060001990555b60145460009060029061ffff6401000000008204811691613db291168561515b565b613dbc91906151a9565b613dc691906151a9565b90506000613dd48284615103565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110613e0e57613e0e6150a5565b6001600160a01b03928316602091820292909201810191909152601a54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015613e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ea491906152f5565b81600181518110613eb757613eb76150a5565b6001600160a01b039283166020918202929092010152601a546040517f791ac94700000000000000000000000000000000000000000000000000000000815291169063791ac94790613f1690859060009086903090429060040161535d565b600060405180830381600087803b158015613f3057600080fd5b505af1158015613f44573d6000803e3d6000fd5b5050601454600092506002915061ffff6401000000008204811691613f6a91164761515b565b613f7491906151a9565b613f7e91906151a9565b9050831561407757601a546040517ff305d71900000000000000000000000000000000000000000000000000000000815230600482015260248101869052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561400d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906140329190615312565b505060408051868152602081018490529081018690527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561915060600160405180910390a15b60006140838587615103565b11156140c457601f546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156140c2573d6000803e3d6000fd5b505b505050505b50601f80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b602654600090610100900460ff166141a05761411085856144a6565b602654610100900460ff1615801561412d575061412d8585613c22565b156141a05760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e7366657220617420746869732060448201527f74696d652e0000000000000000000000000000000000000000000000000000006064820152608401610c8e565b60006141ae868686866146b0565b60808101516001600160a01b0388166000908152600160205260409020549192506141d891615103565b6001600160a01b038088166000908152600160205260408082209390935560608401519188168152919091205461420f91906151bd565b6001600160a01b0380871660009081526001602090815260408083209490945591891681526008909152205460ff16801561426357506001600160a01b03851660009081526008602052604090205460ff16155b156142aa576001600160a01b03861660009081526002602052604090205461428c908590615103565b6001600160a01b0387166000908152600260205260409020556143ea565b6001600160a01b03861660009081526008602052604090205460ff161580156142eb57506001600160a01b03851660009081526008602052604090205460ff165b156143335780516001600160a01b03861660009081526002602052604090205461431591906151bd565b6001600160a01b0386166000908152600260205260409020556143ea565b6001600160a01b03861660009081526008602052604090205460ff16801561437357506001600160a01b03851660009081526008602052604090205460ff165b156143ea576001600160a01b03861660009081526002602052604090205461439c908590615103565b6001600160a01b03808816600090815260026020526040808220939093558351918816815291909120546143d091906151bd565b6001600160a01b0386166000908152600260205260409020555b60408101511561440257614402868260400151614a2a565b60008160a001511180614419575060008160200151115b1561443a578060a00151601860008282546144349190615103565b90915550505b80602001516019600082825461445091906151bd565b909155505080516040519081526001600160a01b0386811691908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600195945050505050565b602654610100900460ff16156145245760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152608401610c8e565b61452e8282613c22565b1580156145485750601b546001600160a01b038281169116145b15611136576001600160a01b0382163014156145a3576001600c60006145766000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556145c7565b6001600160a01b0382166000908152600c60205260409020805460ff191660011790555b602680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010017908190556201000090046001600160a01b031661463857602680547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b601f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6146e96040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6147226040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600061472c613a91565b9050614738818661515b565b60808301526147478787613c22565b156147fa576026546040517fecd07a530000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152888116602483015260448201889052600092620100009004169063ecd07a53906064016020604051808303816000875af19250505080156147e3575060408051601f3d908101601f191682019092526147e091810190615340565b60015b6147ec57600080fd5b9050806147f857600080fd5b505b83156149d4576001600160a01b03861660009081526003602052604090205460ff161561486b576012546010805461ffff80841663ffffffff1990921691909117620100008085048316021765ffff000000001916640100000000938490049190911690920291909117905561491c565b6001600160a01b03871660009081526003602052604090205460ff16156148d6576011546010805461ffff80841663ffffffff1990921691909117620100008085048316021765ffff000000001916640100000000938490049190911690920291909117905561491c565b6013546010805461ffff80841663ffffffff1990921691909117620100008085048316021765ffff00000000191664010000000093849004919091169092029190911790555b60155460105461ffff660100000000000090920482169161493e91168761515b565b61494891906151a9565b602083015260155460105461ffff66010000000000009092048216916149809164010000000081048216916201000090910416615135565b61498e9061ffff168761515b565b61499891906151a9565b6040830181905260208301516149ae91906151bd565b6149b89086615103565b825260208201516149ca90829061515b565b60a08301526149ed565b6000602083018190526040830181905285835260a08301525b8082604001516149fd919061515b565b8260a00151614a0c91906151bd565b8260800151614a1b9190615103565b60608301525095945050505050565b614a32613a91565b614a3c908261515b565b30600090815260016020526040902054614a5691906151bd565b3060009081526001602090815260408083209390935560089052205460ff1615614aa65730600090815260026020526040902054614a959082906151bd565b306000908152600260205260409020555b60405181815230906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054614af690615022565b90600052602060002090601f016020900481019282614b185760008555614b5e565b82601f10614b3157805160ff1916838001178555614b5e565b82800160010185558215614b5e579182015b82811115614b5e578251825591602001919060010190614b43565b50614b6a929150614b6e565b5090565b5b80821115614b6a5760008155600101614b6f565b600060208083528351808285015260005b81811015614bb057858101830151858201604001528201614b94565b81811115614bc2576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215614bea57600080fd5b5035919050565b6001600160a01b03811681146133b457600080fd5b8035614c1181614bf1565b919050565b60008060408385031215614c2957600080fd5b8235614c3481614bf1565b946020939093013593505050565b80151581146133b457600080fd5b60008060408385031215614c6357600080fd5b8235614c6e81614bf1565b91506020830135614c7e81614c42565b809150509250929050565b803561ffff81168114614c1157600080fd5b600080600060608486031215614cb057600080fd5b614cb984614c89565b9250614cc760208501614c89565b9150614cd560408501614c89565b90509250925092565b600080600060608486031215614cf357600080fd5b8335614cfe81614bf1565b92506020840135614d0e81614bf1565b929592945050506040919091013590565b60008060408385031215614d3257600080fd5b50508035926020909101359150565b60008060008060808587031215614d5757600080fd5b8435614d6281614c42565b93506020850135614d7281614c42565b92506040850135614d8281614c42565b91506060850135614d9281614c42565b939692955090935050565b600060208284031215614daf57600080fd5b813561157881614bf1565b60008060408385031215614dcd57600080fd5b614dd683614c89565b9150614de460208401614c89565b90509250929050565b600060208284031215614dff57600080fd5b813561157881614c42565b60008060408385031215614e1d57600080fd5b8235614e2881614bf1565b91506020830135614c7e81614bf1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614e9057614e90614e38565b604052919050565b600067ffffffffffffffff821115614eb257614eb2614e38565b5060051b60200190565b600082601f830112614ecd57600080fd5b81356020614ee2614edd83614e98565b614e67565b82815260059290921b84018101918181019086841115614f0157600080fd5b8286015b84811015614f1c5780358352918301918301614f05565b509695505050505050565b600080600060608486031215614f3c57600080fd5b833567ffffffffffffffff80821115614f5457600080fd5b818601915086601f830112614f6857600080fd5b81356020614f78614edd83614e98565b82815260059290921b8401810191818101908a841115614f9757600080fd5b948201945b83861015614fbe578535614faf81614bf1565b82529482019490820190614f9c565b97505087013592505080821115614fd457600080fd5b50614fe186828701614ebc565b925050614cd560408501614c06565b6000806000806080858703121561500657600080fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061503657607f821691505b60208210811415615070577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015615115576151156150d4565b500390565b600060001982141561512e5761512e6150d4565b5060010190565b600061ffff808316818516808303821115615152576151526150d4565b01949350505050565b6000816000190483118215151615615175576151756150d4565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826151b8576151b861517a565b500490565b600082198211156151d0576151d06150d4565b500190565b6000602082840312156151e757600080fd5b5051919050565b600181815b8085111561522957816000190482111561520f5761520f6150d4565b8085161561521c57918102915b93841c93908002906151f3565b509250929050565b60008261524057506001610d79565b8161524d57506000610d79565b8160018114615263576002811461526d57615289565b6001915050610d79565b60ff84111561527e5761527e6150d4565b50506001821b610d79565b5060208310610133831016604e8410600b84101617156152ac575081810a610d79565b6152b683836151ee565b80600019048211156152ca576152ca6150d4565b029392505050565b600061157860ff841683615231565b6000826152f0576152f061517a565b500690565b60006020828403121561530757600080fd5b815161157881614bf1565b60008060006060848603121561532757600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561535257600080fd5b815161157881614c42565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156153ad5784516001600160a01b031683529383019391830191600101615388565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220261c9e03edd57f6a59dc21f3ec0173677392e88fc347c89c2c21651aeb40c2a664736f6c634300080a0033
©2022-now by Spectre