[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "feesTo", "type": "address" }, { "indexed": true, "internalType": "address", "name": "feesFrom", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "ReferralBonus", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "referred", "type": "address" }, { "indexed": true, "internalType": "address", "name": "referrer", "type": "address" } ], "name": "Referred", "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": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_minTransferForReferral", "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": "holder", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "approveMax", "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": [], "name": "buyFees", "outputs": [ { "internalType": "uint256", "name": "reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "referralFee", "type": "uint256" }, { "internalType": "uint256", "name": "totalFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "dividendTracker", "outputs": [ { "internalType": "contract WerewolfDividendTracker", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getAccountDividendsInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getAccountReferInfo", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isReferred", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "holder", "type": "address" } ], "name": "manualSendDividend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "minSupplyForReferralReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openTrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "referrer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract ITraderJoeRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFees", "outputs": [ { "internalType": "uint256", "name": "reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "referralFee", "type": "uint256" }, { "internalType": "uint256", "name": "totalFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_referralFee", "type": "uint256" } ], "name": "setBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_minDistribution", "type": "uint256" }, { "internalType": "uint256", "name": "_minimumTokenBalanceForDividends", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setExcludeDividend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setExcludeFeeMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setExcludeTxMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" }, { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "setName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_treasuryWallet", "type": "address" }, { "internalType": "address", "name": "_liquidityWallet", "type": "address" } ], "name": "setReceiver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_referralFee", "type": "uint256" } ], "name": "setSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_ignoreLimit", "type": "bool" }, { "internalType": "uint256", "name": "_interval", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "totalReferrals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "totalRewards", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "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" }, { "stateMutability": "payable", "type": "receive" } ]
600280546001600160a01b031990811661dead1790915560038054909116905560c060405260086080819052672bb2b932bbb7b63360c11b60a09081526200004b916006919062000720565b5060408051808201909152600980825268122bb2b932bbb7b63360b91b60209092019182526200007e9160079162000720565b506200008d6009600a6200088d565b6200009e9064174876e8006200094c565b600855620000d86064620000c460036008546200052360201b620014161790919060201c565b6200053a60201b620014221790919060201c565b600955620000fe6064620000c460016008546200052360201b620014161790919060201c565b600a556009600a6200011191906200088d565b6200011e9060016200094c565b600b556103e860085460016200013591906200094c565b62000141919062000821565b600c556064601e55601f80546001600160a01b031916732aea2ec9fc908cb18e0b44996134c31ee6b9d53117905561012c6025556026805462ffffff191661010117905560085462000197906113889062000821565b602755348015620001a757600080fd5b50620001b33362000548565b602180546001600160a01b0319167360ae616a2155ee3d9a68541ba4544862310933d4908117909155604080516339d94ae160e11b815290516373b295c291600480820192602092909190829003018186803b1580156200021357600080fd5b505afa15801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e9190620007d4565b600180546001600160a01b0319166001600160a01b039283161790556021546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b158015620002a857600080fd5b505afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e39190620007d4565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b1580156200033057600080fd5b505af115801562000345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036b9190620007d4565b602280546001600160a01b0319166001600160a01b039283161790553060009081526005602090815260408083206021549094168352929052819020600019905551620003b890620007af565b604051809103906000f080158015620003d5573d6000803e3d6000fd5b50602380546001600160a01b03199081166001600160a01b039384161790915560208054339216821781556000828152601182526040808220805460ff1990811660019081179092553080855283852080548316841790558554881685526012865283852080548316841790558685528385208054831684179055808552838520805483168417905560225488168552601390955282842080548216831790559383528183208054851682179055600254909516825281208054909216909317905590620004a890600590808062000598565b620004b96000600c6002826200065e565b6001600160a01b0381166000818152601060209081526040808320805460ff191660011790556008546004835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620009c1565b60006200053182846200094c565b90505b92915050565b600062000531828462000821565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620005e75760405162461bcd60e51b8152602060048201819052602482015260008051602062003df283398151915260448201526064015b60405180910390fd5b6040518060a00160405280858152602001848152602001838152602001828152602001828486886200061a919062000806565b62000626919062000806565b62000632919062000806565b905280516014556020810151601555604081015160165560608101516017556080015160185550505050565b6000546001600160a01b03163314620006a95760405162461bcd60e51b8152602060048201819052602482015260008051602062003df28339815191526044820152606401620005de565b6040518060a0016040528085815260200184815260200183815260200182815260200182848688620006dc919062000806565b620006e8919062000806565b620006f4919062000806565b905280516019556020810151601a556040810151601b556060810151601c5560800151601d5550505050565b8280546200072e906200096e565b90600052602060002090601f0160209004810192826200075257600085556200079d565b82601f106200076d57805160ff19168380011785556200079d565b828001600101855582156200079d579182015b828111156200079d57825182559160200191906001019062000780565b50620007ab929150620007bd565b5090565b610aca806200332883390190565b5b80821115620007ab5760008155600101620007be565b600060208284031215620007e757600080fd5b81516001600160a01b0381168114620007ff57600080fd5b9392505050565b600082198211156200081c576200081c620009ab565b500190565b6000826200083f57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111562000885578160001904821115620008695762000869620009ab565b808516156200087757918102915b93841c939080029062000849565b509250929050565b60006200053160ff841683600082620008a95750600162000534565b81620008b85750600062000534565b8160018114620008d15760028114620008dc57620008fc565b600191505062000534565b60ff841115620008f057620008f0620009ab565b50506001821b62000534565b5060208310610133831016604e8410600b841016171562000921575081810a62000534565b6200092d838362000844565b8060001904821115620009445762000944620009ab565b029392505050565b6000816000190483118215151615620009695762000969620009ab565b500290565b600181811c908216806200098357607f821691505b60208210811415620009a557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61295780620009d16000396000f3fe6080604052600436106102765760003560e01c8063715018a61161014f578063ab7573dd116100c1578063e4748b9e1161007a578063e4748b9e1461083f578063f0bc6cfb14610866578063f15cd8bd14610896578063f2fde38b146108b6578063f887ea40146108d6578063fb201b1d146108f657600080fd5b8063ab7573dd14610699578063abd5d18b146106c6578063ad56c13c1461071e578063c08d52af1461077d578063dd62ed3e146107aa578063e0f3ccf5146107f057600080fd5b806386dcb95e1161011357806386dcb95e146105e65780638da5cb5b146106065780638e1269441461062457806395d89b41146106445780639c31820214610659578063a9059cbb1461067957600080fd5b8063715018a61461056f57806371d0979b14610584578063778089e61461059a5780637d1db4a5146105ba57806382247ec0146105d057600080fd5b806333f3d628116101e85780635acbdedb116101ac5780635acbdedb146104a95780635c707f07146104bf5780635c85974f146104df5780636c5b2855146104ff5780636ddd17131461051f57806370a082311461053957600080fd5b806333f3d6281461041e57806336790a841461043e5780633eaaf86b1461045e5780634e71d92d14610474578063571ac8b01461048957600080fd5b8063178d9b8e1161023a578063178d9b8e1461033f57806318160ddd1461035f57806323b872dd146103745780632c1f5216146103945780632cf003c2146103cc578063313ce5671461040257600080fd5b80630445b6671461028257806306fdde03146102ab578063095ea7b3146102cd5780630ca61cb1146102fd5780630df4adc61461031f57600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b5061029860275481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b506102c061090b565b6040516102a291906126f6565b3480156102d957600080fd5b506102ed6102e8366004612454565b61099d565b60405190151581526020016102a2565b34801561030957600080fd5b5061031d61031836600461266a565b610a0a565b005b34801561032b57600080fd5b5061031d61033a36600461262c565b610aae565b34801561034b57600080fd5b5061031d61035a3660046126c4565b610b09565b34801561036b57600080fd5b50600854610298565b34801561038057600080fd5b506102ed61038f3660046123e5565b610ba4565b3480156103a057600080fd5b506023546103b4906001600160a01b031681565b6040516001600160a01b0390911681526020016102a2565b3480156103d857600080fd5b506103b46103e736600461238f565b600d602052600090815260409020546001600160a01b031681565b34801561040e57600080fd5b50604051600981526020016102a2565b34801561042a57600080fd5b5061031d610439366004612454565b610c66565b34801561044a57600080fd5b5061031d6104593660046124dd565b610d15565b34801561046a57600080fd5b5061029860085481565b34801561048057600080fd5b5061031d610dbc565b34801561049557600080fd5b506102ed6104a436600461238f565b610e15565b3480156104b557600080fd5b50610298600c5481565b3480156104cb57600080fd5b5061031d6104da3660046125c8565b610e23565b3480156104eb57600080fd5b5061031d6104fa36600461262c565b610e74565b34801561050b57600080fd5b5061031d61051a3660046126c4565b610ebf565b34801561052b57600080fd5b506026546102ed9060ff1681565b34801561054557600080fd5b5061029861055436600461238f565b6001600160a01b031660009081526004602052604090205490565b34801561057b57600080fd5b5061031d610f5a565b34801561059057600080fd5b50610298600b5481565b3480156105a657600080fd5b5061031d6105b5366004612426565b610f90565b3480156105c657600080fd5b50610298600a5481565b3480156105dc57600080fd5b5061029860095481565b3480156105f257600080fd5b5061031d6106013660046123ac565b6110cc565b34801561061257600080fd5b506000546001600160a01b03166103b4565b34801561063057600080fd5b5061031d61063f366004612645565b611124565b34801561065057600080fd5b506102c0611187565b34801561066557600080fd5b5061031d6106743660046124dd565b611196565b34801561068557600080fd5b506102ed610694366004612454565b611237565b3480156106a557600080fd5b506102986106b436600461238f565b600f6020526000908152604090205481565b3480156106d257600080fd5b506107096106e136600461238f565b6001600160a01b03166000908152600e6020908152604080832054600f909252909120549091565b604080519283526020830191909152016102a2565b34801561072a57600080fd5b5061073e61073936600461238f565b611244565b604080516001600160a01b0390981688526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102a2565b34801561078957600080fd5b5061029861079836600461238f565b600e6020526000908152604090205481565b3480156107b657600080fd5b506102986107c53660046123ac565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156107fc57600080fd5b50601954601a54601b54601c54601d54610817949392919085565b604080519586526020860194909452928401919091526060830152608082015260a0016102a2565b34801561084b57600080fd5b50601454601554601654601754601854610817949392919085565b34801561087257600080fd5b506102ed61088136600461238f565b60106020526000908152604090205460ff1681565b3480156108a257600080fd5b5061031d6108b1366004612580565b6112e5565b3480156108c257600080fd5b5061031d6108d136600461238f565b61133e565b3480156108e257600080fd5b506021546103b4906001600160a01b031681565b34801561090257600080fd5b5061031d6113d9565b60606006805461091a90612861565b80601f016020809104026020016040519081016040528092919081815260200182805461094690612861565b80156109935780601f1061096857610100808354040283529160200191610993565b820191906000526020600020905b81548152906001019060200180831161097657829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109f89086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a3d5760405162461bcd60e51b8152600401610a349061274b565b60405180910390fd5b602354604051630ca61cb160e01b81526004810185905260248101849052604481018390526001600160a01b0390911690630ca61cb190606401600060405180830381600087803b158015610a9157600080fd5b505af1158015610aa5573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314610ad85760405162461bcd60e51b8152600401610a349061274b565b604051339082156108fc029083906000818181858888f19350505050158015610b05573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610b335760405162461bcd60e51b8152600401610a349061274b565b6040518060a0016040528085815260200184815260200183815260200182815260200182848688610b6491906127f1565b610b6e91906127f1565b610b7891906127f1565b905280516014556020810151601555604081015160165560608101516017556080015160185550505050565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610c51576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610c2c91849061142e565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610c5c84848461145a565b90505b9392505050565b6000546001600160a01b03163314610c905760405162461bcd60e51b8152600401610a349061274b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015610cd857600080fd5b505af1158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d109190612563565b505050565b6000546001600160a01b03163314610d3f5760405162461bcd60e51b8152600401610a349061274b565b60005b60ff8116831115610db657816012600086868560ff16818110610d6757610d676128d2565b9050602002016020810190610d7c919061238f565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610dae8161289c565b915050610d42565b50505050565b602354604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610e0157600080fd5b505af1158015610db6573d6000803e3d6000fd5b6000610a048260001961099d565b6000546001600160a01b03163314610e4d5760405162461bcd60e51b8152600401610a349061274b565b8151610e60906006906020850190612269565b508051610d10906007906020840190612269565b6000546001600160a01b03163314610e9e5760405162461bcd60e51b8152600401610a349061274b565b6107d0600854610eae9190612809565b811015610eba57600080fd5b600a55565b6000546001600160a01b03163314610ee95760405162461bcd60e51b8152600401610a349061274b565b6040518060a0016040528085815260200184815260200183815260200182815260200182848688610f1a91906127f1565b610f2491906127f1565b610f2e91906127f1565b905280516019556020810151601a556040810151601b556060810151601c5560800151601d5550505050565b6000546001600160a01b03163314610f845760405162461bcd60e51b8152600401610a349061274b565b610f8e600061186a565b565b6000546001600160a01b03163314610fba5760405162461bcd60e51b8152600401610a349061274b565b6001600160a01b0382163014801590610fe157506022546001600160a01b03838116911614155b610fea57600080fd5b6001600160a01b0382166000908152601360205260409020805460ff1916821580159190911790915561108257602354604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b15801561106657600080fd5b505af115801561107a573d6000803e3d6000fd5b505050505050565b6023546001600160a01b03838116600081815260046020819052604091829020549151630a5b654b60e11b81529081019290925260248201529116906314b6ca969060440161104c565b6000546001600160a01b031633146110f65760405162461bcd60e51b8152600401610a349061274b565b601f80546001600160a01b039384166001600160a01b03199182161790915560208054929093169116179055565b6000546001600160a01b0316331461114e5760405162461bcd60e51b8152600401610a349061274b565b6023546040516323849a5160e21b8152600481018490526001600160a01b03838116602483015290911690638e1269449060440161104c565b60606007805461091a90612861565b6000546001600160a01b031633146111c05760405162461bcd60e51b8152600401610a349061274b565b60005b60ff8116831115610db657816011600086868560ff168181106111e8576111e86128d2565b90506020020160208101906111fd919061238f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061122f8161289c565b9150506111c3565b6000610c5f33848461145a565b60235460405163fbcbc0f160e01b81526001600160a01b038381166004830152600092839283928392839283928392169063fbcbc0f19060240160e06040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce9190612480565b959e949d50929b5090995097509550909350915050565b6000546001600160a01b0316331461130f5760405162461bcd60e51b8152600401610a349061274b565b6026805460279490945561ffff1990931693151561ff0019169390931761010091151591909102179055602555565b6000546001600160a01b031633146113685760405162461bcd60e51b8152600401610a349061274b565b6001600160a01b0381166113cd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a34565b6113d68161186a565b50565b6000546001600160a01b031633146114035760405162461bcd60e51b8152600401610a349061274b565b6026805462ff0000191662010000179055565b6000610c5f828461282b565b6000610c5f8284612809565b600081848411156114525760405162461bcd60e51b8152600401610a3491906126f6565b505050900390565b60008383602660029054906101000a900460ff168061148657506000546001600160a01b038381169116145b8061149e57506000546001600160a01b038281169116145b6114d55760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b6044820152606401610a34565b60285460ff16156114f2576114eb8686866118ba565b9250611861565b6114fd8686866119a0565b60225484906001600160a01b038881169116141561157d576001600160a01b03861660009081526010602052604090205460ff1661156c5760405162461bcd60e51b815260206004820152600c60248201526b139bdd081c9959995c9c995960a21b6044820152606401610a34565b6115768686611ae4565b9050611610565b6001600160a01b03861660009081526010602052604090205460ff1661161057600b548510611610576001600160a01b038087166000818152601060209081526040808320805460ff19166001179055600d9091528082208054948c166001600160a01b031990951685179055517f2c07cd45454a31c572d49686c5ec6fef884778b2cf441c7fd58f4bde0fa6400b9190a35b4260255460245461162191906127f1565b1161163b5761162e611db8565b1561163b5761163b611e09565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a1660009081526004909152919091205461168d91879061142e565b6001600160a01b0388166000908152600460205260409020556116b1878787612141565b6001600160a01b0387166000908152600460205260409020549091506116d79082612251565b6001600160a01b03808816600090815260046020908152604080832094909455918a1681526013909152205460ff1661177c576023546001600160a01b03888116600081815260046020819052604091829020549151630a5b654b60e11b81529081019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561176957600080fd5b505af192505050801561177a575060015b505b6001600160a01b03861660009081526013602052604090205460ff1661180e576023546001600160a01b03878116600081815260046020819052604091829020549151630a5b654b60e11b81529081019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156117fb57600080fd5b505af192505050801561180c575060015b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185391815260200190565b60405180910390a360019350505b50509392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461190b91849061142e565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461193a9083612251565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061198e9086815260200190565b60405180910390a35060019392505050565b600a54811115806119c957506001600160a01b03831660009081526012602052604090205460ff165b611a095760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610a34565b6000546001600160a01b03848116911614801590611a3057506001600160a01b0382163014155b8015611a4a57506002546001600160a01b03838116911614155b8015611a6457506022546001600160a01b03838116911614155b8015611a7e5750601f546001600160a01b03838116911614155b8015611a9857506020546001600160a01b03838116911614155b15610d10576001600160a01b03821660009081526004602090815260408083205460129092529091205460ff1680611adb5750600954611ad883836127f1565b11155b610db657600080fd5b6001600160a01b03821660009081526011602052604081205460ff1615611b0c575080610a04565b6000601e5483601460030154611b22919061282b565b611b2c9190612809565b600c546001600160a01b038087166000908152600d602090815260408083205490931682526004905220549192501015611cd3576001600160a01b038085166000908152600d60209081526040808320549093168252600490522054611b929082612251565b6001600160a01b038086166000908152600d60209081526040808320805485168452600483528184209590955593549092168152600f9091522054611bd79082612251565b6001600160a01b038086166000818152600d60209081526040808320549094168252600f8152838220949094559081526004909252902054633b9aca0010611c75576001600160a01b038085166000908152600d60209081526040808320549093168252600e90522054611c4c906001612251565b6001600160a01b038086166000908152600d60209081526040808320549093168252600e905220555b6001600160a01b038085166000818152600d602052604090819020549051919216907f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d763090611cc69085815260200190565b60405180910390a3611da6565b611d0d8160046000611ced6000546001600160a01b031690565b6001600160a01b0316815260208101919091526040016000205490612251565b60046000611d236000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316611d636000546001600160a01b031690565b6001600160a01b03167f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d763083604051611d9d91815260200190565b60405180910390a35b611db0818461284a565b949350505050565b6022546000906001600160a01b03163314801590611dd9575060285460ff16155b8015611de7575060265460ff165b8015611e0457506027543060009081526004602052604090205410155b905090565b6028805460ff1916600117905530600090815260046020526040902054602654610100900460ff16611e3a57506027545b426024556040805160a081018252601954808252601a5460208301819052601b54938301849052601c546060840152601d54608084018190529293916000611e8f6002611e8987818b89611416565b90611422565b90506000611e9d888361225d565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611ed757611ed76128d2565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611f0757611f076128d2565b6001600160a01b039283166020918202929092010152602154604051633b158ab160e11b81524792919091169063762b156290611f51908690600090879030904290600401612780565b600060405180830381600087803b158015611f6b57600080fd5b505af1158015611f7f573d6000803e3d6000fd5b505050506000611f98824761225d90919063ffffffff16565b90506000611fb1611faa8a6002611422565b8b9061225d565b90506000611fc66002611e898481878f611416565b9050861561207657602154602054604051637c8d9fb960e11b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290839060c4016060604051808303818588803b15801561203957600080fd5b505af115801561204d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120729190612696565b5050505b600061208683611e89868c611416565b9050602360009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156120d857600080fd5b505af1935050505080156120ea575060015b50601f5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015612125573d6000803e3d6000fd5b50506028805460ff191690555050505050505050505050505050565b6001600160a01b03831660009081526011602052604081205460ff168061218057506001600160a01b03831660009081526011602052604090205460ff165b1561218c575080610c5f565b6022546000906001600160a01b03868116911614156121ae57506018546121b3565b50601d545b601e546000906121c790611e898685611416565b306000908152600460205260409020549091506121e49082612251565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906122359085815260200190565b60405180910390a3612247848261225d565b9695505050505050565b6000610c5f82846127f1565b6000610c5f828461284a565b82805461227590612861565b90600052602060002090601f01602090048101928261229757600085556122dd565b82601f106122b057805160ff19168380011785556122dd565b828001600101855582156122dd579182015b828111156122dd5782518255916020019190600101906122c2565b506122e99291506122ed565b5090565b5b808211156122e957600081556001016122ee565b600082601f83011261231357600080fd5b813567ffffffffffffffff8082111561232e5761232e6128e8565b604051601f8301601f19908116603f01168101908282118183101715612356576123566128e8565b8160405283815286602085880101111561236f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156123a157600080fd5b8135610c5f816128fe565b600080604083850312156123bf57600080fd5b82356123ca816128fe565b915060208301356123da816128fe565b809150509250929050565b6000806000606084860312156123fa57600080fd5b8335612405816128fe565b92506020840135612415816128fe565b929592945050506040919091013590565b6000806040838503121561243957600080fd5b8235612444816128fe565b915060208301356123da81612913565b6000806040838503121561246757600080fd5b8235612472816128fe565b946020939093013593505050565b600080600080600080600060e0888a03121561249b57600080fd5b87516124a6816128fe565b602089015160408a015160608b015160808c015160a08d015160c0909d0151949e939d50919b909a50909850965090945092505050565b6000806000604084860312156124f257600080fd5b833567ffffffffffffffff8082111561250a57600080fd5b818601915086601f83011261251e57600080fd5b81358181111561252d57600080fd5b8760208260051b850101111561254257600080fd5b6020928301955093505084013561255881612913565b809150509250925092565b60006020828403121561257557600080fd5b8151610c5f81612913565b6000806000806080858703121561259657600080fd5b84356125a181612913565b93506020850135925060408501356125b881612913565b9396929550929360600135925050565b600080604083850312156125db57600080fd5b823567ffffffffffffffff808211156125f357600080fd5b6125ff86838701612302565b9350602085013591508082111561261557600080fd5b5061262285828601612302565b9150509250929050565b60006020828403121561263e57600080fd5b5035919050565b6000806040838503121561265857600080fd5b8235915060208301356123da816128fe565b60008060006060848603121561267f57600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156126ab57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156126da57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b8181101561272357858101830151858201604001528201612707565b81811115612735576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127d05784516001600160a01b0316835293830193918301916001016127ab565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612804576128046128bc565b500190565b60008261282657634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612845576128456128bc565b500290565b60008282101561285c5761285c6128bc565b500390565b600181811c9082168061287557607f821691505b6020821081141561289657634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff8114156128b3576128b36128bc565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146113d657600080fd5b80151581146113d657600080fdfea2646970667358221220b839bc4a390da09e6e973d31eacfa322f969d38b6fa9dce1e465c84181eed91e64736f6c6343000807003360806040526ec097ce7bc90715b34b9f1000000000600955610e10600a5565b5e620f48000600b5566038d7ea4c68000600c5534801561003e57600080fd5b50600080546001600160a01b03191633179055610a6a806100606000396000f3fe6080604052600436106100f35760003560e01c8063997664d71161008a578063e2d2e21911610059578063e2d2e2191461027a578063efca2eed14610290578063fbcbc0f1146102a6578063ffd49c841461030557600080fd5b8063997664d7146101ef578063be10b61414610205578063ce7c2ac21461021b578063d0e30db01461027257600080fd5b806328fd3198116100c657806328fd3198146101835780633a98ef39146101a35780634fab0ae8146101b95780638e126944146101cf57600080fd5b80630ca61cb1146100f857806311ce023d1461011a57806314b6ca961461014357806315f7e05e14610163575b600080fd5b34801561010457600080fd5b50610118610113366004610956565b61031b565b005b34801561012657600080fd5b5061013060095481565b6040519081526020015b60405180910390f35b34801561014f57600080fd5b5061011861015e366004610900565b610340565b34801561016f57600080fd5b5061011861017e3660046108e5565b6104bc565b34801561018f57600080fd5b5061013061019e3660046108e5565b6104c8565b3480156101af57600080fd5b5061013060055481565b3480156101c557600080fd5b50610130600b5481565b3480156101db57600080fd5b506101186101ea36600461092a565b610551565b3480156101fb57600080fd5b5061013060065481565b34801561021157600080fd5b50610130600c5481565b34801561022757600080fd5b506102576102363660046108e5565b60046020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161013a565b6101186105b1565b34801561028657600080fd5b5061013060085481565b34801561029c57600080fd5b5061013060075481565b3480156102b257600080fd5b506102c66102c13660046108e5565b610607565b604080516001600160a01b0390981688526020880196909652948601939093526060850191909152608084015260a083015260c082015260e00161013a565b34801561031157600080fd5b50610130600a5481565b6000546001600160a01b0316331461033257600080fd5b600a92909255600b55600c55565b6000546001600160a01b0316331461035757600080fd5b6001600160a01b0382166000908152600460205260409020541561037e5761037e82610681565b600c54811180156103a557506001600160a01b038216600090815260046020526040902054155b1561040a57600180546001600160a01b03841660008181526002602052604081208390558284018455929092527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319169091179055610441565b600c54811115801561043357506001600160a01b03821660009081526004602052604090205415155b15610441576104418261075c565b6001600160a01b03821660009081526004602052604090205460055461047291839161046c9161086f565b90610882565b6005556001600160a01b03821660009081526004602052604090208190556104998161088e565b6001600160a01b0390921660009081526004602052604090206001019190915550565b6104c581610681565b50565b6001600160a01b0381166000908152600460205260408120546104ed57506000919050565b6001600160a01b03821660009081526004602052604081205461050f9061088e565b6001600160a01b03841660009081526004602052604090206001015490915080821161053f575060009392505050565b610549828261086f565b949350505050565b6000546001600160a01b0316331461056857600080fd5b476001600160a01b0382166108fc846105815782610583565b845b6040518115909202916000818181858888f193505050501580156105ab573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146105c857600080fd5b60065434906105d79082610882565b600655600554600954610601916105f8916105f290856108b1565b906108bd565b60085490610882565b60085550565b8060008080808080610618876104c8565b6001600160a01b038916600090815260046020908152604080832060020154600390925290912054600a5492985090965094506106559085610982565b925042831161066557600061066f565b61066f834261086f565b91506007549050919395979092949650565b6001600160a01b0381166000908152600460205260409020546106a15750565b60006106ac826104c8565b90508015610758576007546106c19082610882565b6007556040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156106fa573d6000803e3d6000fd5b506001600160a01b0382166000908152600360209081526040808320429055600490915290206002015461072e9082610882565b6001600160a01b03831660009081526004602052604090206002810191909155546104999061088e565b5050565b6001805461076b9082906109db565b8154811061077b5761077b610a1e565b60009182526020808320909101546001600160a01b03848116845260029092526040909220546001805492909316929181106107b9576107b9610a1e565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600291829052604081205460018054919392916108049082906109db565b8154811061081457610814610a1e565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600180548061084a5761084a610a08565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061087b82846109db565b9392505050565b600061087b8284610982565b60006108ab6009546105f2600854856108b190919063ffffffff16565b92915050565b600061087b82846109bc565b600061087b828461099a565b80356001600160a01b03811681146108e057600080fd5b919050565b6000602082840312156108f757600080fd5b61087b826108c9565b6000806040838503121561091357600080fd5b61091c836108c9565b946020939093013593505050565b6000806040838503121561093d57600080fd5b8235915061094d602084016108c9565b90509250929050565b60008060006060848603121561096b57600080fd5b505081359360208301359350604090920135919050565b60008219821115610995576109956109f2565b500190565b6000826109b757634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156109d6576109d66109f2565b500290565b6000828210156109ed576109ed6109f2565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea2646970667358221220ba26c7d861cdd0fe0ab04a175f8a4f0ef12efce2b9bb40956d926c6f4737627a64736f6c634300080700334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572