[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address[]", "name": "list", "type": "address[]" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "airdropTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "list", "type": "address[]" } ], "name": "apporve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" }, { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "chageNameAndSymbol", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "changeTokenAllowFeeAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "configureAntiScambot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "currentAllow", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "freeTaxHolder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getOpenedTrade", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "openTakenThePledged", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "openedTrade", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" } ], "name": "removeTaxFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sendAllTokensToTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "cooldown", "type": "uint256" } ], "name": "setTimingLaunch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTokens", "type": "uint256" } ], "name": "swapExactETHForTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "takenThePledge", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "threshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenAllowFeeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenSymbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawStuckToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawTreasuryFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526040518060400160405280600981526020017f546865506c656467650000000000000000000000000000000000000000000000815250600890816200004a9190620011f2565b506040518060400160405280600681526020017f504c45444745000000000000000000000000000000000000000000000000000081525060099081620000919190620011f2565b50633b9aca00600a556445d964b8006011556001601255348015620000b557600080fd5b503360088054620000c69062000fe1565b80601f0160208091040260200160405190810160405280929190818152602001828054620000f49062000fe1565b8015620001455780601f10620001195761010080835404028352916020019162000145565b820191906000526020600020905b8154815290600101906020018083116200012757829003601f168201915b505050505060098054620001599062000fe1565b80601f0160208091040260200160405190810160405280929190818152602001828054620001879062000fe1565b8015620001d85780601f10620001ac57610100808354040283529160200191620001d8565b820191906000526020600020905b815481529060010190602001808311620001ba57829003601f168201915b505050505033338360039081620001f09190620011f2565b508260049081620002029190620011f2565b5081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620002fe5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620002f591906200131e565b60405180910390fd5b6200030f816200063a60201b60201c565b5060016010600073d8584c7efba47e009d8371d6976e243ff6214cb573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000739081f28629f71a7db3ed883acfa862e9ab0b9ea073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007351bcd5f0295e8c0d75b3608d41f6dff223158c4b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600073426d8b59fe7e77256be075673d5d211d7b2508a273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600073102d79a0ae02b4a57f40b7a77c7deced453eb29b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007395d5c95ad44ce452b68e78a48e73a54052a75e9c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000620006026200070060201b60201c565b9050620006333382600a620006189190620014cb565b600a546200062791906200151c565b6200070960201b60201c565b5062001690565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200077e5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200077591906200131e565b60405180910390fd5b62000792600083836200079660201b60201c565b5050565b601060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156200080257620007fc83838362000ac360201b60201c565b62000abe565b600d60009054906101000a900460ff1662000854576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200084b90620015c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603620008c457620008be83838362000ac360201b60201c565b62000abe565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156200096f5750600b5481600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200096d9190620015ea565b115b156200099f57620009868362000ebf60201b60201c565b6200099983838362000ac360201b60201c565b62000abe565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801562000a4b5750600b5481600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000a489190620015ea565b11155b1562000aaa5780600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000aa29190620015ea565b925050819055505b62000abd83838362000ac360201b60201c565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b1957806002600082825462000b0c9190620015ea565b9250508190555062000bef565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000ba8578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000b9f9392919062001636565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000c3a578060026000828254039250508190555062000c87565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000d6c57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000d5e919062001673565b60405180910390a362000eba565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000e51578173ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000e43919062001673565b60405180910390a362000eb9565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000eb0919062001673565b60405180910390a35b5b505050565b600062000ed28262000f1f60201b60201c565b111562000f1c57600d60009054906101000a900460ff1662000f075762000f0160115462000f6760201b60201c565b62000f1b565b62000f1a60125462000f6760201b60201c565b5b5b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b803a111562000f7557600080fd5b50565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ffa57607f821691505b60208210810362001010576200100f62000fb2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200107a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200103b565b6200108686836200103b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620010d3620010cd620010c7846200109e565b620010a8565b6200109e565b9050919050565b6000819050919050565b620010ef83620010b2565b62001107620010fe82620010da565b84845462001048565b825550505050565b600090565b6200111e6200110f565b6200112b818484620010e4565b505050565b5b8181101562001153576200114760008262001114565b60018101905062001131565b5050565b601f821115620011a2576200116c8162001016565b62001177846200102b565b8101602085101562001187578190505b6200119f62001196856200102b565b83018262001130565b50505b505050565b600082821c905092915050565b6000620011c760001984600802620011a7565b1980831691505092915050565b6000620011e28383620011b4565b9150826002028217905092915050565b620011fd8262000f78565b67ffffffffffffffff81111562001219576200121862000f83565b5b62001225825462000fe1565b6200123282828562001157565b600060209050601f8311600181146200126a576000841562001255578287015190505b620012618582620011d4565b865550620012d1565b601f1984166200127a8662001016565b60005b82811015620012a4578489015182556001820191506020850194506020810190506200127d565b86831015620012c45784890151620012c0601f891682620011b4565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200130682620012d9565b9050919050565b6200131881620012f9565b82525050565b60006020820190506200133560008301846200130d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620013c957808604811115620013a157620013a06200133b565b5b6001851615620013b15780820291505b8081029050620013c1856200136a565b945062001381565b94509492505050565b600082620013e45760019050620014b7565b81620013f45760009050620014b7565b81600181146200140d576002811462001418576200144e565b6001915050620014b7565b60ff8411156200142d576200142c6200133b565b5b8360020a9150848211156200144757620014466200133b565b5b50620014b7565b5060208310610133831016604e8410600b8410161715620014885782820a9050838111156200148257620014816200133b565b5b620014b7565b62001497848484600162001377565b92509050818404811115620014b157620014b06200133b565b5b81810290505b9392505050565b600060ff82169050919050565b6000620014d8826200109e565b9150620014e583620014be565b9250620015147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620013d2565b905092915050565b600062001529826200109e565b915062001536836200109e565b925082820262001546816200109e565b9150828204841483151762001560576200155f6200133b565b5b5092915050565b600082825260208201905092915050565b7f547261646520686173206e6f74206265656e206f70656e656420796574000000600082015250565b6000620015b0601d8362001567565b9150620015bd8262001578565b602082019050919050565b60006020820190508181036000830152620015e381620015a1565b9050919050565b6000620015f7826200109e565b915062001604836200109e565b92508282019050808211156200161f576200161e6200133b565b5b92915050565b62001630816200109e565b82525050565b60006060820190506200164d60008301866200130d565b6200165c602083018562001625565b6200166b604083018462001625565b949350505050565b60006020820190506200168a600083018462001625565b92915050565b61292180620016a06000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806370a082311161013b578063a8b08982116100b8578063dd62ed3e1161007c578063dd62ed3e14610621578063e086e5ec14610651578063e1ad418e1461065b578063f2fde38b1461068b578063f7abab9e146106a757610248565b8063a8b08982146105a3578063a9059cbb146105c1578063b46e71ff146105f1578063c9567bf9146105fb578063cd6a43a41461060557610248565b80638da5cb5b116100ff5780638da5cb5b1461051157806394ad720d1461052f57806395d89b41146105395780639b19251a14610557578063a11223da1461058757610248565b806370a0823114610493578063715018a6146104c3578063751039fc146104cd5780637b61c320146104d75780638b339069146104f557610248565b8063313ce567116101c957806353ba06f71161018d57806353ba06f7146104015780635408d42d1461041d578063594ef0d91461043b5780636c02a931146104595780636ed925b71461047757610248565b8063313ce567146103815780633c9f5ed61461039f57806342cde4e8146103bd578063447479db146103db5780634c97f472146103e557610248565b8063161be43611610210578063161be436146102f157806318160ddd1461030d5780631dc437b11461032b5780631fc1ac4e1461034757806323b872dd1461035157610248565b8063068acf6c1461024d57806306fdde0314610269578063095ea7b314610287578063125ff020146102b757806315aac227146102d3575b600080fd5b61026760048036038101906102629190611d2e565b6106c5565b005b6102716107ce565b60405161027e9190611deb565b60405180910390f35b6102a1600480360381019061029c9190611e43565b610860565b6040516102ae9190611e9e565b60405180910390f35b6102d160048036038101906102cc9190611ee5565b610883565b005b6102db61089c565b6040516102e89190611f21565b60405180910390f35b61030b60048036038101906103069190611e43565b6108a2565b005b6103156108bc565b6040516103229190611f21565b60405180910390f35b61034560048036038101906103409190611f3c565b6108c6565b005b61034f6108df565b005b61036b60048036038101906103669190611f69565b6108f4565b6040516103789190611e9e565b60405180910390f35b610389610923565b6040516103969190611fd8565b60405180910390f35b6103a761092c565b6040516103b49190611e9e565b60405180910390f35b6103c5610943565b6040516103d29190611f21565b60405180910390f35b6103e3610949565b005b6103ff60048036038101906103fa9190612128565b61099e565b005b61041b60048036038101906104169190612268565b6109ca565b005b610425610a67565b6040516104329190611e9e565b60405180910390f35b610443610a7a565b6040516104509190611f21565b60405180910390f35b610461610a80565b60405161046e9190611deb565b60405180910390f35b610491600480360381019061048c9190611d2e565b610b0e565b005b6104ad60048036038101906104a89190611d2e565b610b5a565b6040516104ba9190611f21565b60405180910390f35b6104cb610ba2565b005b6104d5610c2f565b005b6104df610c46565b6040516104ec9190611deb565b60405180910390f35b61050f600480360381019061050a9190611f3c565b610cd4565b005b610519610ce6565b60405161052691906122c0565b60405180910390f35b610537610d10565b005b610541610d3a565b60405161054e9190611deb565b60405180910390f35b610571600480360381019061056c9190611d2e565b610dcc565b60405161057e9190611e9e565b60405180910390f35b6105a1600480360381019061059c91906122db565b610dec565b005b6105ab610e9e565b6040516105b891906122c0565b60405180910390f35b6105db60048036038101906105d69190611e43565b610ec4565b6040516105e89190611e9e565b60405180910390f35b6105f9610ee7565b005b610603610efc565b005b61061f600480360381019061061a9190611f3c565b610f30565b005b61063b60048036038101906106369190612337565b610f49565b6040516106489190611f21565b60405180910390f35b610659610fd0565b005b61067560048036038101906106709190611d2e565b611021565b6040516106829190611f21565b60405180910390f35b6106a560048036038101906106a09190611d2e565b611039565b005b6106af6110bf565b6040516106bc9190611f21565b60405180910390f35b6106cd6110c5565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161070891906122c0565b602060405180830381865afa158015610725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610749919061238c565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016107869291906123b9565b6020604051808303816000875af11580156107a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c991906123f7565b505050565b6060600880546107dd90612453565b80601f016020809104026020016040519081016040528092919081815260200182805461080990612453565b80156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b5050505050905090565b60008061086b61114c565b9050610878818585611154565b600191505092915050565b61088b6110c5565b6000819050600a600e819055505050565b600c5481565b6108aa6110c5565b6000819050600a600e81905550505050565b6000600254905090565b6108ce6110c5565b6000819050600a600e819055505050565b6108e76110c5565b6000600a600e8190555050565b6000806108ff61114c565b905061090c858285611166565b6109178585856111fa565b60019150509392505050565b60006012905090565b6000600d60009054906101000a900460ff16905090565b600e5481565b6109516110c5565b60004711610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b906124d0565b60405180910390fd5b600a600e81905550565b6109a66110c5565b81600890816109b5919061269c565b5080600990816109c5919061269c565b505050565b6109d26110c5565b60005b8151811015610a63576001601060008484815181106109f7576109f661276e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a5b906127cc565b9150506109d5565b5050565b600d60009054906101000a900460ff1681565b600b5481565b60088054610a8d90612453565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab990612453565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b505050505081565b610b166110c5565b80600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610baa6110c5565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b610c376110c5565b600080600a600e819055505050565b60098054610c5390612453565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7f90612453565b8015610ccc5780601f10610ca157610100808354040283529160200191610ccc565b820191906000526020600020905b815481529060010190602001808311610caf57829003601f168201915b505050505081565b610cdc6110c5565b80600b8190555050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d186110c5565b6000610d2330610b5a565b9050610d3730610d31610ce6565b836111fa565b50565b606060098054610d4990612453565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7590612453565b8015610dc25780601f10610d9757610100808354040283529160200191610dc2565b820191906000526020600020905b815481529060010190602001808311610da557829003601f168201915b5050505050905090565b60106020528060005260406000206000915054906101000a900460ff1681565b610df46110c5565b60005b8251811015610e9957828181518110610e1357610e1261276e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16610e39610ce6565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e7e9190611f21565b60405180910390a38080610e91906127cc565b915050610df7565b505050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ecf61114c565b9050610edc8185856111fa565b600191505092915050565b610eef6110c5565b6000600a600e8190555050565b610f046110c5565b600d60009054906101000a900460ff1615600d60006101000a81548160ff021916908315150217905550565b610f386110c5565b6000819050600a600e819055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fd86110c5565b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561101e573d6000803e3d6000fd5b50565b600f6020528060005260406000206000915090505481565b6110416110c5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b35760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016110aa91906122c0565b60405180910390fd5b6110bc816112ee565b50565b600a5481565b6110cd61114c565b73ffffffffffffffffffffffffffffffffffffffff166110eb610ce6565b73ffffffffffffffffffffffffffffffffffffffff161461114a5761110e61114c565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161114191906122c0565b60405180910390fd5b565b600033905090565b61116183838360016113b4565b505050565b60006111728484610f49565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111f457818110156111e4578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016111db93929190612814565b60405180910390fd5b6111f3848484840360006113b4565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361126c5760006040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161126391906122c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112de5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112d591906122c0565b60405180910390fd5b6112e983838361158b565b505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114265760006040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161141d91906122c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114985760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161148f91906122c0565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611585578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161157c9190611f21565b60405180910390a35b50505050565b601060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115ed576115e883838361187e565b611879565b600d60009054906101000a900460ff1661163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163390612897565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036116a25761169d83838361187e565b611879565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561174a5750600b5481600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174891906128b7565b115b156117685761175883611c67565b61176383838361187e565b611879565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118115750600b5481600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180e91906128b7565b11155b1561186d5780600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461186591906128b7565b925050819055505b61187883838361187e565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118d05780600260008282546118c491906128b7565b925050819055506119a3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561195c578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161195393929190612814565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119ec5780600260008282540392505081905550611a39565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1a57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b0d9190611f21565b60405180910390a3611c62565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bfb578173ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bee9190611f21565b60405180910390a3611c61565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c589190611f21565b60405180910390a35b5b505050565b6000611c7282610b5a565b1115611ca957600d60009054906101000a900460ff16611c9c57611c97601154611cac565b611ca8565b611ca7601254611cac565b5b5b50565b803a1115611cb957600080fd5b50565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cfb82611cd0565b9050919050565b611d0b81611cf0565b8114611d1657600080fd5b50565b600081359050611d2881611d02565b92915050565b600060208284031215611d4457611d43611cc6565b5b6000611d5284828501611d19565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d95578082015181840152602081019050611d7a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611dbd82611d5b565b611dc78185611d66565b9350611dd7818560208601611d77565b611de081611da1565b840191505092915050565b60006020820190508181036000830152611e058184611db2565b905092915050565b6000819050919050565b611e2081611e0d565b8114611e2b57600080fd5b50565b600081359050611e3d81611e17565b92915050565b60008060408385031215611e5a57611e59611cc6565b5b6000611e6885828601611d19565b9250506020611e7985828601611e2e565b9150509250929050565b60008115159050919050565b611e9881611e83565b82525050565b6000602082019050611eb36000830184611e8f565b92915050565b611ec281611e83565b8114611ecd57600080fd5b50565b600081359050611edf81611eb9565b92915050565b600060208284031215611efb57611efa611cc6565b5b6000611f0984828501611ed0565b91505092915050565b611f1b81611e0d565b82525050565b6000602082019050611f366000830184611f12565b92915050565b600060208284031215611f5257611f51611cc6565b5b6000611f6084828501611e2e565b91505092915050565b600080600060608486031215611f8257611f81611cc6565b5b6000611f9086828701611d19565b9350506020611fa186828701611d19565b9250506040611fb286828701611e2e565b9150509250925092565b600060ff82169050919050565b611fd281611fbc565b82525050565b6000602082019050611fed6000830184611fc9565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61203582611da1565b810181811067ffffffffffffffff8211171561205457612053611ffd565b5b80604052505050565b6000612067611cbc565b9050612073828261202c565b919050565b600067ffffffffffffffff82111561209357612092611ffd565b5b61209c82611da1565b9050602081019050919050565b82818337600083830152505050565b60006120cb6120c684612078565b61205d565b9050828152602081018484840111156120e7576120e6611ff8565b5b6120f28482856120a9565b509392505050565b600082601f83011261210f5761210e611ff3565b5b813561211f8482602086016120b8565b91505092915050565b6000806040838503121561213f5761213e611cc6565b5b600083013567ffffffffffffffff81111561215d5761215c611ccb565b5b612169858286016120fa565b925050602083013567ffffffffffffffff81111561218a57612189611ccb565b5b612196858286016120fa565b9150509250929050565b600067ffffffffffffffff8211156121bb576121ba611ffd565b5b602082029050602081019050919050565b600080fd5b60006121e46121df846121a0565b61205d565b90508083825260208201905060208402830185811115612207576122066121cc565b5b835b81811015612230578061221c8882611d19565b845260208401935050602081019050612209565b5050509392505050565b600082601f83011261224f5761224e611ff3565b5b813561225f8482602086016121d1565b91505092915050565b60006020828403121561227e5761227d611cc6565b5b600082013567ffffffffffffffff81111561229c5761229b611ccb565b5b6122a88482850161223a565b91505092915050565b6122ba81611cf0565b82525050565b60006020820190506122d560008301846122b1565b92915050565b600080604083850312156122f2576122f1611cc6565b5b600083013567ffffffffffffffff8111156123105761230f611ccb565b5b61231c8582860161223a565b925050602061232d85828601611e2e565b9150509250929050565b6000806040838503121561234e5761234d611cc6565b5b600061235c85828601611d19565b925050602061236d85828601611d19565b9150509250929050565b60008151905061238681611e17565b92915050565b6000602082840312156123a2576123a1611cc6565b5b60006123b084828501612377565b91505092915050565b60006040820190506123ce60008301856122b1565b6123db6020830184611f12565b9392505050565b6000815190506123f181611eb9565b92915050565b60006020828403121561240d5761240c611cc6565b5b600061241b848285016123e2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061246b57607f821691505b60208210810361247e5761247d612424565b5b50919050565b7f4e6f2062616c616e636520617661696c61626c65000000000000000000000000600082015250565b60006124ba601483611d66565b91506124c582612484565b602082019050919050565b600060208201905081810360008301526124e9816124ad565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026125527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612515565b61255c8683612515565b95508019841693508086168417925050509392505050565b6000819050919050565b600061259961259461258f84611e0d565b612574565b611e0d565b9050919050565b6000819050919050565b6125b38361257e565b6125c76125bf826125a0565b848454612522565b825550505050565b600090565b6125dc6125cf565b6125e78184846125aa565b505050565b5b8181101561260b576126006000826125d4565b6001810190506125ed565b5050565b601f82111561265057612621816124f0565b61262a84612505565b81016020851015612639578190505b61264d61264585612505565b8301826125ec565b50505b505050565b600082821c905092915050565b600061267360001984600802612655565b1980831691505092915050565b600061268c8383612662565b9150826002028217905092915050565b6126a582611d5b565b67ffffffffffffffff8111156126be576126bd611ffd565b5b6126c88254612453565b6126d382828561260f565b600060209050601f83116001811461270657600084156126f4578287015190505b6126fe8582612680565b865550612766565b601f198416612714866124f0565b60005b8281101561273c57848901518255600182019150602085019450602081019050612717565b868310156127595784890151612755601f891682612662565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127d782611e0d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128095761280861279d565b5b600182019050919050565b600060608201905061282960008301866122b1565b6128366020830185611f12565b6128436040830184611f12565b949350505050565b7f547261646520686173206e6f74206265656e206f70656e656420796574000000600082015250565b6000612881601d83611d66565b915061288c8261284b565b602082019050919050565b600060208201905081810360008301526128b081612874565b9050919050565b60006128c282611e0d565b91506128cd83611e0d565b92508282019050808211156128e5576128e461279d565b5b9291505056fea2646970667358221220a54ab74711a8b3cb0f96090307077631ec5d1f0878a0aefccfb46c0d14e9ddc964736f6c63430008130033