[ { "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": false, "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "RewardLiquidityProviders", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapETHForTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForETH", "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": "IsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isBook", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" } ], "name": "deliver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getEthAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUnlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "inSwapAndLiquify", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isAdmin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isBuy", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isbig", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "time", "type": "uint256" } ], "name": "lock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwapAmount", "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": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferFee", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsAllBool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsBook", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsOpen", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyLiquidityFeea", "type": "uint256" }, { "internalType": "uint256", "name": "sellLiquidityFeea", "type": "uint256" } ], "name": "setLiquidityFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyMarketFeea", "type": "uint256" }, { "internalType": "uint256", "name": "sellMarketFeea", "type": "uint256" } ], "name": "setMarketFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingAddress", "type": "address" } ], "name": "setMarketingAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minimumTokensBeforeSwap", "type": "uint256" } ], "name": "setNumTokensSellToAddToLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyTaxFeea", "type": "uint256" }, { "internalType": "uint256", "name": "sellTaxFeea", "type": "uint256" } ], "name": "setTaxFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAllBuyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAllSellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "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" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052600580546001600160a01b03191673f2284df747f926a48551d8085ef9bc25aead9d4c17905561dead6080526b204fce5e3e25026110000000600d8190556200005090600019620004e8565b6200005e9060001962000521565b600e55604051806060016040528060238152602001620038c5602391396010906200008a9082620005dc565b5060408051808201909152600381526252434160e81b6020820152601190620000b49082620005dc565b506012805460ff191681179055600060138190556014819055600560158190556016819055601782905560188290556200011691906200010290829062000479602090811b620019b317901c565b6200047960201b620019b31790919060201c565b6019556000601a55601a54601b556005601c55601c54601d556000601e55601e54601f556200015f601e5462000102601c54601a546200047960201b620019b31790919060201c565b6020556a084595161401484a0000006021556a52b7d2dcc80cd2e40000006022553480156200018d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e543360009081526006602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa15801562000236573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025c9190620006a8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d09190620006a8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200031e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003449190620006a8565b6001600160a01b0390811660c05281811660a0526005541660009081526009602081905260408220805460ff19166001908117909155916200038e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553080825260098552838220805487166001908117909155600554841683526024909552838220805487168617905560c051831682528382208054871686179055815282812080548616851790556080519091168152208054909216179055620004223390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516200046a91815260200190565b60405180910390a350620006e9565b600080620004888385620006d3565b905083811015620004df5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b6000826200050657634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004e257620004e26200050b565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200056257607f821691505b6020821081036200058357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005d757600081815260208120601f850160051c81016020861015620005b25750805b601f850160051c820191505b81811015620005d357828155600101620005be565b5050505b505050565b81516001600160401b03811115620005f857620005f862000537565b62000610816200060984546200054d565b8462000589565b602080601f8311600181146200064857600084156200062f5750858301515b600019600386901b1c1916600185901b178555620005d3565b600085815260208120601f198616915b82811015620006795788860151825594840194600190910190840162000658565b5085821015620006985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620006bb57600080fd5b81516001600160a01b0381168114620004df57600080fd5b80820180821115620004e257620004e26200050b565b60805160a05160c0516131896200073c600039600081816106d001528181611dbe0152611fb201526000818161045901528181612623015281816126dc01526127180152600061056a01526131896000f3fe6080604052600436106103855760003560e01c8063701cf6f4116101d1578063a5ece94111610102578063d2d7ad83116100a0578063efcc52de1161006f578063efcc52de14610aa6578063f0f165af14610abc578063f2d58c2314610adc578063f2fde38b14610afc57600080fd5b8063d2d7ad8314610a14578063dc44b6a014610a2a578063dd46706414610a40578063dd62ed3e14610a6057600080fd5b8063a9aefd35116100dc578063a9aefd351461099e578063c4d259ad146109be578063c69f3b13146109de578063cb85f76f146109fe57600080fd5b8063a5ece94114610949578063a69df4b514610969578063a9059cbb1461097e57600080fd5b806388f820201161016f57806395d89b411161014957806395d89b41146108ea5780639847b14f146108ff578063a073d37f14610914578063a457c2d71461092957600080fd5b806388f82020146108735780638da5cb5b146108ac578063906e9dd0146108ca57600080fd5b8063768dc710116101ab578063768dc710146107f357806379fa2103146108235780637d315a2e1461083d57806388790a681461085d57600080fd5b8063701cf6f4146107a857806370a08231146107be578063715018a6146107de57600080fd5b80632d838119116102b65780634549b039116102545780635342acb4116102235780635342acb414610731578063557ed1ba1461076a578063602bc62b1461077d578063678fc4e61461079257600080fd5b80634549b0391461069e57806349bd5a5e146106be5780634fb90848146106f257806352390c021461071157600080fd5b806334a4f5761161029057806334a4f5761461060e5780633685d4191461063e578063395093511461065e5780633bd5d1731461067e57600080fd5b80632d838119146105ac57806330b263ba146105cc578063313ce567146105ec57600080fd5b8063200a692d1161032357806323c9c2ff116102fd57806323c9c2ff146104f857806324d7806c1461052857806327c8f8351461055857806328875c161461058c57600080fd5b8063200a692d146104a8578063220f6696146104be57806323b872dd146104d857600080fd5b80630fda33491161035f5780630fda33491461040e57806313114a9d146104325780631694505e1461044757806318160ddd1461049357600080fd5b806306fdde0314610391578063085a10cf146103bc578063095ea7b3146103de57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610b1c565b6040516103b39190612bee565b60405180910390f35b3480156103c857600080fd5b506103dc6103d7366004612c51565b610bae565b005b3480156103ea57600080fd5b506103fe6103f9366004612c8c565b610c33565b60405190151581526020016103b3565b34801561041a57600080fd5b5061042460155481565b6040519081526020016103b3565b34801561043e57600080fd5b50600f54610424565b34801561045357600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103b3565b34801561049f57600080fd5b50600d54610424565b3480156104b457600080fd5b50610424601a5481565b3480156104ca57600080fd5b506023546103fe9060ff1681565b3480156104e457600080fd5b506103fe6104f3366004612cb8565b610c4a565b34801561050457600080fd5b506103fe610513366004612cf9565b600a6020526000908152604090205460ff1681565b34801561053457600080fd5b506103fe610543366004612cf9565b60046020526000908152604090205460ff1681565b34801561056457600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059857600080fd5b506103dc6105a7366004612d2c565b610cb3565b3480156105b857600080fd5b506104246105c7366004612e03565b610d49565b3480156105d857600080fd5b506103dc6105e7366004612e1c565b610dcd565b3480156105f857600080fd5b5060125460405160ff90911681526020016103b3565b34801561061a57600080fd5b506103fe610629366004612cf9565b60246020526000908152604090205460ff1681565b34801561064a57600080fd5b506103dc610659366004612cf9565b610e89565b34801561066a57600080fd5b506103fe610679366004612c8c565b61103f565b34801561068a57600080fd5b506103dc610699366004612e03565b611075565b3480156106aa57600080fd5b506104246106b9366004612e3e565b611161565b3480156106ca57600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106fe57600080fd5b506023546103fe90610100900460ff1681565b34801561071d57600080fd5b506103dc61072c366004612cf9565b6111f0565b34801561073d57600080fd5b506103fe61074c366004612cf9565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561077657600080fd5b5042610424565b34801561078957600080fd5b50600254610424565b34801561079e57600080fd5b5061042460205481565b3480156107b457600080fd5b50610424601c5481565b3480156107ca57600080fd5b506104246107d9366004612cf9565b611343565b3480156107ea57600080fd5b506103dc6113a2565b3480156107ff57600080fd5b506103fe61080e366004612cf9565b60096020526000908152604090205460ff1681565b34801561082f57600080fd5b506003546103fe9060ff1681565b34801561084957600080fd5b506103dc610858366004612e1c565b611404565b34801561086957600080fd5b50610424601e5481565b34801561087f57600080fd5b506103fe61088e366004612cf9565b6001600160a01b03166000908152600b602052604090205460ff1690565b3480156108b857600080fd5b506000546001600160a01b031661047b565b3480156108d657600080fd5b506103dc6108e5366004612cf9565b611497565b3480156108f657600080fd5b506103a66114e3565b34801561090b57600080fd5b506103dc6114f2565b34801561092057600080fd5b50602154610424565b34801561093557600080fd5b506103fe610944366004612c8c565b61154b565b34801561095557600080fd5b5060055461047b906001600160a01b031681565b34801561097557600080fd5b506103dc61159a565b34801561098a57600080fd5b506103fe610999366004612c8c565b6116a0565b3480156109aa57600080fd5b506103dc6109b9366004612c51565b6116ad565b3480156109ca57600080fd5b506103dc6109d9366004612e6a565b6116ea565b3480156109ea57600080fd5b506103dc6109f9366004612e6a565b61173f565b348015610a0a57600080fd5b5061042460195481565b348015610a2057600080fd5b5061042460215481565b348015610a3657600080fd5b5061042460175481565b348015610a4c57600080fd5b506103dc610a5b366004612e03565b611794565b348015610a6c57600080fd5b50610424610a7b366004612e96565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b348015610ab257600080fd5b5061042460135481565b348015610ac857600080fd5b506103dc610ad7366004612e03565b611819565b348015610ae857600080fd5b506103dc610af7366004612e1c565b611848565b348015610b0857600080fd5b506103dc610b17366004612cf9565b6118db565b606060108054610b2b90612ecf565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5790612ecf565b8015610ba45780601f10610b7957610100808354040283529160200191610ba4565b820191906000526020600020905b815481529060010190602001808311610b8757829003601f168201915b5050505050905090565b6000546001600160a01b03163314610be15760405162461bcd60e51b8152600401610bd890612f09565b60405180910390fd5b60035460ff1615610c205760405162461bcd60e51b8152602060048201526009602482015268125cc81bdc195b995960ba1b6044820152606401610bd8565b6003805460ff1916911515919091179055565b6000610c40338484611a12565b5060015b92915050565b6000610c57848484611b36565b610ca98433610ca4856040518060600160405280602881526020016130e7602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190611ffb565b611a12565b5060019392505050565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b8152600401610bd890612f09565b60005b8251811015610d44578160096000858481518110610d0057610d00612f3e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610d3c81612f6a565b915050610ce0565b505050565b6000600e54821115610db05760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610bd8565b6000610dba612035565b9050610dc68382612058565b9392505050565b6000546001600160a01b03163314610df75760405162461bcd60e51b8152600401610bd890612f09565b601e8210610e175760405162461bcd60e51b8152600401610bd890612f83565b601e8110610e375760405162461bcd60e51b8152600401610bd890612f83565b6013829055601a8190556014829055601b819055601754601554610e679190610e619085906119b3565b906119b3565b601955601e54601c54601a54610e829291610e6191906119b3565b6020555050565b6000546001600160a01b03163314610eb35760405162461bcd60e51b8152600401610bd890612f09565b6001600160a01b0381166000908152600b602052604090205460ff16610f1b5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bd8565b60005b600c5481101561103b57816001600160a01b0316600c8281548110610f4557610f45612f3e565b6000918252602090912001546001600160a01b03160361102957600c8054610f6f90600190612fb3565b81548110610f7f57610f7f612f3e565b600091825260209091200154600c80546001600160a01b039092169183908110610fab57610fab612f3e565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600782526040808220829055600b90925220805460ff19169055600c80548061100357611003612fc6565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b8061103381612f6a565b915050610f1e565b5050565b3360008181526008602090815260408083206001600160a01b03871684529091528120549091610c40918590610ca490866119b3565b336000818152600b602052604090205460ff16156110ea5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610bd8565b60006110f58361209a565b5050506001600160a01b038616600090815260066020526040902054939450611123939250849150506120f5565b6001600160a01b038316600090815260066020526040902055600e5461114990826120f5565b600e55600f5461115990846119b3565b600f55505050565b6000600d548311156111b55760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610bd8565b816111d55760006111c58461209a565b50949650610c4495505050505050565b60006111e08461209a565b50939650610c4495505050505050565b6000546001600160a01b0316331461121a5760405162461bcd60e51b8152600401610bd890612f09565b6001600160a01b0381166000908152600b602052604090205460ff16156112835760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bd8565b6001600160a01b038116600090815260066020526040902054156112dd576001600160a01b0381166000908152600660205260409020546112c390610d49565b6001600160a01b0382166000908152600760205260409020555b6001600160a01b03166000818152600b60205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6001600160a01b0381166000908152600b602052604081205460ff161561138057506001600160a01b031660009081526007602052604090205490565b6001600160a01b038216600090815260066020526040902054610c4490610d49565b6000546001600160a01b031633146113cc5760405162461bcd60e51b8152600401610bd890612f09565b600080546040516001600160a01b039091169060008051602061310f833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461142e5760405162461bcd60e51b8152600401610bd890612f09565b6028821061144e5760405162461bcd60e51b8152600401610bd890612f83565b6028811061146e5760405162461bcd60e51b8152600401610bd890612f83565b6015829055601c8190556016829055601d819055601754601354610e679190610e6190856119b3565b6000546001600160a01b031633146114c15760405162461bcd60e51b8152600401610bd890612f09565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b606060118054610b2b90612ecf565b6000546001600160a01b0316331461151c5760405162461bcd60e51b8152600401610bd890612f09565b60405133904780156108fc02916000818181858888f19350505050158015611548573d6000803e3d6000fd5b50565b6000610c403384610ca48560405180606001604052806025815260200161312f602591393360009081526008602090815260408083206001600160a01b038d1684529091529020549190611ffb565b6001546001600160a01b031633146116005760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610bd8565b60025442116116515760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610bd8565b600154600080546040516001600160a01b03938416939091169160008051602061310f83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610c40338484611b36565b6000546001600160a01b031633146116d75760405162461bcd60e51b8152600401610bd890612f09565b6025805460ff1916911515919091179055565b6000546001600160a01b031633146117145760405162461bcd60e51b8152600401610bd890612f09565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146117695760405162461bcd60e51b8152600401610bd890612f09565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146117be5760405162461bcd60e51b8152600401610bd890612f09565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556117ed8142612fdc565b600255600080546040516001600160a01b039091169060008051602061310f833981519152908390a350565b6000546001600160a01b031633146118435760405162461bcd60e51b8152600401610bd890612f09565b602155565b6000546001600160a01b031633146118725760405162461bcd60e51b8152600401610bd890612f09565b602882106118925760405162461bcd60e51b8152600401610bd890612f83565b602881106118b25760405162461bcd60e51b8152600401610bd890612f83565b6017829055601e8190556018829055601f819055601554601354610e67918491610e61916119b3565b6000546001600160a01b031633146119055760405162461bcd60e51b8152600401610bd890612f09565b6001600160a01b03811661196a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bd8565b600080546040516001600160a01b038085169392169160008051602061310f83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806119c08385612fdc565b905083811015610dc65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bd8565b6001600160a01b038316611a745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bd8565b6001600160a01b038216611ad55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bd8565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611b9a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bd8565b6001600160a01b038216611bfc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bd8565b60008111611c5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bd8565b6001600160a01b0383166000908152600a602052604090205460ff16158015611ca057506001600160a01b0382166000908152600a602052604090205460ff16155b611cd95760405162461bcd60e51b815260206004820152600a602482015269497320696e20626f6f6b60b01b6044820152606401610bd8565b60035460ff16158015611cfa57506000546001600160a01b03848116911614155b8015611d1457506000546001600160a01b03838116911614155b8015611d3957506001600160a01b03831660009081526004602052604090205460ff16155b8015611d5e57506001600160a01b03821660009081526004602052604090205460ff16155b15611d995760405162461bcd60e51b815260206004820152600b60248201526a24b9903737ba1037b832b760a91b6044820152606401610bd8565b6000611da430611343565b6021546023549192508210159060ff16158015611df257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b8015611e0c57506000546001600160a01b03868116911614155b8015611e2657506000546001600160a01b03858116911614155b15611e48578015611e4857600554611e489083906001600160a01b0316612137565b60255460ff16158015611e5e575060235460ff16155b8015611e7857506000546001600160a01b03868116911614155b8015611e9257506000546001600160a01b03858116911614155b8015611eb757506001600160a01b03841660009081526024602052604090205460ff16155b15611f4e57602254611eef611ee66064611ee06015546064611ed99190612fb3565b8890612162565b90612058565b610e6187611343565b1115611f4e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bd8565b6001600160a01b03851660009081526009602052604090205460019060ff1680611f9057506001600160a01b03851660009081526009602052604090205460ff165b15611f99575060005b6023805461ff0019166101001790556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690861603611fe7576023805461ff00191690555b611ff3868686846121e4565b505050505050565b6000818484111561201f5760405162461bcd60e51b8152600401610bd89190612bee565b50600061202c8486612fb3565b95945050505050565b6000806000612042612365565b90925090506120518282612058565b9250505090565b6000610dc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124e7565b60008060008060008060008060008060006120b48c612515565b935093509350935060008060006120d58f8787876120d0612035565b61256a565b919f509d509b509599509397509195509350505050919395979092949650565b6000610dc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ffb565b6023805460ff1916600117905581156121545761215482826125cc565b50506023805460ff19169055565b60008260000361217457506000610c44565b60006121808385612fef565b90508261218d8583613006565b14610dc65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bd8565b8061222f5761222f601380546014556017805460185560158054601655601a8054601b55601e8054601f55601c8054601d556000908190559081905590819055928390559082905555565b6001600160a01b0384166000908152600b602052604090205460ff16801561227057506001600160a01b0383166000908152600b602052604090205460ff16155b15612285576122808484846127c6565b612331565b6001600160a01b0384166000908152600b602052604090205460ff161580156122c657506001600160a01b0383166000908152600b602052604090205460ff165b156122d65761228084848461290c565b6001600160a01b0384166000908152600b602052604090205460ff16801561231657506001600160a01b0383166000908152600b602052604090205460ff165b15612326576122808484846129cb565b612331848484612a54565b8061235f5761235f601454601355601854601755601654601555601b54601a55601f54601e55601d54601c55565b50505050565b600e54600d546000918291825b600c548110156124b7578260066000600c848154811061239457612394612f3e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806123ff57508160076000600c84815481106123d8576123d8612f3e565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561241557600e54600d54945094505050509091565b61245b60066000600c848154811061242f5761242f612f3e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906120f5565b92506124a360076000600c848154811061247757612477612f3e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906120f5565b9150806124af81612f6a565b915050612372565b50600d54600e546124c791612058565b8210156124de57600e54600d549350935050509091565b90939092509050565b600081836125085760405162461bcd60e51b8152600401610bd89190612bee565b50600061202c8486613006565b600080600080600061252686612aae565b9050600061253387612ae0565b9050600061254088612b11565b9050600061255a8261255485818d896120f5565b906120f5565b9993985091965094509092505050565b60008080806125798986612162565b905060006125878987612162565b905060006125958988612162565b905060006125a38989612162565b905060006125b782612554858189896120f5565b949d949c50929a509298505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061260157612601612f3e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561267f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a39190613028565b816001815181106126b6576126b6612f3e565b60200260200101906001600160a01b031690816001600160a01b031681525050612701307f000000000000000000000000000000000000000000000000000000000000000085611a12565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612756908690600090869088904290600401613089565b600060405180830381600087803b15801561277057600080fd5b505af1158015612784573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a783826040516127b99291906130c5565b60405180910390a1505050565b60008060008060008060006127da8861209a565b965096509650965096509650965061282088600760008d6001600160a01b03166001600160a01b03168152602001908152602001600020546120f590919063ffffffff16565b6001600160a01b038b1660009081526007602090815260408083209390935560069052205461284f90886120f5565b6001600160a01b03808c1660009081526006602052604080822093909355908b168152205461287e90876119b3565b6001600160a01b038a166000908152600660205260409020556128a082612b42565b6128a981612b42565b6128b38584612bca565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516128f891815260200190565b60405180910390a350505050505050505050565b60008060008060008060006129208861209a565b965096509650965096509650965061296687600660008d6001600160a01b03166001600160a01b03168152602001908152602001600020546120f590919063ffffffff16565b6001600160a01b03808c16600090815260066020908152604080832094909455918c1681526007909152205461299c90856119b3565b6001600160a01b038a1660009081526007602090815260408083209390935560069052205461287e90876119b3565b60008060008060008060006129df8861209a565b9650965096509650965096509650612a2588600760008d6001600160a01b03166001600160a01b03168152602001908152602001600020546120f590919063ffffffff16565b6001600160a01b038b1660009081526007602090815260408083209390935560069052205461296690886120f5565b6000806000806000806000612a688861209a565b965096509650965096509650965061284f87600660008d6001600160a01b03166001600160a01b03168152602001908152602001600020546120f590919063ffffffff16565b6023546000908190610100900460ff1615612acc5750601354612ad1565b50601a545b610dc66064611ee08584612162565b6023546000908190610100900460ff1615612afe5750601754612ad1565b50601e54610dc66064611ee08584612162565b6023546000908190610100900460ff1615612b2f5750601554612ad1565b50601c54610dc66064611ee08584612162565b6000612b4c612035565b90506000612b5a8383612162565b30600090815260066020526040902054909150612b7790826119b3565b30600090815260066020908152604080832093909355600b9052205460ff1615610d445730600090815260076020526040902054612bb590846119b3565b30600090815260076020526040902055505050565b600e54612bd790836120f5565b600e55600f54612be790826119b3565b600f555050565b600060208083528351808285015260005b81811015612c1b57858101830151858201604001528201612bff565b506000604082860101526040601f19601f8301168501019250505092915050565b80358015158114612c4c57600080fd5b919050565b600060208284031215612c6357600080fd5b610dc682612c3c565b6001600160a01b038116811461154857600080fd5b8035612c4c81612c6c565b60008060408385031215612c9f57600080fd5b8235612caa81612c6c565b946020939093013593505050565b600080600060608486031215612ccd57600080fd5b8335612cd881612c6c565b92506020840135612ce881612c6c565b929592945050506040919091013590565b600060208284031215612d0b57600080fd5b8135610dc681612c6c565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612d3f57600080fd5b823567ffffffffffffffff80821115612d5757600080fd5b818501915085601f830112612d6b57600080fd5b8135602082821115612d7f57612d7f612d16565b8160051b604051601f19603f83011681018181108682111715612da457612da4612d16565b604052928352818301935084810182019289841115612dc257600080fd5b948201945b83861015612de757612dd886612c81565b85529482019493820193612dc7565b9650612df69050878201612c3c565b9450505050509250929050565b600060208284031215612e1557600080fd5b5035919050565b60008060408385031215612e2f57600080fd5b50508035926020909101359150565b60008060408385031215612e5157600080fd5b82359150612e6160208401612c3c565b90509250929050565b60008060408385031215612e7d57600080fd5b8235612e8881612c6c565b9150612e6160208401612c3c565b60008060408385031215612ea957600080fd5b8235612eb481612c6c565b91506020830135612ec481612c6c565b809150509250929050565b600181811c90821680612ee357607f821691505b602082108103612f0357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612f7c57612f7c612f54565b5060010190565b60208082526016908201527513585e1a5b5d5b481b1a5b5a5d08195e18d95959195960521b604082015260600190565b81810381811115610c4457610c44612f54565b634e487b7160e01b600052603160045260246000fd5b80820180821115610c4457610c44612f54565b8082028115828204841417610c4457610c44612f54565b60008261302357634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561303a57600080fd5b8151610dc681612c6c565b600081518084526020808501945080840160005b8381101561307e5781516001600160a01b031687529582019590820190600101613059565b509495945050505050565b85815284602082015260a0604082015260006130a860a0830186613045565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006130de6040830184613045565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122008f42e45f67c28c5514285eda011b9e2ab6003f2282243c7e42b717a628609d064736f6c634300081200335265766f6c7574696f6e61727920436f6d6d756e69737473206f6620416d6572696361