15 txs
29 calls
constructor
constructor(address _keeperAddress)
functions
_deploymentFee
viewfunction _deploymentFee() view returns (uint256)
_presale
viewfunction _presale(address) view returns (string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, address fundReceiver, address tokenAddress, address keeperAddress)
_tokenInfo
viewfunction _tokenInfo(uint256) view returns (string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, address fundReceiver, address tokenAddress, address keeperAddress)
fundReceiver
viewfunction fundReceiver() view returns (address)
getDeploymentFee
viewfunction getDeploymentFee() view returns (uint256)
getTokenInfo
viewfunction getTokenInfo(address tokenAddress) view returns (tuple)
keeperAddress
viewfunction keeperAddress() view returns (address)
owner
viewfunction owner() view returns (address)
tokenLength
viewfunction tokenLength() view returns (uint256)
createPresaleToken
payablefunction createPresaleToken(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, bool _buybackEnabled, uint256 _minBuybackReservePercentage, address _uniswapV2Router) payable
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
setDeploymentFee
nonpayablefunction setDeploymentFee(uint256 _fee)
setFundReceiver
nonpayablefunction setFundReceiver(address _receiver)
setKeeperAddress
nonpayablefunction setKeeperAddress(address _receiver)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
TokenCreated
event TokenCreated(address indexed tokenAddress, string name, string symbol, uint256 totalSupply, address indexed creator)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50604051614e78380380614e7883398101604081905261002f916100db565b6001600160a01b03811661009b5760405162461bcd60e51b815260206004820152602960248201527f45524332303a206b6565706572206164647265737320697320746865207a65726044820152686f206164647265737360b81b606482015260840160405180910390fd5b60008054336001600160a01b03199182168117909255600180548216909217909155600280549091166001600160a01b039290921691909117905561010b565b6000602082840312156100ed57600080fd5b81516001600160a01b038116811461010457600080fd5b9392505050565b614d5e8061011a6000396000f3fe608060405260043610620000fb5760003560e01c8063a5dd46861162000095578063de66341e1162000060578063de66341e14620002ad578063e37242f914620002c4578063f2fde38b14620002e9578063fb4aa0a1146200030e57600080fd5b8063a5dd46861462000229578063b67a85bd146200024e578063d002462b1462000270578063db2e21bc146200029557600080fd5b806346c549cc11620000d657806346c549cc14620001785780634bb8456c146200018f5780635839289c14620001c95780638da5cb5b14620001ee57600080fd5b80630556ca9514620001005780631d45a1fd146200012b5780631f69565f1462000144575b600080fd5b3480156200010d57600080fd5b506200011860035481565b6040519081526020015b60405180910390f35b620001426200013c3660046200103c565b62000330565b005b3480156200015157600080fd5b506200016962000163366004620010ff565b620008cb565b6040516200012291906200116e565b3480156200018557600080fd5b5060035462000118565b3480156200019c57600080fd5b50620001b4620001ae3660046200120b565b62000aa6565b60405162000122979695949392919062001225565b348015620001d657600080fd5b50620001b4620001e8366004620010ff565b62000c2d565b348015620001fb57600080fd5b5060005462000210906001600160a01b031681565b6040516001600160a01b03909116815260200162000122565b3480156200023657600080fd5b506200014262000248366004620010ff565b62000c4a565b3480156200025b57600080fd5b5060025462000210906001600160a01b031681565b3480156200027d57600080fd5b50620001426200028f3660046200120b565b62000cc2565b348015620002a257600080fd5b506200014262000cf4565b348015620002ba57600080fd5b5060055462000118565b348015620002d157600080fd5b5062000142620002e3366004620010ff565b62000e27565b348015620002f657600080fd5b506200014262000308366004620010ff565b62000e9f565b3480156200031b57600080fd5b5060015462000210906001600160a01b031681565b6000875111620003875760405162461bcd60e51b815260206004820181905260248201527f50726f7879546f6b656e3a206e616d652063616e6e6f7420626520656d70747960448201526064015b60405180910390fd5b6000865111620003e55760405162461bcd60e51b815260206004820152602260248201527f50726f7879546f6b656e3a2073796d626f6c2063616e6e6f7420626520656d70604482015261747960f01b60648201526084016200037e565b600084116200044f5760405162461bcd60e51b815260206004820152602f60248201527f50726f7879546f6b656e3a20746f74616c20737570706c79206d75737420626560448201526e02067726561746572207468616e203608c1b60648201526084016200037e565b600354341015620004b35760405162461bcd60e51b815260206004820152602760248201527f50726f7879546f6b656e3a20696e73756666696369656e74206465706c6f796d604482015266656e742066656560c81b60648201526084016200037e565b6001546001600160a01b0316620004de5760405162461bcd60e51b81526004016200037e9062001288565b6002546001600160a01b0316620005095760405162461bcd60e51b81526004016200037e9062001288565b6001600160a01b0381166200056c5760405162461bcd60e51b815260206004820152602260248201527f50726f7879546f6b656e3a20756e697377617020726f75746572206e6f742073604482015261195d60f21b60648201526084016200037e565b341562000632576001546040516000916001600160a01b03169034908381818185875af1925050503d8060008114620005c2576040519150601f19603f3d011682016040523d82523d6000602084013e620005c7565b606091505b5050905080620006305760405162461bcd60e51b815260206004820152602d60248201527f50726f7879546f6b656e3a206661696c656420746f207472616e73666572206460448201526c65706c6f796d656e742066656560981b60648201526084016200037e565b505b60015460025460405160009283928b928b928b928b926001600160a01b0392831692339216908c908c908c90620006699062000f58565b6200067e9a99989796959493929190620012c9565b6040518091039082f09050801580156200069c573d6000803e3d6000fd5b506040805160e0810182528a815260208082018b905260ff8a1682840152606082018990526001546001600160a01b03908116608084015280851660a0840181905260025490911660c084015260009081526004909152919091208151929350909182919081906200070f9082620013d6565b5060208201516001820190620007269082620013d6565b50604082015160028201805460ff90921660ff199092169190911790556060820151600382015560808201516004820180546001600160a01b039283166001600160a01b03199182161790915560a0840151600580850180549285169284169290921790915560c090940151600690930180549390921692169190911790558054600181018255600091909152815182916007027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001908190620007eb9082620013d6565b5060208201516001820190620008029082620013d6565b5060408281015160028301805460ff191660ff9092169190911790556060830151600383015560808301516004830180546001600160a01b03199081166001600160a01b039384161790915560a0850151600585018054831691841691909117905560c0909401516006909301805490941692811692909217909255905133918416907fb7d8fd3c9d56d12c15c8e139bc4e6febd6ad2349b3ebe6a1a91c0a9e7797710d90620008b8908d908d908c90620014a3565b60405180910390a3505050505050505050565b6040805160e081018252606080825260208201819052600092820183905281018290526080810182905260a0810182905260c08101919091526001600160a01b03821660009081526004602052604090819020815160e08101909252805482908290620009389062001345565b80601f0160208091040260200160405190810160405280929190818152602001828054620009669062001345565b8015620009b75780601f106200098b57610100808354040283529160200191620009b7565b820191906000526020600020905b8154815290600101906020018083116200099957829003601f168201915b50505050508152602001600182018054620009d29062001345565b80601f016020809104026020016040519081016040528092919081815260200182805462000a009062001345565b801562000a515780601f1062000a255761010080835404028352916020019162000a51565b820191906000526020600020905b81548152906001019060200180831162000a3357829003601f168201915b5050509183525050600282015460ff1660208201526003820154604082015260048201546001600160a01b03908116606083015260058301548116608083015260069092015490911660a09091015292915050565b6005818154811062000ab757600080fd5b906000526020600020906007020160009150905080600001805462000adc9062001345565b80601f016020809104026020016040519081016040528092919081815260200182805462000b0a9062001345565b801562000b5b5780601f1062000b2f5761010080835404028352916020019162000b5b565b820191906000526020600020905b81548152906001019060200180831162000b3d57829003601f168201915b50505050509080600101805462000b729062001345565b80601f016020809104026020016040519081016040528092919081815260200182805462000ba09062001345565b801562000bf15780601f1062000bc55761010080835404028352916020019162000bf1565b820191906000526020600020905b81548152906001019060200180831162000bd357829003601f168201915b505050506002830154600384015460048501546005860154600690960154949560ff909316949193506001600160a01b03908116928116911687565b60046020526000908152604090208054819062000adc9062001345565b6000546001600160a01b0316331462000c775760405162461bcd60e51b81526004016200037e90620014dd565b6001600160a01b03811662000ca05760405162461bcd60e51b81526004016200037e9062001520565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331462000cef5760405162461bcd60e51b81526004016200037e90620014dd565b600355565b6000546001600160a01b0316331462000d215760405162461bcd60e51b81526004016200037e90620014dd565b478062000d7c5760405162461bcd60e51b815260206004820152602260248201527f50726f7879546f6b656e3a206e6f2062616c616e636520746f20776974686472604482015261617760f01b60648201526084016200037e565b600080546040516001600160a01b039091169083908381818185875af1925050503d806000811462000dcb576040519150601f19603f3d011682016040523d82523d6000602084013e62000dd0565b606091505b505090508062000e235760405162461bcd60e51b815260206004820152601e60248201527f50726f7879546f6b656e3a206661696c656420746f207769746864726177000060448201526064016200037e565b5050565b6000546001600160a01b0316331462000e545760405162461bcd60e51b81526004016200037e90620014dd565b6001600160a01b03811662000e7d5760405162461bcd60e51b81526004016200037e9062001520565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331462000ecc5760405162461bcd60e51b81526004016200037e90620014dd565b6001600160a01b03811662000f365760405162461bcd60e51b815260206004820152602960248201527f50726f7879546f6b656e3a206e6577206f776e657220697320746865207a65726044820152686f206164647265737360b81b60648201526084016200037e565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6137c0806200156983390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011262000f8e57600080fd5b813567ffffffffffffffff8082111562000fac5762000fac62000f66565b604051601f8301601f19908116603f0116810190828211818310171562000fd75762000fd762000f66565b8160405283815286602085880101111562000ff157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b03811681146200102757600080fd5b50565b8035620010378162001011565b919050565b600080600080600080600060e0888a0312156200105857600080fd5b873567ffffffffffffffff808211156200107157600080fd5b6200107f8b838c0162000f7c565b985060208a01359150808211156200109657600080fd5b50620010a58a828b0162000f7c565b965050604088013560ff81168114620010bd57600080fd5b94506060880135935060808801358015158114620010da57600080fd5b925060a08801359150620010f160c089016200102a565b905092959891949750929550565b6000602082840312156200111257600080fd5b81356200111f8162001011565b9392505050565b6000815180845260005b818110156200114e5760208185018101518683018201520162001130565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160e060208401526200118d61010084018262001126565b90506020840151601f19848303016040850152620011ac828262001126565b91505060ff604085015116606084015260608401516080840152608084015160018060a01b0380821660a08601528060a08701511660c0860152505060c08401516200120360e08501826001600160a01b03169052565b509392505050565b6000602082840312156200121e57600080fd5b5035919050565b60e0815260006200123a60e083018a62001126565b82810360208401526200124e818a62001126565b60ff989098166040840152505060608101949094526001600160a01b03928316608085015290821660a08401521660c09091015292915050565b60208082526021908201527f50726f7879546f6b656e3a2066756e64207265636569766572206e6f742073656040820152601d60fa1b606082015260800190565b6000610140808352620012df8184018e62001126565b90508281036020840152620012f5818d62001126565b60ff9b909b166040840152505060608101979097526001600160a01b03958616608088015293851660a087015291841660c0860152151560e0850152610100840152166101209091015292915050565b600181811c908216806200135a57607f821691505b6020821081036200137b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013d1576000816000526020600020601f850160051c81016020861015620013ac5750805b601f850160051c820191505b81811015620013cd57828155600101620013b8565b5050505b505050565b815167ffffffffffffffff811115620013f357620013f362000f66565b6200140b8162001404845462001345565b8462001381565b602080601f8311600181146200144357600084156200142a5750858301515b600019600386901b1c1916600185901b178555620013cd565b600085815260208120601f198616915b82811015620014745788860151825594840194600190910190840162001453565b5085821015620014935787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b606081526000620014b8606083018662001126565b8281036020840152620014cc818662001126565b915050826040830152949350505050565b60208082526023908201527f50726f7879546f6b656e3a2063616c6c6572206973206e6f7420746865206f776040820152623732b960e91b606082015260800190565b60208082526028908201527f50726f7879546f6b656e3a20726563656976657220697320746865207a65726f604082015267206164647265737360c01b60608201526080019056fe61010060405261012c600f55604051620037c0380380620037c08339810160408190526200002d916200071a565b846001600160a01b0381166200005e57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6200006981620005b4565b50600180556001600160a01b038616620000d75760405162461bcd60e51b815260206004820152602860248201527f45524332303a2066756e6420726563656976657220697320746865207a65726f604482015267206164647265737360c01b606482015260840162000055565b6001600160a01b038416620001415760405162461bcd60e51b815260206004820152602960248201527f45524332303a206b6565706572206164647265737320697320746865207a65726044820152686f206164647265737360b81b606482015260840162000055565b6001600160a01b038516620001995760405162461bcd60e51b815260206004820181905260248201527f45524332303a206f776e657220697320746865207a65726f2061646472657373604482015260640162000055565b60008a5111620001ec5760405162461bcd60e51b815260206004820152601b60248201527f45524332303a206e616d652063616e6e6f7420626520656d7074790000000000604482015260640162000055565b60008951116200023f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2073796d626f6c2063616e6e6f7420626520656d707479000000604482015260640162000055565b60008711620002a45760405162461bcd60e51b815260206004820152602a60248201527f45524332303a20746f74616c20737570706c79206d75737420626520677265616044820152690746572207468616e20360b41b606482015260840162000055565b6008620002b28b826200089a565b506007620002c18a826200089a565b5060ff881660809081526006889055600980546001600160a01b03199081166001600160a01b038a8116918217909355600a805483168a8516179055600b805483169091179055600c8054909116878316179055600e805460ff191686151517905560108490556040805160e081018252603280825260208083018290526105dc8385018190526103e8606085018190526101f497850188905260c860a0808701829052606460c097880181905260118790556012969096556013939093556014919091556015979097556016969096556017919091554290945291841691829052805163c45a015560e01b8152905160009363c45a015592600480820193918290030181865afa158015620003db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000401919062000966565b9050806001600160a01b031663c9c653963060c0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200047a919062000966565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620004c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ee919062000966565b6001600160a01b0390811660e081905260009081526005602090815260408083208054600160ff1991821681179092558b861680865260048552838620805483168417905530865283862080548316841790558d871686528386208054831684179055958b168552828520805490911690911790556006548484526002835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050505050505050506200098d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200062c57600080fd5b81516001600160401b038082111562000649576200064962000604565b604051601f8301601f19908116603f0116810190828211818310171562000674576200067462000604565b81604052838152602092508660208588010111156200069257600080fd5b600091505b83821015620006b6578582018301518183018401529082019062000697565b6000602085830101528094505050505092915050565b805160ff81168114620006de57600080fd5b919050565b6001600160a01b0381168114620006f957600080fd5b50565b8051620006de81620006e3565b80518015158114620006de57600080fd5b6000806000806000806000806000806101408b8d0312156200073b57600080fd5b8a516001600160401b03808211156200075357600080fd5b620007618e838f016200061a565b9b5060208d01519150808211156200077857600080fd5b50620007878d828e016200061a565b9950506200079860408c01620006cc565b975060608b01519650620007af60808c01620006fc565b9550620007bf60a08c01620006fc565b9450620007cf60c08c01620006fc565b9350620007df60e08c0162000709565b92506101008b01519150620007f86101208c01620006fc565b90509295989b9194979a5092959850565b600181811c908216806200081e57607f821691505b6020821081036200083f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000895576000816000526020600020601f850160051c81016020861015620008705750805b601f850160051c820191505b8181101562000891578281556001016200087c565b5050505b505050565b81516001600160401b03811115620008b657620008b662000604565b620008ce81620008c7845462000809565b8462000845565b602080601f831160018114620009065760008415620008ed5750858301515b600019600386901b1c1916600185901b17855562000891565b600085815260208120601f198616915b82811015620009375788860151825594840194600190910190840162000916565b5085821015620009565787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200097957600080fd5b81516200098681620006e3565b9392505050565b60805160a05160c05160e051612dac62000a1460003960006105bb0152600081816103aa01528181611a9e01528181611b5701528181611b9601528181611c6e01528181611d8b01528181611e7a0152611f5a01526000818161062f0152818161066401528181610aec0152610e2601526000818161045e01526104c20152612dac6000f3fe6080604052600436106102f75760003560e01c8063893d20e811610196578063c57da029116100eb578063e17c4c741161008f578063f0fc5fd51161006c578063f0fc5fd5146109e6578063f2fde38b146109fb578063fb4aa0a114610a1b578063fc73854914610a3b57005b8063e17c4c7414610990578063e299a026146109b0578063e37242f9146109c657005b8063d28d8852116100c8578063d28d885214610928578063db2e21bc1461093d578063dd62ed3e14610952578063df25322d1461097257005b8063c57da0291461086b578063cb4ca631146108cf578063cd98ed401461090857005b8063a457c2d711610152578063ad5688271161012f578063ad568827146107f6578063ae36f5c814610816578063b09f126614610836578063b67a85bd1461084b57005b8063a457c2d714610796578063a5dd4686146107b6578063a9059cbb146107d657005b8063893d20e8146106f95780638d9c8b68146107175780638da5cb5b146106f957806395d89b41146107415780639a9b567d14610756578063a0712d681461077657005b80633eaaf86b1161024c5780634aae03d4116102085780636eb227ce116101e55780636eb227ce1461065157806370a082311461068e578063715018a6146106c45780637ac1cb8d146106d957005b80634aae03d4146105dd57806360d1259e146105fd57806365cf7c9b1461061d57005b80633eaaf86b14610504578063400099271461051a57806342966c681461055357806346bb283314610573578063474465701461059357806349bd5a5e146105a957005b80631a08b189116102b3578063313ce56711610290578063313ce5671461044f57806331cfc4511461049057806332424aa3146104b057806339509351146104e457005b80631a08b189146103f95780631a1adc921461041957806323b872dd1461042f57005b806306fdde031461030057806308cf83a31461032b578063095ea7b31461034e578063160d0da51461037e5780631694505e1461039857806318160ddd146103e457005b366102fe57005b005b34801561030c57600080fd5b50610315610a50565b6040516103229190612845565b60405180910390f35b34801561033757600080fd5b50610340610ae2565b604051908152602001610322565b34801561035a57600080fd5b5061036e6103693660046128a9565b610b64565b6040519015158152602001610322565b34801561038a57600080fd5b50600e5461036e9060ff1681565b3480156103a457600080fd5b506103cc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610322565b3480156103f057600080fd5b50600654610340565b34801561040557600080fd5b506102fe6104143660046128d5565b610b7b565b34801561042557600080fd5b5061034060105481565b34801561043b57600080fd5b5061036e61044a3660046128f9565b610c00565b34801561045b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405160ff9091168152602001610322565b34801561049c57600080fd5b506102fe6104ab36600461293a565b610c24565b3480156104bc57600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f057600080fd5b5061036e6104ff3660046128a9565b610d3c565b34801561051057600080fd5b5061034060065481565b34801561052657600080fd5b5061036e6105353660046128d5565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561055f57600080fd5b5061036e61056e36600461293a565b610d68565b34801561057f57600080fd5b50600a546103cc906001600160a01b031681565b34801561059f57600080fd5b50610340600d5481565b3480156105b557600080fd5b506103cc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e957600080fd5b50600b546103cc906001600160a01b031681565b34801561060957600080fd5b506102fe6106183660046128d5565b610d7c565b34801561062957600080fd5b506103407f000000000000000000000000000000000000000000000000000000000000000081565b34801561065d57600080fd5b5062093a807f0000000000000000000000000000000000000000000000000000000000000000420304600101610340565b34801561069a57600080fd5b506103406106a93660046128d5565b6001600160a01b031660009081526002602052604090205490565b3480156106d057600080fd5b506102fe610da8565b3480156106e557600080fd5b506102fe6106f436600461293a565b610dbc565b34801561070557600080fd5b506000546001600160a01b03166103cc565b34801561072357600080fd5b5061072c610e1b565b60408051928352602083019190915201610322565b34801561074d57600080fd5b50610315610ec3565b34801561076257600080fd5b506102fe610771366004612961565b610ed2565b34801561078257600080fd5b5061036e61079136600461293a565b610eed565b3480156107a257600080fd5b5061036e6107b13660046128a9565b610f01565b3480156107c257600080fd5b506102fe6107d13660046128d5565b610f7c565b3480156107e257600080fd5b5061036e6107f13660046128a9565b610ff5565b34801561080257600080fd5b506102fe6108113660046128d5565b611002565b34801561082257600080fd5b506102fe6108313660046128d5565b611118565b34801561084257600080fd5b506103156111b9565b34801561085757600080fd5b50600c546103cc906001600160a01b031681565b34801561087757600080fd5b5060115460125460135460145460155460165460175461089a9695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610322565b3480156108db57600080fd5b5061036e6108ea3660046128d5565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561091457600080fd5b506102fe6109233660046128d5565b611247565b34801561093457600080fd5b506103156112c7565b34801561094957600080fd5b506102fe6112d4565b34801561095e57600080fd5b5061034061096d36600461297e565b61138b565b34801561097e57600080fd5b506009546001600160a01b03166103cc565b34801561099c57600080fd5b506102fe6109ab3660046128d5565b6113b6565b3480156109bc57600080fd5b50610340600f5481565b3480156109d257600080fd5b506102fe6109e13660046128d5565b6113df565b3480156109f257600080fd5b50600d54610340565b348015610a0757600080fd5b506102fe610a163660046128d5565b61146b565b348015610a2757600080fd5b506009546103cc906001600160a01b031681565b348015610a4757600080fd5b506102fe6114a6565b606060088054610a5f906129b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8b906129b7565b8015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b5050505050905090565b6000600162093a807f0000000000000000000000000000000000000000000000000000000000000000420304016004811115610b2057505060175490565b80600103610b3057505060135490565b80600203610b4057505060145490565b80600303610b5057505060155490565b80600403610b6057505060165490565b5090565b6000610b7133848461156c565b5060015b92915050565b610b83611691565b6001600160a01b038116610bde5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420666f756e646572206164647265737300000000000000000060448201526064015b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600033610c0e8582856116be565b610c19858585611732565b506001949350505050565b333014610c6c5760405162461bcd60e51b815260206004820152601660248201527513db9b1e4818dbdb9d1c9858dd0818d85b8818d85b1b60521b6044820152606401610bd5565b30600090815260026020526040902054811115610ccb5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e63650000000000006044820152606401610bd5565b6000610cd682611a43565b90506000610ce382611d64565b9050610cef308261205b565b6040805184815260208101849052908101829052606081018290527f42659a4aa613c1e350c764f0ff2be36a175ac2a1e4b77b8e1467d1fed32becc89060800160405180910390a1505050565b600033610d5e818585610d4f838361138b565b610d599190612a07565b61156c565b5060019392505050565b6000610d74338361205b565b506001919050565b610d84611691565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b610db0611691565b610dba6000612175565b565b610dc4611691565b6103e8811115610e165760405162461bcd60e51b815260206004820152601a60248201527f536c6970706167652063616e6e6f7420657863656564203130250000000000006044820152606401610bd5565b600f55565b600080600162093a807f00000000000000000000000000000000000000000000000000000000000000004203040181610e52610ae2565b90506004821115610e6857600094909350915050565b81600103610e7b57600094909350915050565b81600203610e92575061012c936102bc9350915050565b81600303610ea8575060969361015e9350915050565b81600403610ebd575060329360969350915050565b50509091565b606060078054610a5f906129b7565b610eda611691565b600e805460ff1916911515919091179055565b6000610ef7611691565b610d7433836121c5565b60003381610f0f828661138b565b905083811015610f6f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bd5565b610c19828686840361156c565b610f84611691565b6001600160a01b038116610fd35760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206b6565706572206164647265737360501b6044820152606401610bd5565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b71338484611732565b61100a611691565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110779190612a1a565b9050801561111357816001600160a01b031663a9059cbb6110a06000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156110ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111119190612a33565b505b505050565b611120611691565b6001600160a01b03811661116d5760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070616972206164647265737360601b6044820152606401610bd5565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517fc538c05d1534c6447b5ec2da3bc7bd021771aa3975dd4e145b5fc06058178f359190a250565b600780546111c6906129b7565b80601f01602080910402602001604051908101604052809291908181526020018280546111f2906129b7565b801561123f5780601f106112145761010080835404028352916020019161123f565b820191906000526020600020905b81548152906001019060200180831161122257829003601f168201915b505050505081565b61124f611691565b6001600160a01b0381166112a55760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206c61756e63687061642061646472657373000000000000006044820152606401610bd5565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600880546111c6906129b7565b6112dc611691565b47801561138857600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114611330576040519150601f19603f3d011682016040523d82523d6000602084013e611335565b606091505b50509050806113865760405162461bcd60e51b815260206004820152601960248201527f456d657267656e6379207769746864726177206661696c6564000000000000006044820152606401610bd5565b505b50565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6113be611691565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6113e7611691565b6001600160a01b0381166114495760405162461bcd60e51b815260206004820152602360248201527f45524332303a20726563656976657220697320746865207a65726f206164647260448201526265737360e81b6064820152608401610bd5565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b611473611691565b6001600160a01b03811661149d57604051631e4fbdf760e01b815260006004820152602401610bd5565b61138881612175565b600c546001600160a01b0316336001600160a01b031614806114d257506000546001600160a01b031633145b6115165760405162461bcd60e51b81526020600482015260156024820152742737ba1030baba3437b934bd32b21035b2b2b832b960591b6044820152606401610bd5565b6000600d54116115645760405162461bcd60e51b8152602060048201526019602482015278139bc81d1bdad95b9cc81a5b88189d5e589858dac81c1bdbdb603a1b6044820152606401610bd5565b610dba612274565b6001600160a01b0383166115ce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bd5565b6001600160a01b03821661162f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bd5565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000546001600160a01b03163314610dba5760405163118cdaa760e01b8152336004820152602401610bd5565b60006116ca848461138b565b9050600019811461111157818110156117255760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bd5565b611111848484840361156c565b6001600160a01b0383166117965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bd5565b6001600160a01b0382166117f85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bd5565b6001600160a01b038316600090815260026020526040902054818110156118705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bd5565b6001600160a01b0380851660009081526004602052604080822054928616825281205460ff928316921690821580156118a7575081155b905060008582156119e2576001600160a01b0380891660009081526005602052604080822054928c16825290205460ff918216911681156119625760006118ec610ae2565b90506127106118fb828c612a50565b6119059190612a67565b9450841561195c57600080611918610e1b565b909250905060006119298284612a07565b611933848a612a50565b61193d9190612a67565b9050600061194b828a612a89565b90506119578282612543565b505050505b506119d3565b80156119d357601154601254600061197a8284612a07565b9050612710611989828e612a50565b6119939190612a67565b965086156119cf576000816119a8858a612a50565b6119b29190612a67565b905060006119c0828a612a89565b90506119cc82826126ae565b50505b5050505b6119dd848a612a89565b925050505b6001600160a01b03808a166000818152600260205260408082208b8b039055928b16808252908390208054850190559151600080516020612d3783398151915290611a309085815260200190565b60405180910390a3505050505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090503081600081518110611a7c57611a7c612ab2565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1e9190612ac8565b81600181518110611b3157611b31612ab2565b60200260200101906001600160a01b031690816001600160a01b031681525050611b7c307f00000000000000000000000000000000000000000000000000000000000000008561156c565b60405163d06ca61f60e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f90611bcd9087908690600401612b2a565b600060405180830381865afa158015611bea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c129190810190612b78565b9050600081600181518110611c2957611c29612ab2565b602002602001015190506000600f549050600061271082612710611c4d9190612a89565b611c579085612a50565b611c619190612a67565b9050476001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663791ac94789848930611ca34261012c612a07565b6040518663ffffffff1660e01b8152600401611cc3959493929190612c1f565b600060405180830381600087803b158015611cdd57600080fd5b505af1158015611cf1573d6000803e3d6000fd5b5047925060009150611d0590508383612a89565b905060008111611d575760405162461bcd60e51b815260206004820152601f60248201527f4e6f204554482072656365697665642066726f6d20746f6b656e2073616c65006044820152606401610bd5565b9998505050505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0b9190612ac8565b81600081518110611e1e57611e1e612ab2565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611e5257611e52612ab2565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81526000917f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f90611eb19087908690600401612b2a565b600060405180830381865afa158015611ece573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ef69190810190612b78565b9050600081600181518110611f0d57611f0d612ab2565b602002602001015190506000600f549050600061271082612710611f319190612a89565b611f3b9085612a50565b611f459190612a67565b306000818152600260205260409020549192507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6f9de95908a9085908a90611f9b4261012c612a07565b6040518663ffffffff1660e01b8152600401611fba9493929190612c5b565b6000604051808303818588803b158015611fd357600080fd5b505af1158015611fe7573d6000803e3d6000fd5b5050306000908152600260205260408120549350915061200990508383612a89565b905060008111611d575760405162461bcd60e51b815260206004820152601f60248201527f4e6f20746f6b656e732072656365697665642066726f6d206275796261636b006044820152606401610bd5565b6001600160a01b0382166120bb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bd5565b6001600160a01b0382166000908152600260205260409020548181101561212f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bd5565b6001600160a01b0383166000818152600260209081526040808320868603905560068054879003905551858152919291600080516020612d378339815191529101611684565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821661221b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610bd5565b806006600082825461222d9190612a07565b90915550506001600160a01b038216600081815260026020908152604080832080548601905551848152600080516020612d37833981519152910160405180910390a35050565b61227c61281b565b600e5460ff166122c45760405162461bcd60e51b8152602060048201526013602482015272109d5e589858dac81a5cc8191a5cd8589b1959606a1b6044820152606401610bd5565b6000600d54116123125760405162461bcd60e51b8152602060048201526019602482015278139bc81d1bdad95b9cc81a5b88189d5e589858dac81c1bdbdb603a1b6044820152606401610bd5565b601054600d546000906127109061232a908490612a50565b6123349190612a67565b9050600081116123865760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e74206275796261636b20706f6f6c000000000000006044820152606401610bd5565b306000908152600260205260409020548111156123f75760405162461bcd60e51b815260206004820152602960248201527f496e73756666696369656e7420636f6e74726163742062616c616e636520666f60448201526872206275796261636b60b81b6064820152608401610bd5565b600d8054908290600061240a8385612a89565b90915550506040516331cfc45160e01b81526004810183905230906331cfc45190602401600060405180830381600087803b15801561244857600080fd5b505af1925050508015612459575060015b61253757612465612c90565b806308c379a0036124c75750612479612cac565b8061248457506124c9565b600d8290556040517ffbea7cb5df5f1173a5f17be8f7b0078cfb855f23d2a609041c036f0820ed8c46906124b9908390612845565b60405180910390a150612537565b505b600d8190556040517ffbea7cb5df5f1173a5f17be8f7b0078cfb855f23d2a609041c036f0820ed8c469061252e906020808252601c908201527f556e6b6e6f776e206572726f7220647572696e67206275796261636b00000000604082015260600190565b60405180910390a15b505050610dba60018055565b81156126005730600081815260026020908152604080832080548790039055600b80546001600160a01b0390811685529382902080548801905554905186815292169291600080516020612d37833981519152910160405180910390a3600b546040516001600160a01b0390911690600080516020612d57833981519152906125f7908581526040602082018190526010908201526f14d95b1b15185e13185d5b98da1c185960821b606082015260800190565b60405180910390a25b80156113865780600d60008282546126189190612a07565b9091555050600d546040519081527f0fc8848ad687676935e3253320dae27d470c5294320856fdf42464a97708cbce9060200160405180910390a1306001600160a01b0316600080516020612d57833981519152826040516126a2918152604060208201819052600e908201526d53656c6c5461784275796261636b60901b606082015260800190565b60405180910390a25050565b81156127685730600081815260026020908152604080832080548790039055600a80546001600160a01b0390811685529382902080548801905554905186815292169291600080516020612d37833981519152910160405180910390a3600a546040516001600160a01b0390911690600080516020612d578339815191529061275f90858152604060208201819052600d908201526c213abcaa30bc2337bab73232b960991b606082015260800190565b60405180910390a25b80156113865730600081815260026020908152604080832080548690039055600b80546001600160a01b0390811685529382902080548701905554905185815292169291600080516020612d37833981519152910160405180910390a3600b546040516001600160a01b0390911690600080516020612d57833981519152906126a290848152604060208201819052600f908201526e109d5e55185e13185d5b98da1c1859608a1b606082015260800190565b60026001540361283e57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60006020808352835180602085015260005b8181101561287357858101830151858201604001528201612857565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461138857600080fd5b600080604083850312156128bc57600080fd5b82356128c781612894565b946020939093013593505050565b6000602082840312156128e757600080fd5b81356128f281612894565b9392505050565b60008060006060848603121561290e57600080fd5b833561291981612894565b9250602084013561292981612894565b929592945050506040919091013590565b60006020828403121561294c57600080fd5b5035919050565b801515811461138857600080fd5b60006020828403121561297357600080fd5b81356128f281612953565b6000806040838503121561299157600080fd5b823561299c81612894565b915060208301356129ac81612894565b809150509250929050565b600181811c908216806129cb57607f821691505b6020821081036129eb57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b7557610b756129f1565b600060208284031215612a2c57600080fd5b5051919050565b600060208284031215612a4557600080fd5b81516128f281612953565b8082028115828204841417610b7557610b756129f1565b600082612a8457634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b7557610b756129f1565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215612ada57600080fd5b81516128f281612894565b60008151808452602080850194506020840160005b83811015612b1f5781516001600160a01b031687529582019590820190600101612afa565b509495945050505050565b828152604060208201526000612b436040830184612ae5565b949350505050565b601f8201601f1916810167ffffffffffffffff81118282101715612b7157612b71612a9c565b6040525050565b60006020808385031215612b8b57600080fd5b825167ffffffffffffffff80821115612ba357600080fd5b818501915085601f830112612bb757600080fd5b815181811115612bc957612bc9612a9c565b8060051b9150604051612bde85840182612b4b565b81815291830184019184810188841115612bf757600080fd5b938501935b83851015612c135784518152938501938501612bfc565b50979650505050505050565b85815284602082015260a060408201526000612c3e60a0830186612ae5565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201526000612c746080830186612ae5565b6001600160a01b03949094166040830152506060015292915050565b600060033d1115612ca95760046000803e5060005160e01c5b90565b600060443d1015612cba5790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715612cea57505050505090565b8285019150815181811115612d025750505050505090565b843d8701016020828501011115612d1c5750505050505090565b612d2b60208286010187612b4b565b50909594505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53e25e0b8e1b3298615900bbdcd52d86630cd070942caa85f0789b9a4809e67ca264697066735822122010325d67f8e5ba0a89bbcf6b7eb47d6b52e6c6cefd31aa22262b4d55ba68261c64736f6c63430008160033a26469706673582212208a980e7c8efbf74cf40047e39ac4ce1e5d5b533d414c762e62c860b8d55f5ddd64736f6c6343000816003300000000000000000000000033bdbc65223786d9a1351cc1caec3e17ef386440