token-icon

Serenity

Token

Overview[ERC-20]

Max Total Supply
100,000,000,000,00…
SEREN
Holders
439+0.00%
Transfers
4,513

Profile Summary

Decimals
9

Market

Price
$0 @0.00000000 ETH
If you are the owner of this contract, verify it.
Deployed ByteCode
0x6080604052600436106103bc5760003560e01c806370a08231116101f2578063b6f8f8dc1161010d578063e4fcfd18116100a0578063eec2744e1161006f578063eec2744e14610c03578063f94aa1b414610c23578063fdb78c0e14610c7a578063fe575a8714610c9957600080fd5b8063e4fcfd1814610b98578063e8a0e3f914610bae578063eafb5a3c14610bce578063ee5d9c2d14610bee57600080fd5b8063c6831cd8116100dc578063c6831cd814610a7a578063cab5ebea14610ac7578063cf84770614610ae7578063dd62ed3e14610b5257600080fd5b8063b6f8f8dc146109cd578063bc77169d146109ed578063becdf13f14610a0d578063c2fa418f14610a2d57600080fd5b80638a8c523c11610185578063aa22b17211610154578063aa22b1721461098d578063aa545473146109ad578063b1b08f711461053d578063b3d514fb1461053d57600080fd5b80638a8c523c1461092357806395d89b4114610938578063a457c2d71461094d578063a9059cbb1461096d57600080fd5b806380c581d1116101c157806380c581d11461089757806388f82020146108b7578063893d20e8146108f05780638a63bd9b1461090e57600080fd5b806370a08231146107c0578063715018a6146107e057806375cb1bd1146107f55780637b45d4311461081557600080fd5b806333251a0b116102e25780634fbee19311610275578063590ffdce11610244578063590ffdce146107325780635c24b074146107525780635cce86cd146107725780636ebd0078146107ab57600080fd5b80634fbee193146106a557806350a8e016146106de578063533ecf54146106fd57806355dbc3691461071d57600080fd5b80633f3cf56c116102b15780633f3cf56c1461062b578063452ed4f11461064b5780634ada218b1461066b5780634fb2e45d1461068557600080fd5b806333251a0b146105ab57806334cd8260146105cb57806336fddb04146105eb578063395093511461060b57600080fd5b806313e461921161035a5780632b28fc7a116103295780632b28fc7a1461053d5780632d838119146105535780632e8fa82114610573578063313ce5671461058957600080fd5b806313e46192146104c857806318160ddd146104e857806323b872dd146104fd5780632610eaca1461051d57600080fd5b806305bbedb61161039657806305bbedb61461043657806306fdde03146104565780630758d92414610478578063095ea7b31461049857600080fd5b806303fd2a45146103c85780630445b667146103fb57806305b857551461041f57600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103de61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561040757600080fd5b50610411601d5481565b6040519081526020016103f2565b34801561042b57600080fd5b50610434610cb9565b005b34801561044257600080fd5b50610434610451366004614c95565b610d73565b34801561046257600080fd5b5061046b610e47565b6040516103f29190614d13565b34801561048457600080fd5b506015546103de906001600160a01b031681565b3480156104a457600080fd5b506104b86104b3366004614d46565b610ed9565b60405190151581526020016103f2565b3480156104d457600080fd5b506104346104e3366004614d72565b610ef0565b3480156104f457600080fd5b506104116113b3565b34801561050957600080fd5b506104b8610518366004614da0565b6113cc565b34801561052957600080fd5b50610434610538366004614e3c565b611444565b34801561054957600080fd5b506104116107d081565b34801561055f57600080fd5b5061041161056e366004614ea0565b611549565b34801561057f57600080fd5b50610411601e5481565b34801561059557600080fd5b50600e5460405160ff90911681526020016103f2565b3480156105b757600080fd5b506104346105c6366004614eb9565b6115e0565b3480156105d757600080fd5b506104346105e6366004614ed6565b6116b0565b3480156105f757600080fd5b50610434610606366004614d72565b611740565b34801561061757600080fd5b506104b8610626366004614d46565b6117b9565b34801561063757600080fd5b50610434610646366004614f11565b6117f5565b34801561065757600080fd5b506016546103de906001600160a01b031681565b34801561067757600080fd5b506020546104b89060ff1681565b34801561069157600080fd5b506104346106a0366004614eb9565b611900565b3480156106b157600080fd5b506104b86106c0366004614eb9565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106ea57600080fd5b506020546104b890610100900460ff1681565b34801561070957600080fd5b50610434610718366004614eb9565b611aff565b34801561072957600080fd5b50610411612192565b34801561073e57600080fd5b5061043461074d366004614d72565b612210565b34801561075e57600080fd5b5061043461076d366004614eb9565b612289565b34801561077e57600080fd5b506104b861078d366004614eb9565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107b757600080fd5b506104116123c8565b3480156107cc57600080fd5b506104116107db366004614eb9565b6123e9565b3480156107ec57600080fd5b50610434612448565b34801561080157600080fd5b50610434610810366004614f33565b6124f8565b34801561082157600080fd5b506011546108629061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a0016103f2565b3480156108a357600080fd5b506104346108b2366004614d72565b612592565b3480156108c357600080fd5b506104b86108d2366004614eb9565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156108fc57600080fd5b506000546001600160a01b03166103de565b34801561091a57600080fd5b506104b8612753565b34801561092f57600080fd5b506104346127c2565b34801561094457600080fd5b5061046b6129b2565b34801561095957600080fd5b506104b8610968366004614d46565b6129c1565b34801561097957600080fd5b506104b8610988366004614d46565b6129f8565b34801561099957600080fd5b506104346109a8366004614f95565b612a0f565b3480156109b957600080fd5b506104346109c8366004614fd8565b612af0565b3480156109d957600080fd5b506104346109e836600461502c565b612c30565b3480156109f957600080fd5b50610434610a08366004614fd8565b612d10565b348015610a1957600080fd5b50610434610a28366004614fd8565b612e50565b348015610a3957600080fd5b506013546108629061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b348015610a8657600080fd5b506012546108629061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b348015610ad357600080fd5b50610434610ae236600461506c565b612f90565b348015610af357600080fd5b50601454610b249061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103f2565b348015610b5e57600080fd5b50610411610b6d366004615089565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610ba457600080fd5b50610411601b5481565b348015610bba57600080fd5b50610434610bc93660046150b7565b613032565b348015610bda57600080fd5b50610434610be9366004614eb9565b61318f565b348015610bfa57600080fd5b5061043461353e565b348015610c0f57600080fd5b50610434610c1e366004614d72565b613621565b348015610c2f57600080fd5b50601754601854601954610c50926001600160a01b03908116928116911683565b604080516001600160a01b03948516815292841660208401529216918101919091526060016103f2565b348015610c8657600080fd5b50601a546104b890610100900460ff1681565b348015610ca557600080fd5b506104b8610cb4366004614eb9565b6136c9565b6000546001600160a01b03163314610d0c5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b601280547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000166904b002bc00640190012c179055601480547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016660c000700010004179055565b6000546001600160a01b03163314610dc15760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517f05bbedb6000000000000000000000000000000000000000000000000000000008152620100009091046001600160a01b0316906305bbedb690610e119085908590600401615183565b600060405180830381600087803b158015610e2b57600080fd5b505af1158015610e3f573d6000803e3d6000fd5b505050505050565b6060600c8054610e56906151a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610e82906151a7565b8015610ecf5780601f10610ea457610100808354040283529160200191610ecf565b820191906000526020600020905b815481529060010190602001808311610eb257829003601f168201915b5050505050905090565b6000610ee6338484613757565b5060015b92915050565b6000546001600160a01b03163314610f3e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b8015611093576001600160a01b03821660009081526008602052604090205460ff1615610fad5760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c7265616479206578636c756465642e000000006044820152606401610d03565b6001600160a01b03821660009081526001602052604090205415611007576001600160a01b038216600090815260016020526040902054610fed90611549565b6001600160a01b0383166000908152600260205260409020555b6001600160a01b038083166000818152600860205260409020805460ff191660011790556016549091161461108f57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790555b5050565b8061108f576001600160a01b03821660009081526008602052604090205460ff166111005760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920696e636c756465642e000000006044820152606401610d03565b6016546001600160a01b038381169116141561117b5761111e613864565b6001600160a01b038316600090815260026020526040902054611141919061522a565b6001600160a01b038316600090815260016020908152604080832093909355600281528282208290556008905220805460ff191690555050565b6009546001141561122b5761118e613864565b6001600160a01b0383166000908152600260205260409020546111b1919061522a565b6001600160a01b038316600090815260016020908152604080832093909355600281528282208290556008905220805460ff1916905560098054806111f8576111f8615249565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b60005b6009548110156113ae57826001600160a01b03166009828154811061125557611255615278565b6000918252602090912001546001600160a01b0316141561139c5760098054611280906001906152a7565b8154811061129057611290615278565b600091825260209091200154600980546001600160a01b0390921691839081106112bc576112bc615278565b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03948516179055918516815260029091526040812055611308613864565b6001600160a01b03841660009081526002602052604090205461132b919061522a565b6001600160a01b0384166000908152600160209081526040808320939093556008905220805460ff19169055600980548061136857611368615249565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055019055505050565b806113a6816152be565b91505061122e565b505050565b6000600f54600014156113c557600080fd5b50600f5490565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914611431576001600160a01b03841660009081526005602090815260408083203384529091528120805484929061142b9084906152a7565b90915550505b61143c848484613ad7565b949350505050565b80518251146114955760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610d03565b60005b82518160ff1610156113ae57818160ff16815181106114b9576114b9615278565b60200260200101516114ca336123e9565b10156114d557600080fd5b61153633848360ff16815181106114ee576114ee615278565b6020908102919091010151600e5461150a9060ff16600a6153bd565b858560ff168151811061151f5761151f615278565b6020026020010151611531919061522a565b613ad7565b5080611541816153cc565b915050611498565b60006010548211156115c35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e73000000000000000000000000000000000000000000006064820152608401610d03565b60006115cd613864565b90506115d9818461541b565b9392505050565b6000546001600160a01b0316331461162e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517f33251a0b0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015262010000909204909116906333251a0b90602401600060405180830381600087803b15801561169557600080fd5b505af11580156116a9573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146116fe5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b8385600f5461170d919061522a565b611717919061541b565b601d55600f54829061172a90859061522a565b611734919061541b565b601e55601b5550505050565b6000546001600160a01b0316331461178e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610ee69185906117f090869061542f565b613757565b6000546001600160a01b031633146118435760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6103e8600f54611853919061541b565b8183600f54611862919061522a565b61186c919061541b565b10156118e05760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3125206f6620746f74616c20737570706c792e0000000000000000006064820152608401610d03565b8082600f546118ef919061522a565b6118f9919061541b565b601f555050565b6000546001600160a01b0316331461194e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6001600160a01b0381166119ca5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610d03565b6001600160a01b03811661dead1415611a4b5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610d03565b60008054611a64916001600160a01b0390911690612210565b611a6f816001612210565b60008054611a85906001600160a01b03166123e9565b1115611aa757600054611aa5906001600160a01b031682611531826123e9565b505b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314611b4d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b602054760100000000000000000000000000000000000000000000900460ff1615611bba5760405162461bcd60e51b815260206004820152600160248201527f31000000000000000000000000000000000000000000000000000000000000006044820152606401610d03565b602080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff16620100006001600160a01b03848116820292909217928390556040517f1a69523000000000000000000000000000000000000000000000000000000000815230600482015292041690631a69523090602401600060405180830381600087803b158015611c4c57600080fd5b505af1925050508015611c5d575060015b506000602060029054906101000a90046001600160a01b03166001600160a01b031663dbc4d8836040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015611cd457506040513d6000823e601f3d908101601f19168201604052611cd191908101906154ab565b60015b611d205760405162461bcd60e51b815260206004820152600160248201527f33000000000000000000000000000000000000000000000000000000000000006044820152606401610d03565b8451611d3390600c906020880190614ae1565b508351611d4790600d906020870190614ae1565b50600b839055600e805460ff191660ff8416908117909155611d6a90600a6153bd565b600b54611d77919061522a565b600f819055611d8890600019615547565b611d94906000196152a7565b601055601554604080517fc45a015500000000000000000000000000000000000000000000000000000000815290519297506001600160a01b03909116955063c45a015594506004808201945060209350908290030181865afa158015611dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e23919061555b565b6001600160a01b031663c9c65396601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea8919061555b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015611f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f30919061555b565b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790556000908152600360205260409020805460ff19166001179055600f5461271090611f8790600261522a565b611f91919061541b565b601d55600f5461271090611fa690600561522a565b611fb0919061541b565b601e55600f546103e890611fc590600561522a565b611fcf919061541b565b601f55602080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000178155601054600080546001600160a01b039081168252600184526040808320939093558154600f549351938452169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36015546120879033906001600160a01b0316600019613757565b6015546120a19030906001600160a01b0316600019613757565b6000546120bb906001600160a01b031630611531826123e9565b506015546001600160a01b031663f305d71947306120d8816123e9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0392831660048201526024810191909152600060448201819052606482015290851660848201524260a482015260c40160606040518083038185885af1158015612159573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061217e9190615578565b5050506121896127c2565b61108f81611900565b6000602060029054906101000a90046001600160a01b03166001600160a01b03166355dbc3696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220b91906155a6565b905090565b6000546001600160a01b0316331461225e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146122d75760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b602054610100900460ff161561232f5760405162461bcd60e51b815260206004820152601860248201527f4c697175696469747920697320616c726561647920696e2e00000000000000006044820152606401610d03565b6001600160a01b0381163014156123885760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610d03565b602080546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b600e546000906123dc9060ff16600a6153bd565b601f5461220b919061541b565b6001600160a01b03811660009081526008602052604081205460ff161561242657506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610eea90611549565b6000546001600160a01b031633146124965760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b600080546124af916001600160a01b0390911690612210565b6000805473ffffffffffffffffffffffffffffffffffffffff1916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b031633146125465760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b601780546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155601880549385169382169390931790925560198054919093169116179055565b6000546001600160a01b031633146125e05760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b8061266d576001600160a01b038281166000818152600360209081526040808320805460ff19169055905490517f80c581d100000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152620100009004909116906380c581d190604401600060405180830381600087803b158015610e2b57600080fd5b600454156126d4576203f4806004544261268791906152a7565b116126d45760405162461bcd60e51b815260206004820152601060248201527f332044617920636f6f6c646f776e2e21000000000000000000000000000000006044820152606401610d03565b6001600160a01b03828116600081815260036020908152604091829020805460ff19166001908117909155426004908155915492517f80c581d1000000000000000000000000000000000000000000000000000000008152918201939093526024810192909252620100009004909116906380c581d190604401610e11565b600080546001600160a01b031633146127a25760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6015546127bc9030906001600160a01b0316600019613757565b50600190565b6000546001600160a01b031633146128105760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60205460ff16156128635760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610d03565b602054610100900460ff166128ba5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610d03565b6020546201000090046001600160a01b031661290057602080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b602054601654600e546040517f6c115c340000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260ff9091166064820152620100009092041690636c115c3490608401600060405180830381600087803b15801561299157600080fd5b505af19250505080156129a2575060015b506020805460ff19166001179055565b6060600d8054610e56906151a7565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610ee69185906117f09086906152a7565b6000612a05338484613ad7565b5060019392505050565b6000546001600160a01b03163314612a5d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6014805461ffff838116640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff868316620100000263ffffffff1990941692881692909217929092171617905580612aba83856155bf565b612ac491906155bf565b6014805461ffff9290921666010000000000000267ffff00000000000019909216919091179055505050565b6000546001600160a01b03163314612b3e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008183612b4c86886155bf565b612b5691906155bf565b612b6091906155bf565b90506107d08161ffff161115612b7557600080fd5b6013805461ffff87811663ffffffff19909216919091176201000087831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008683160267ffff000000000000191617660100000000000091851691909102179055612be985826155e5565b6013805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9092169190911790555050505050565b6000546001600160a01b03163314612c7e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517f6a34b758000000000000000000000000000000000000000000000000000000008152841515600482015283151560248201528215156044820152620100009091046001600160a01b031690636a34b75890606401600060405180830381600087803b158015612cf357600080fd5b505af1158015612d07573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314612d5e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008183612d6c86886155bf565b612d7691906155bf565b612d8091906155bf565b90506107d08161ffff161115612d9557600080fd5b6011805461ffff87811663ffffffff19909216919091176201000087831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008683160267ffff000000000000191617660100000000000091851691909102179055612e0985826155e5565b6011805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9092169190911790555050505050565b6000546001600160a01b03163314612e9e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008183612eac86886155bf565b612eb691906155bf565b612ec091906155bf565b90506107d08161ffff161115612ed557600080fd5b6012805461ffff87811663ffffffff19909216919091176201000087831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008683160267ffff000000000000191617660100000000000091851691909102179055612f4985826155e5565b6012805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9092169190911790555050505050565b6000546001600160a01b03163314612fde5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b601a80548215156101000261ff00199091161790556040517f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579061302790831515815260200190565b60405180910390a150565b81518351148015613044575080518251145b6130905760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610d03565b60005b83518160ff16101561318957818160ff16815181106130b4576130b4615278565b6020026020010151838260ff16815181106130d1576130d1615278565b6020026020010151600f546130e6919061522a565b6130f0919061541b565b6130f9336123e9565b101561310457600080fd5b61317633858360ff168151811061311d5761311d615278565b6020026020010151848460ff168151811061313a5761313a615278565b6020026020010151868560ff168151811061315757613157615278565b6020026020010151600f5461316c919061522a565b611531919061541b565b5080613181816153cc565b915050613093565b50505050565b6000546001600160a01b031633146131dd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613222573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613246919061555b565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b7919061555b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561331a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333e919061555b565b90506001600160a01b0381166134dc57816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561338c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b0919061555b565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613421919061555b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015613486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134aa919061555b565b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055613505565b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b6015805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556113ae903090600019613757565b6000546001600160a01b0316331461358c5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b602054610100900460ff16156135e45760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610d03565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561361e573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461366f5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517feec2744e0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528315156024830152620100009092049091169063eec2744e90604401610e11565b6020546040517ffe575a870000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092620100009004169063fe575a8790602401602060405180830381865afa158015613733573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eea9190615608565b6001600160a01b0383166137ad5760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610d03565b6001600160a01b0382166138035760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610d03565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b601054600f546016546001600160a01b03166000908152600860205260408120549092919060ff161561393e576016546001600160a01b03166000908152600160205260409020548210806138d257506016546001600160a01b031660009081526002602052604090205481105b156138ee57600f546010546138e7919061541b565b9250505090565b6016546001600160a01b031660009081526001602052604090205461391390836152a7565b6016546001600160a01b031660009081526002602052604090205490925061393b90826152a7565b90505b60095415613aa65760005b60095460ff82161015613aa457826001600060098460ff168154811061397157613971615278565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806139df5750816002600060098460ff16815481106139b8576139b8615278565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156139fc57600f546010546139f4919061541b565b935050505090565b6001600060098360ff1681548110613a1657613a16615278565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613a4590846152a7565b92506002600060098360ff1681548110613a6157613a61615278565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613a9090836152a7565b915080613a9c816153cc565b915050613949565b505b600f54601054613ab6919061541b565b821015613acd57600f546010546138e7919061541b565b6138e7818361541b565b60006001600160a01b038416613b555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610d03565b6001600160a01b038316613bd15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610d03565b60008211613c475760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610d03565b613c518484613e95565b15613dab5760205460ff16613ca85760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610d03565b6001600160a01b03841660009081526003602052604090205460ff1680613ce757506001600160a01b03831660009081526003602052604090205460ff165b15613dab576001600160a01b03841660009081526007602052604090205460ff16158015613d2e57506001600160a01b03831660009081526007602052604090205460ff16155b15613dab57601f54821115613dab5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785460448201527f78416d6f756e742e0000000000000000000000000000000000000000000000006064820152608401610d03565b6001600160a01b03841660009081526006602052604090205460019060ff1680613ded57506001600160a01b03841660009081526006602052604090205460ff165b15613df6575060005b6001600160a01b03841660009081526003602052604090205460ff1615613e8057601a5460ff16158015613e315750601a54610100900460ff165b15613e805742601b54601c54613e47919061542f565b11613e80576000613e57306123e9565b9050601d548110613e7e57601e548110613e705750601e545b613e7981613f69565b42601c555b505b613e8c85858584614366565b95945050505050565b600080546001600160a01b03848116911614801590613ec257506000546001600160a01b03838116911614155b8015613ed957506000546001600160a01b03163214155b8015613efe57506001600160a01b0382166000908152600a602052604090205460ff16155b8015613f2357506001600160a01b0383166000908152600a602052604090205460ff16155b8015613f3a57506001600160a01b03821661dead14155b8015613f4e57506001600160a01b03821615155b80156115d957506001600160a01b0383163014159392505050565b601a805460ff191660011790556040805160808101825260145461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052613fc75750614359565b3060009081526005602090815260408083206015546001600160a01b0316845290915290205460001914614020573060009081526005602090815260408083206015546001600160a01b03168452909152902060001990555b604080516002808252606082018352600092602083019080368337019050509050308160008151811061405557614055615278565b6001600160a01b03928316602091820292909201810191909152601554604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa1580156140c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140eb919061555b565b816001815181106140fe576140fe615278565b6001600160a01b0392831660209182029290920101526015546040517f791ac94700000000000000000000000000000000000000000000000000000000815291169063791ac9479061415d908690600090869030904290600401615625565b600060405180830381600087803b15801561417757600080fd5b505af115801561418b573d6000803e3d6000fd5b5050506060830151835147925060009161ffff908116916141ad91168461522a565b6141b7919061541b565b90506000846060015161ffff16856020015161ffff16846141d8919061522a565b6141e2919061541b565b90506000856060015161ffff16866040015161ffff1685614203919061522a565b61420d919061541b565b865190915060009061ffff161561427b576017546040516001600160a01b03909116906175309086906000818181858888f193505050503d8060008114614270576040519150601f19603f3d011682016040523d82523d6000602084013e614275565b606091505b50909150505b602087015161ffff16156142e6576018546040516001600160a01b03909116906175309085906000818181858888f193505050503d80600081146142db576040519150601f19603f3d011682016040523d82523d6000602084013e6142e0565b606091505b50909150505b604087015161ffff1615614351576019546040516001600160a01b03909116906175309084906000818181858888f193505050503d8060008114614346576040519150601f19603f3d011682016040523d82523d6000602084013e61434b565b606091505b50909150505b505050505050505b50601a805460ff19169055565b602054600090610100900460ff166144125761438285856145da565b602054610100900460ff1615801561439f575061439f8585613e95565b156144125760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e7366657220617420746869732060448201527f74696d652e0000000000000000000000000000000000000000000000000000006064820152608401610d03565b600061442086868686614739565b60808101516001600160a01b03881660009081526001602052604081208054939450919261444f9084906152a7565b909155505060608101516001600160a01b0386166000908152600160205260408120805490919061448190849061542f565b90915550506001600160a01b03861660009081526008602052604090205460ff16156144e5576001600160a01b0386166000908152600260205260409020546144cb9085906152a7565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526008602052604090205460ff16156145455780516001600160a01b03861660009081526002602052604090205461452b919061542f565b6001600160a01b0386166000908152600260205260409020555b60008160a00151118061455c575060008160200151115b1561457d578060a001516010600082825461457791906152a7565b90915550505b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83600001516040516145c691815260200190565b60405180910390a350600195945050505050565b602054610100900460ff16156146585760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152608401610d03565b6146628282613e95565b15801561467c57506016546001600160a01b038281169116145b1561108f576001600160a01b038083166000908152600a60209081526040909120805460ff19166001179055805461ff0019166101001790819055620100009004166146f257602080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b601a805461ff001916610100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6147796040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6147b96040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6147c1613864565b60c082018190526147d2908561522a565b60808201526147e18686613e95565b15614894576020546040517fecd07a530000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152878116602483015260448201879052600092620100009004169063ecd07a53906064016020604051808303816000875af192505050801561487d575060408051601f3d908101601f1916820190925261487a91810190615608565b60015b61488657600080fd5b90508061489257600080fd5b505b82156149b1576001600160a01b03851660009081526003602052604081205481906127109060ff16156148e15760125461ffff80821694506801000000000000000090910416915061493e565b6001600160a01b03891660009081526003602052604090205460ff16156149225760115461ffff80821694506801000000000000000090910416915061493e565b60135461ffff8082169450680100000000000000009091041691505b80614949848961522a565b614953919061541b565b602085015280614963838961522a565b61496d919061541b565b604085018190526020850151614983919061542f565b61498d90886152a7565b845260c084015160208501516149a3919061522a565b60a0850152506149ca915050565b6000602082018190526040820181905284825260a08201525b604081015115614aa1578060c0015181604001516149e8919061522a565b3060009081526001602052604081208054909190614a0790849061542f565b90915550503060009081526008602052604090205460ff1615614a4f576040808201513060009081526002602052918220805491929091614a4990849061542f565b90915550505b306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360400151604051614a9891815260200190565b60405180910390a35b8060c001518160400151614ab5919061522a565b8160a00151614ac4919061542f565b8160800151614ad391906152a7565b606082015295945050505050565b828054614aed906151a7565b90600052602060002090601f016020900481019282614b0f5760008555614b55565b82601f10614b2857805160ff1916838001178555614b55565b82800160010185558215614b55579182015b82811115614b55578251825591602001919060010190614b3a565b50614b61929150614b65565b5090565b5b80821115614b615760008155600101614b66565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614bd257614bd2614b7a565b604052919050565b600067ffffffffffffffff821115614bf457614bf4614b7a565b5060051b60200190565b6001600160a01b038116811461361e57600080fd5b600082601f830112614c2457600080fd5b81356020614c39614c3483614bda565b614ba9565b82815260059290921b84018101918181019086841115614c5857600080fd5b8286015b84811015614c7c578035614c6f81614bfe565b8352918301918301614c5c565b509695505050505050565b801515811461361e57600080fd5b60008060408385031215614ca857600080fd5b823567ffffffffffffffff811115614cbf57600080fd5b614ccb85828601614c13565b9250506020830135614cdc81614c87565b809150509250929050565b60005b83811015614d02578181015183820152602001614cea565b838111156131895750506000910152565b6020815260008251806020840152614d32816040850160208701614ce7565b601f01601f19169190910160400192915050565b60008060408385031215614d5957600080fd5b8235614d6481614bfe565b946020939093013593505050565b60008060408385031215614d8557600080fd5b8235614d9081614bfe565b91506020830135614cdc81614c87565b600080600060608486031215614db557600080fd5b8335614dc081614bfe565b92506020840135614dd081614bfe565b929592945050506040919091013590565b600082601f830112614df257600080fd5b81356020614e02614c3483614bda565b82815260059290921b84018101918181019086841115614e2157600080fd5b8286015b84811015614c7c5780358352918301918301614e25565b60008060408385031215614e4f57600080fd5b823567ffffffffffffffff80821115614e6757600080fd5b614e7386838701614c13565b93506020850135915080821115614e8957600080fd5b50614e9685828601614de1565b9150509250929050565b600060208284031215614eb257600080fd5b5035919050565b600060208284031215614ecb57600080fd5b81356115d981614bfe565b600080600080600060a08688031215614eee57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215614f2457600080fd5b50508035926020909101359150565b600080600060608486031215614f4857600080fd5b8335614f5381614bfe565b92506020840135614f6381614bfe565b91506040840135614f7381614bfe565b809150509250925092565b803561ffff81168114614f9057600080fd5b919050565b600080600060608486031215614faa57600080fd5b614fb384614f7e565b9250614fc160208501614f7e565b9150614fcf60408501614f7e565b90509250925092565b60008060008060808587031215614fee57600080fd5b614ff785614f7e565b935061500560208601614f7e565b925061501360408601614f7e565b915061502160608601614f7e565b905092959194509250565b60008060006060848603121561504157600080fd5b833561504c81614c87565b9250602084013561505c81614c87565b91506040840135614f7381614c87565b60006020828403121561507e57600080fd5b81356115d981614c87565b6000806040838503121561509c57600080fd5b82356150a781614bfe565b91506020830135614cdc81614bfe565b6000806000606084860312156150cc57600080fd5b833567ffffffffffffffff808211156150e457600080fd5b6150f087838801614c13565b9450602086013591508082111561510657600080fd5b61511287838801614de1565b9350604086013591508082111561512857600080fd5b5061513586828701614de1565b9150509250925092565b600081518084526020808501945080840160005b838110156151785781516001600160a01b031687529582019590820190600101615153565b509495945050505050565b604081526000615196604083018561513f565b905082151560208301529392505050565b600181811c908216806151bb57607f821691505b602082108114156151f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000816000190483118215151615615244576152446151fb565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000828210156152b9576152b96151fb565b500390565b60006000198214156152d2576152d26151fb565b5060010190565b600181815b808511156153145781600019048211156152fa576152fa6151fb565b8085161561530757918102915b93841c93908002906152de565b509250929050565b60008261532b57506001610eea565b8161533857506000610eea565b816001811461534e576002811461535857615374565b6001915050610eea565b60ff841115615369576153696151fb565b50506001821b610eea565b5060208310610133831016604e8410600b8410161715615397575081810a610eea565b6153a183836152d9565b80600019048211156153b5576153b56151fb565b029392505050565b60006115d960ff84168361531c565b600060ff821660ff8114156153e3576153e36151fb565b60010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261542a5761542a6153ec565b500490565b60008219821115615442576154426151fb565b500190565b600082601f83011261545857600080fd5b815167ffffffffffffffff81111561547257615472614b7a565b6154856020601f19601f84011601614ba9565b81815284602083860101111561549a57600080fd5b61143c826020830160208701614ce7565b600080600080600060a086880312156154c357600080fd5b855167ffffffffffffffff808211156154db57600080fd5b6154e789838a01615447565b965060208801519150808211156154fd57600080fd5b5061550a88828901615447565b94505060408601519250606086015160ff8116811461552857600080fd5b608087015190925061553981614bfe565b809150509295509295909350565b600082615556576155566153ec565b500690565b60006020828403121561556d57600080fd5b81516115d981614bfe565b60008060006060848603121561558d57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156155b857600080fd5b5051919050565b600061ffff8083168185168083038211156155dc576155dc6151fb565b01949350505050565b600061ffff83811690831681811015615600576156006151fb565b039392505050565b60006020828403121561561a57600080fd5b81516115d981614c87565b85815284602082015260a06040820152600061564460a083018661513f565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220d71662e966ac5175003953732855a8fcba0485ae1e55d36757f750e98b0e9b5464736f6c634300080b0033
Creation ByteCode
0x6000600481905561012c608081905261019060a0819052606460c08190526102bc60e08190526104b0610100819052601180546001600160501b03199081166904b002bc00640190012c908117909255610120879052610384610140526101608590526101808490526106a46101a0526012805482166906a402bc00640384012c1790556101c0969096526101e09490945261020092909252610220526102405260138054909216179055600d61026052600261028052600e6102a052601d6102c052601480546001600160401b031916661d000e0002000d1790556103406040527337a42a6edd1a6e33c31f5dba132297cd857ee92e6102e081905273d6a55b7b875a8ffa78479138de54a6b71a3bbef36103008190527369665a0f1346d30a1b85311632b1d8e3c3a9a17b610320819052601780546001600160a01b031990811690941790556018805484169092179091556019805483169091179055601a805461ff0019169055601b8290556020805461ffff60ff60b01b011916905581543391161790554660381415620001bd57601580546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e1790556200023a565b4660611415620001f357601580546001600160a01b031916739ac64cc6e4415144c455bd8e4837fea55603e5c31790556200023a565b4660011480620002035750466004145b156200023557601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200023a565b600080fd5b600080546001600160a01b0390811682526006602090815260408084208054600160ff19918216811790925530865282862080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22805482168317905585549094168552600a90925283208054909216179055615697908190620002c490396000f3fe6080604052600436106103bc5760003560e01c806370a08231116101f2578063b6f8f8dc1161010d578063e4fcfd18116100a0578063eec2744e1161006f578063eec2744e14610c03578063f94aa1b414610c23578063fdb78c0e14610c7a578063fe575a8714610c9957600080fd5b8063e4fcfd1814610b98578063e8a0e3f914610bae578063eafb5a3c14610bce578063ee5d9c2d14610bee57600080fd5b8063c6831cd8116100dc578063c6831cd814610a7a578063cab5ebea14610ac7578063cf84770614610ae7578063dd62ed3e14610b5257600080fd5b8063b6f8f8dc146109cd578063bc77169d146109ed578063becdf13f14610a0d578063c2fa418f14610a2d57600080fd5b80638a8c523c11610185578063aa22b17211610154578063aa22b1721461098d578063aa545473146109ad578063b1b08f711461053d578063b3d514fb1461053d57600080fd5b80638a8c523c1461092357806395d89b4114610938578063a457c2d71461094d578063a9059cbb1461096d57600080fd5b806380c581d1116101c157806380c581d11461089757806388f82020146108b7578063893d20e8146108f05780638a63bd9b1461090e57600080fd5b806370a08231146107c0578063715018a6146107e057806375cb1bd1146107f55780637b45d4311461081557600080fd5b806333251a0b116102e25780634fbee19311610275578063590ffdce11610244578063590ffdce146107325780635c24b074146107525780635cce86cd146107725780636ebd0078146107ab57600080fd5b80634fbee193146106a557806350a8e016146106de578063533ecf54146106fd57806355dbc3691461071d57600080fd5b80633f3cf56c116102b15780633f3cf56c1461062b578063452ed4f11461064b5780634ada218b1461066b5780634fb2e45d1461068557600080fd5b806333251a0b146105ab57806334cd8260146105cb57806336fddb04146105eb578063395093511461060b57600080fd5b806313e461921161035a5780632b28fc7a116103295780632b28fc7a1461053d5780632d838119146105535780632e8fa82114610573578063313ce5671461058957600080fd5b806313e46192146104c857806318160ddd146104e857806323b872dd146104fd5780632610eaca1461051d57600080fd5b806305bbedb61161039657806305bbedb61461043657806306fdde03146104565780630758d92414610478578063095ea7b31461049857600080fd5b806303fd2a45146103c85780630445b667146103fb57806305b857551461041f57600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103de61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561040757600080fd5b50610411601d5481565b6040519081526020016103f2565b34801561042b57600080fd5b50610434610cb9565b005b34801561044257600080fd5b50610434610451366004614c95565b610d73565b34801561046257600080fd5b5061046b610e47565b6040516103f29190614d13565b34801561048457600080fd5b506015546103de906001600160a01b031681565b3480156104a457600080fd5b506104b86104b3366004614d46565b610ed9565b60405190151581526020016103f2565b3480156104d457600080fd5b506104346104e3366004614d72565b610ef0565b3480156104f457600080fd5b506104116113b3565b34801561050957600080fd5b506104b8610518366004614da0565b6113cc565b34801561052957600080fd5b50610434610538366004614e3c565b611444565b34801561054957600080fd5b506104116107d081565b34801561055f57600080fd5b5061041161056e366004614ea0565b611549565b34801561057f57600080fd5b50610411601e5481565b34801561059557600080fd5b50600e5460405160ff90911681526020016103f2565b3480156105b757600080fd5b506104346105c6366004614eb9565b6115e0565b3480156105d757600080fd5b506104346105e6366004614ed6565b6116b0565b3480156105f757600080fd5b50610434610606366004614d72565b611740565b34801561061757600080fd5b506104b8610626366004614d46565b6117b9565b34801561063757600080fd5b50610434610646366004614f11565b6117f5565b34801561065757600080fd5b506016546103de906001600160a01b031681565b34801561067757600080fd5b506020546104b89060ff1681565b34801561069157600080fd5b506104346106a0366004614eb9565b611900565b3480156106b157600080fd5b506104b86106c0366004614eb9565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106ea57600080fd5b506020546104b890610100900460ff1681565b34801561070957600080fd5b50610434610718366004614eb9565b611aff565b34801561072957600080fd5b50610411612192565b34801561073e57600080fd5b5061043461074d366004614d72565b612210565b34801561075e57600080fd5b5061043461076d366004614eb9565b612289565b34801561077e57600080fd5b506104b861078d366004614eb9565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107b757600080fd5b506104116123c8565b3480156107cc57600080fd5b506104116107db366004614eb9565b6123e9565b3480156107ec57600080fd5b50610434612448565b34801561080157600080fd5b50610434610810366004614f33565b6124f8565b34801561082157600080fd5b506011546108629061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a0016103f2565b3480156108a357600080fd5b506104346108b2366004614d72565b612592565b3480156108c357600080fd5b506104b86108d2366004614eb9565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156108fc57600080fd5b506000546001600160a01b03166103de565b34801561091a57600080fd5b506104b8612753565b34801561092f57600080fd5b506104346127c2565b34801561094457600080fd5b5061046b6129b2565b34801561095957600080fd5b506104b8610968366004614d46565b6129c1565b34801561097957600080fd5b506104b8610988366004614d46565b6129f8565b34801561099957600080fd5b506104346109a8366004614f95565b612a0f565b3480156109b957600080fd5b506104346109c8366004614fd8565b612af0565b3480156109d957600080fd5b506104346109e836600461502c565b612c30565b3480156109f957600080fd5b50610434610a08366004614fd8565b612d10565b348015610a1957600080fd5b50610434610a28366004614fd8565b612e50565b348015610a3957600080fd5b506013546108629061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b348015610a8657600080fd5b506012546108629061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b348015610ad357600080fd5b50610434610ae236600461506c565b612f90565b348015610af357600080fd5b50601454610b249061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103f2565b348015610b5e57600080fd5b50610411610b6d366004615089565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610ba457600080fd5b50610411601b5481565b348015610bba57600080fd5b50610434610bc93660046150b7565b613032565b348015610bda57600080fd5b50610434610be9366004614eb9565b61318f565b348015610bfa57600080fd5b5061043461353e565b348015610c0f57600080fd5b50610434610c1e366004614d72565b613621565b348015610c2f57600080fd5b50601754601854601954610c50926001600160a01b03908116928116911683565b604080516001600160a01b03948516815292841660208401529216918101919091526060016103f2565b348015610c8657600080fd5b50601a546104b890610100900460ff1681565b348015610ca557600080fd5b506104b8610cb4366004614eb9565b6136c9565b6000546001600160a01b03163314610d0c5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b601280547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000166904b002bc00640190012c179055601480547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016660c000700010004179055565b6000546001600160a01b03163314610dc15760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517f05bbedb6000000000000000000000000000000000000000000000000000000008152620100009091046001600160a01b0316906305bbedb690610e119085908590600401615183565b600060405180830381600087803b158015610e2b57600080fd5b505af1158015610e3f573d6000803e3d6000fd5b505050505050565b6060600c8054610e56906151a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610e82906151a7565b8015610ecf5780601f10610ea457610100808354040283529160200191610ecf565b820191906000526020600020905b815481529060010190602001808311610eb257829003601f168201915b5050505050905090565b6000610ee6338484613757565b5060015b92915050565b6000546001600160a01b03163314610f3e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b8015611093576001600160a01b03821660009081526008602052604090205460ff1615610fad5760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c7265616479206578636c756465642e000000006044820152606401610d03565b6001600160a01b03821660009081526001602052604090205415611007576001600160a01b038216600090815260016020526040902054610fed90611549565b6001600160a01b0383166000908152600260205260409020555b6001600160a01b038083166000818152600860205260409020805460ff191660011790556016549091161461108f57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790555b5050565b8061108f576001600160a01b03821660009081526008602052604090205460ff166111005760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920696e636c756465642e000000006044820152606401610d03565b6016546001600160a01b038381169116141561117b5761111e613864565b6001600160a01b038316600090815260026020526040902054611141919061522a565b6001600160a01b038316600090815260016020908152604080832093909355600281528282208290556008905220805460ff191690555050565b6009546001141561122b5761118e613864565b6001600160a01b0383166000908152600260205260409020546111b1919061522a565b6001600160a01b038316600090815260016020908152604080832093909355600281528282208290556008905220805460ff1916905560098054806111f8576111f8615249565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b60005b6009548110156113ae57826001600160a01b03166009828154811061125557611255615278565b6000918252602090912001546001600160a01b0316141561139c5760098054611280906001906152a7565b8154811061129057611290615278565b600091825260209091200154600980546001600160a01b0390921691839081106112bc576112bc615278565b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03948516179055918516815260029091526040812055611308613864565b6001600160a01b03841660009081526002602052604090205461132b919061522a565b6001600160a01b0384166000908152600160209081526040808320939093556008905220805460ff19169055600980548061136857611368615249565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055019055505050565b806113a6816152be565b91505061122e565b505050565b6000600f54600014156113c557600080fd5b50600f5490565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914611431576001600160a01b03841660009081526005602090815260408083203384529091528120805484929061142b9084906152a7565b90915550505b61143c848484613ad7565b949350505050565b80518251146114955760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610d03565b60005b82518160ff1610156113ae57818160ff16815181106114b9576114b9615278565b60200260200101516114ca336123e9565b10156114d557600080fd5b61153633848360ff16815181106114ee576114ee615278565b6020908102919091010151600e5461150a9060ff16600a6153bd565b858560ff168151811061151f5761151f615278565b6020026020010151611531919061522a565b613ad7565b5080611541816153cc565b915050611498565b60006010548211156115c35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e73000000000000000000000000000000000000000000006064820152608401610d03565b60006115cd613864565b90506115d9818461541b565b9392505050565b6000546001600160a01b0316331461162e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517f33251a0b0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015262010000909204909116906333251a0b90602401600060405180830381600087803b15801561169557600080fd5b505af11580156116a9573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146116fe5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b8385600f5461170d919061522a565b611717919061541b565b601d55600f54829061172a90859061522a565b611734919061541b565b601e55601b5550505050565b6000546001600160a01b0316331461178e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610ee69185906117f090869061542f565b613757565b6000546001600160a01b031633146118435760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6103e8600f54611853919061541b565b8183600f54611862919061522a565b61186c919061541b565b10156118e05760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3125206f6620746f74616c20737570706c792e0000000000000000006064820152608401610d03565b8082600f546118ef919061522a565b6118f9919061541b565b601f555050565b6000546001600160a01b0316331461194e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6001600160a01b0381166119ca5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610d03565b6001600160a01b03811661dead1415611a4b5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610d03565b60008054611a64916001600160a01b0390911690612210565b611a6f816001612210565b60008054611a85906001600160a01b03166123e9565b1115611aa757600054611aa5906001600160a01b031682611531826123e9565b505b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314611b4d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b602054760100000000000000000000000000000000000000000000900460ff1615611bba5760405162461bcd60e51b815260206004820152600160248201527f31000000000000000000000000000000000000000000000000000000000000006044820152606401610d03565b602080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff16620100006001600160a01b03848116820292909217928390556040517f1a69523000000000000000000000000000000000000000000000000000000000815230600482015292041690631a69523090602401600060405180830381600087803b158015611c4c57600080fd5b505af1925050508015611c5d575060015b506000602060029054906101000a90046001600160a01b03166001600160a01b031663dbc4d8836040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015611cd457506040513d6000823e601f3d908101601f19168201604052611cd191908101906154ab565b60015b611d205760405162461bcd60e51b815260206004820152600160248201527f33000000000000000000000000000000000000000000000000000000000000006044820152606401610d03565b8451611d3390600c906020880190614ae1565b508351611d4790600d906020870190614ae1565b50600b839055600e805460ff191660ff8416908117909155611d6a90600a6153bd565b600b54611d77919061522a565b600f819055611d8890600019615547565b611d94906000196152a7565b601055601554604080517fc45a015500000000000000000000000000000000000000000000000000000000815290519297506001600160a01b03909116955063c45a015594506004808201945060209350908290030181865afa158015611dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e23919061555b565b6001600160a01b031663c9c65396601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea8919061555b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015611f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f30919061555b565b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790556000908152600360205260409020805460ff19166001179055600f5461271090611f8790600261522a565b611f91919061541b565b601d55600f5461271090611fa690600561522a565b611fb0919061541b565b601e55600f546103e890611fc590600561522a565b611fcf919061541b565b601f55602080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000178155601054600080546001600160a01b039081168252600184526040808320939093558154600f549351938452169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36015546120879033906001600160a01b0316600019613757565b6015546120a19030906001600160a01b0316600019613757565b6000546120bb906001600160a01b031630611531826123e9565b506015546001600160a01b031663f305d71947306120d8816123e9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0392831660048201526024810191909152600060448201819052606482015290851660848201524260a482015260c40160606040518083038185885af1158015612159573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061217e9190615578565b5050506121896127c2565b61108f81611900565b6000602060029054906101000a90046001600160a01b03166001600160a01b03166355dbc3696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220b91906155a6565b905090565b6000546001600160a01b0316331461225e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146122d75760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b602054610100900460ff161561232f5760405162461bcd60e51b815260206004820152601860248201527f4c697175696469747920697320616c726561647920696e2e00000000000000006044820152606401610d03565b6001600160a01b0381163014156123885760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610d03565b602080546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b600e546000906123dc9060ff16600a6153bd565b601f5461220b919061541b565b6001600160a01b03811660009081526008602052604081205460ff161561242657506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610eea90611549565b6000546001600160a01b031633146124965760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b600080546124af916001600160a01b0390911690612210565b6000805473ffffffffffffffffffffffffffffffffffffffff1916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b031633146125465760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b601780546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155601880549385169382169390931790925560198054919093169116179055565b6000546001600160a01b031633146125e05760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b8061266d576001600160a01b038281166000818152600360209081526040808320805460ff19169055905490517f80c581d100000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152620100009004909116906380c581d190604401600060405180830381600087803b158015610e2b57600080fd5b600454156126d4576203f4806004544261268791906152a7565b116126d45760405162461bcd60e51b815260206004820152601060248201527f332044617920636f6f6c646f776e2e21000000000000000000000000000000006044820152606401610d03565b6001600160a01b03828116600081815260036020908152604091829020805460ff19166001908117909155426004908155915492517f80c581d1000000000000000000000000000000000000000000000000000000008152918201939093526024810192909252620100009004909116906380c581d190604401610e11565b600080546001600160a01b031633146127a25760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6015546127bc9030906001600160a01b0316600019613757565b50600190565b6000546001600160a01b031633146128105760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60205460ff16156128635760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610d03565b602054610100900460ff166128ba5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610d03565b6020546201000090046001600160a01b031661290057602080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b602054601654600e546040517f6c115c340000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260ff9091166064820152620100009092041690636c115c3490608401600060405180830381600087803b15801561299157600080fd5b505af19250505080156129a2575060015b506020805460ff19166001179055565b6060600d8054610e56906151a7565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610ee69185906117f09086906152a7565b6000612a05338484613ad7565b5060019392505050565b6000546001600160a01b03163314612a5d5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6014805461ffff838116640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff868316620100000263ffffffff1990941692881692909217929092171617905580612aba83856155bf565b612ac491906155bf565b6014805461ffff9290921666010000000000000267ffff00000000000019909216919091179055505050565b6000546001600160a01b03163314612b3e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008183612b4c86886155bf565b612b5691906155bf565b612b6091906155bf565b90506107d08161ffff161115612b7557600080fd5b6013805461ffff87811663ffffffff19909216919091176201000087831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008683160267ffff000000000000191617660100000000000091851691909102179055612be985826155e5565b6013805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9092169190911790555050505050565b6000546001600160a01b03163314612c7e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517f6a34b758000000000000000000000000000000000000000000000000000000008152841515600482015283151560248201528215156044820152620100009091046001600160a01b031690636a34b75890606401600060405180830381600087803b158015612cf357600080fd5b505af1158015612d07573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314612d5e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008183612d6c86886155bf565b612d7691906155bf565b612d8091906155bf565b90506107d08161ffff161115612d9557600080fd5b6011805461ffff87811663ffffffff19909216919091176201000087831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008683160267ffff000000000000191617660100000000000091851691909102179055612e0985826155e5565b6011805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9092169190911790555050505050565b6000546001600160a01b03163314612e9e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008183612eac86886155bf565b612eb691906155bf565b612ec091906155bf565b90506107d08161ffff161115612ed557600080fd5b6012805461ffff87811663ffffffff19909216919091176201000087831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008683160267ffff000000000000191617660100000000000091851691909102179055612f4985826155e5565b6012805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9092169190911790555050505050565b6000546001600160a01b03163314612fde5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b601a80548215156101000261ff00199091161790556040517f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579061302790831515815260200190565b60405180910390a150565b81518351148015613044575080518251145b6130905760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610d03565b60005b83518160ff16101561318957818160ff16815181106130b4576130b4615278565b6020026020010151838260ff16815181106130d1576130d1615278565b6020026020010151600f546130e6919061522a565b6130f0919061541b565b6130f9336123e9565b101561310457600080fd5b61317633858360ff168151811061311d5761311d615278565b6020026020010151848460ff168151811061313a5761313a615278565b6020026020010151868560ff168151811061315757613157615278565b6020026020010151600f5461316c919061522a565b611531919061541b565b5080613181816153cc565b915050613093565b50505050565b6000546001600160a01b031633146131dd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613222573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613246919061555b565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b7919061555b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561331a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333e919061555b565b90506001600160a01b0381166134dc57816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561338c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b0919061555b565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613421919061555b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015613486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134aa919061555b565b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055613505565b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b6015805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556113ae903090600019613757565b6000546001600160a01b0316331461358c5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b602054610100900460ff16156135e45760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610d03565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561361e573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461366f5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610d03565b6020546040517feec2744e0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528315156024830152620100009092049091169063eec2744e90604401610e11565b6020546040517ffe575a870000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092620100009004169063fe575a8790602401602060405180830381865afa158015613733573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eea9190615608565b6001600160a01b0383166137ad5760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610d03565b6001600160a01b0382166138035760405162461bcd60e51b815260206004820152601360248201527f45524332303a205a65726f2041646472657373000000000000000000000000006044820152606401610d03565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b601054600f546016546001600160a01b03166000908152600860205260408120549092919060ff161561393e576016546001600160a01b03166000908152600160205260409020548210806138d257506016546001600160a01b031660009081526002602052604090205481105b156138ee57600f546010546138e7919061541b565b9250505090565b6016546001600160a01b031660009081526001602052604090205461391390836152a7565b6016546001600160a01b031660009081526002602052604090205490925061393b90826152a7565b90505b60095415613aa65760005b60095460ff82161015613aa457826001600060098460ff168154811061397157613971615278565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806139df5750816002600060098460ff16815481106139b8576139b8615278565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156139fc57600f546010546139f4919061541b565b935050505090565b6001600060098360ff1681548110613a1657613a16615278565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613a4590846152a7565b92506002600060098360ff1681548110613a6157613a61615278565b60009182526020808320909101546001600160a01b03168352820192909252604001902054613a9090836152a7565b915080613a9c816153cc565b915050613949565b505b600f54601054613ab6919061541b565b821015613acd57600f546010546138e7919061541b565b6138e7818361541b565b60006001600160a01b038416613b555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610d03565b6001600160a01b038316613bd15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610d03565b60008211613c475760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610d03565b613c518484613e95565b15613dab5760205460ff16613ca85760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610d03565b6001600160a01b03841660009081526003602052604090205460ff1680613ce757506001600160a01b03831660009081526003602052604090205460ff165b15613dab576001600160a01b03841660009081526007602052604090205460ff16158015613d2e57506001600160a01b03831660009081526007602052604090205460ff16155b15613dab57601f54821115613dab5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785460448201527f78416d6f756e742e0000000000000000000000000000000000000000000000006064820152608401610d03565b6001600160a01b03841660009081526006602052604090205460019060ff1680613ded57506001600160a01b03841660009081526006602052604090205460ff165b15613df6575060005b6001600160a01b03841660009081526003602052604090205460ff1615613e8057601a5460ff16158015613e315750601a54610100900460ff165b15613e805742601b54601c54613e47919061542f565b11613e80576000613e57306123e9565b9050601d548110613e7e57601e548110613e705750601e545b613e7981613f69565b42601c555b505b613e8c85858584614366565b95945050505050565b600080546001600160a01b03848116911614801590613ec257506000546001600160a01b03838116911614155b8015613ed957506000546001600160a01b03163214155b8015613efe57506001600160a01b0382166000908152600a602052604090205460ff16155b8015613f2357506001600160a01b0383166000908152600a602052604090205460ff16155b8015613f3a57506001600160a01b03821661dead14155b8015613f4e57506001600160a01b03821615155b80156115d957506001600160a01b0383163014159392505050565b601a805460ff191660011790556040805160808101825260145461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052613fc75750614359565b3060009081526005602090815260408083206015546001600160a01b0316845290915290205460001914614020573060009081526005602090815260408083206015546001600160a01b03168452909152902060001990555b604080516002808252606082018352600092602083019080368337019050509050308160008151811061405557614055615278565b6001600160a01b03928316602091820292909201810191909152601554604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa1580156140c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140eb919061555b565b816001815181106140fe576140fe615278565b6001600160a01b0392831660209182029290920101526015546040517f791ac94700000000000000000000000000000000000000000000000000000000815291169063791ac9479061415d908690600090869030904290600401615625565b600060405180830381600087803b15801561417757600080fd5b505af115801561418b573d6000803e3d6000fd5b5050506060830151835147925060009161ffff908116916141ad91168461522a565b6141b7919061541b565b90506000846060015161ffff16856020015161ffff16846141d8919061522a565b6141e2919061541b565b90506000856060015161ffff16866040015161ffff1685614203919061522a565b61420d919061541b565b865190915060009061ffff161561427b576017546040516001600160a01b03909116906175309086906000818181858888f193505050503d8060008114614270576040519150601f19603f3d011682016040523d82523d6000602084013e614275565b606091505b50909150505b602087015161ffff16156142e6576018546040516001600160a01b03909116906175309085906000818181858888f193505050503d80600081146142db576040519150601f19603f3d011682016040523d82523d6000602084013e6142e0565b606091505b50909150505b604087015161ffff1615614351576019546040516001600160a01b03909116906175309084906000818181858888f193505050503d8060008114614346576040519150601f19603f3d011682016040523d82523d6000602084013e61434b565b606091505b50909150505b505050505050505b50601a805460ff19169055565b602054600090610100900460ff166144125761438285856145da565b602054610100900460ff1615801561439f575061439f8585613e95565b156144125760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e7366657220617420746869732060448201527f74696d652e0000000000000000000000000000000000000000000000000000006064820152608401610d03565b600061442086868686614739565b60808101516001600160a01b03881660009081526001602052604081208054939450919261444f9084906152a7565b909155505060608101516001600160a01b0386166000908152600160205260408120805490919061448190849061542f565b90915550506001600160a01b03861660009081526008602052604090205460ff16156144e5576001600160a01b0386166000908152600260205260409020546144cb9085906152a7565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526008602052604090205460ff16156145455780516001600160a01b03861660009081526002602052604090205461452b919061542f565b6001600160a01b0386166000908152600260205260409020555b60008160a00151118061455c575060008160200151115b1561457d578060a001516010600082825461457791906152a7565b90915550505b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83600001516040516145c691815260200190565b60405180910390a350600195945050505050565b602054610100900460ff16156146585760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152608401610d03565b6146628282613e95565b15801561467c57506016546001600160a01b038281169116145b1561108f576001600160a01b038083166000908152600a60209081526040909120805460ff19166001179055805461ff0019166101001790819055620100009004166146f257602080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff163062010000021790555b601a805461ff001916610100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6147796040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6147b96040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6147c1613864565b60c082018190526147d2908561522a565b60808201526147e18686613e95565b15614894576020546040517fecd07a530000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152878116602483015260448201879052600092620100009004169063ecd07a53906064016020604051808303816000875af192505050801561487d575060408051601f3d908101601f1916820190925261487a91810190615608565b60015b61488657600080fd5b90508061489257600080fd5b505b82156149b1576001600160a01b03851660009081526003602052604081205481906127109060ff16156148e15760125461ffff80821694506801000000000000000090910416915061493e565b6001600160a01b03891660009081526003602052604090205460ff16156149225760115461ffff80821694506801000000000000000090910416915061493e565b60135461ffff8082169450680100000000000000009091041691505b80614949848961522a565b614953919061541b565b602085015280614963838961522a565b61496d919061541b565b604085018190526020850151614983919061542f565b61498d90886152a7565b845260c084015160208501516149a3919061522a565b60a0850152506149ca915050565b6000602082018190526040820181905284825260a08201525b604081015115614aa1578060c0015181604001516149e8919061522a565b3060009081526001602052604081208054909190614a0790849061542f565b90915550503060009081526008602052604090205460ff1615614a4f576040808201513060009081526002602052918220805491929091614a4990849061542f565b90915550505b306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360400151604051614a9891815260200190565b60405180910390a35b8060c001518160400151614ab5919061522a565b8160a00151614ac4919061542f565b8160800151614ad391906152a7565b606082015295945050505050565b828054614aed906151a7565b90600052602060002090601f016020900481019282614b0f5760008555614b55565b82601f10614b2857805160ff1916838001178555614b55565b82800160010185558215614b55579182015b82811115614b55578251825591602001919060010190614b3a565b50614b61929150614b65565b5090565b5b80821115614b615760008155600101614b66565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614bd257614bd2614b7a565b604052919050565b600067ffffffffffffffff821115614bf457614bf4614b7a565b5060051b60200190565b6001600160a01b038116811461361e57600080fd5b600082601f830112614c2457600080fd5b81356020614c39614c3483614bda565b614ba9565b82815260059290921b84018101918181019086841115614c5857600080fd5b8286015b84811015614c7c578035614c6f81614bfe565b8352918301918301614c5c565b509695505050505050565b801515811461361e57600080fd5b60008060408385031215614ca857600080fd5b823567ffffffffffffffff811115614cbf57600080fd5b614ccb85828601614c13565b9250506020830135614cdc81614c87565b809150509250929050565b60005b83811015614d02578181015183820152602001614cea565b838111156131895750506000910152565b6020815260008251806020840152614d32816040850160208701614ce7565b601f01601f19169190910160400192915050565b60008060408385031215614d5957600080fd5b8235614d6481614bfe565b946020939093013593505050565b60008060408385031215614d8557600080fd5b8235614d9081614bfe565b91506020830135614cdc81614c87565b600080600060608486031215614db557600080fd5b8335614dc081614bfe565b92506020840135614dd081614bfe565b929592945050506040919091013590565b600082601f830112614df257600080fd5b81356020614e02614c3483614bda565b82815260059290921b84018101918181019086841115614e2157600080fd5b8286015b84811015614c7c5780358352918301918301614e25565b60008060408385031215614e4f57600080fd5b823567ffffffffffffffff80821115614e6757600080fd5b614e7386838701614c13565b93506020850135915080821115614e8957600080fd5b50614e9685828601614de1565b9150509250929050565b600060208284031215614eb257600080fd5b5035919050565b600060208284031215614ecb57600080fd5b81356115d981614bfe565b600080600080600060a08688031215614eee57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215614f2457600080fd5b50508035926020909101359150565b600080600060608486031215614f4857600080fd5b8335614f5381614bfe565b92506020840135614f6381614bfe565b91506040840135614f7381614bfe565b809150509250925092565b803561ffff81168114614f9057600080fd5b919050565b600080600060608486031215614faa57600080fd5b614fb384614f7e565b9250614fc160208501614f7e565b9150614fcf60408501614f7e565b90509250925092565b60008060008060808587031215614fee57600080fd5b614ff785614f7e565b935061500560208601614f7e565b925061501360408601614f7e565b915061502160608601614f7e565b905092959194509250565b60008060006060848603121561504157600080fd5b833561504c81614c87565b9250602084013561505c81614c87565b91506040840135614f7381614c87565b60006020828403121561507e57600080fd5b81356115d981614c87565b6000806040838503121561509c57600080fd5b82356150a781614bfe565b91506020830135614cdc81614bfe565b6000806000606084860312156150cc57600080fd5b833567ffffffffffffffff808211156150e457600080fd5b6150f087838801614c13565b9450602086013591508082111561510657600080fd5b61511287838801614de1565b9350604086013591508082111561512857600080fd5b5061513586828701614de1565b9150509250925092565b600081518084526020808501945080840160005b838110156151785781516001600160a01b031687529582019590820190600101615153565b509495945050505050565b604081526000615196604083018561513f565b905082151560208301529392505050565b600181811c908216806151bb57607f821691505b602082108114156151f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000816000190483118215151615615244576152446151fb565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000828210156152b9576152b96151fb565b500390565b60006000198214156152d2576152d26151fb565b5060010190565b600181815b808511156153145781600019048211156152fa576152fa6151fb565b8085161561530757918102915b93841c93908002906152de565b509250929050565b60008261532b57506001610eea565b8161533857506000610eea565b816001811461534e576002811461535857615374565b6001915050610eea565b60ff841115615369576153696151fb565b50506001821b610eea565b5060208310610133831016604e8410600b8410161715615397575081810a610eea565b6153a183836152d9565b80600019048211156153b5576153b56151fb565b029392505050565b60006115d960ff84168361531c565b600060ff821660ff8114156153e3576153e36151fb565b60010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261542a5761542a6153ec565b500490565b60008219821115615442576154426151fb565b500190565b600082601f83011261545857600080fd5b815167ffffffffffffffff81111561547257615472614b7a565b6154856020601f19601f84011601614ba9565b81815284602083860101111561549a57600080fd5b61143c826020830160208701614ce7565b600080600080600060a086880312156154c357600080fd5b855167ffffffffffffffff808211156154db57600080fd5b6154e789838a01615447565b965060208801519150808211156154fd57600080fd5b5061550a88828901615447565b94505060408601519250606086015160ff8116811461552857600080fd5b608087015190925061553981614bfe565b809150509295509295909350565b600082615556576155566153ec565b500690565b60006020828403121561556d57600080fd5b81516115d981614bfe565b60008060006060848603121561558d57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156155b857600080fd5b5051919050565b600061ffff8083168185168083038211156155dc576155dc6151fb565b01949350505050565b600061ffff83811690831681811015615600576156006151fb565b039392505050565b60006020828403121561561a57600080fd5b81516115d981614c87565b85815284602082015260a06040820152600061564460a083018661513f565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220d71662e966ac5175003953732855a8fcba0485ae1e55d36757f750e98b0e9b5464736f6c634300080b0033
©2022-now by Spectre