[ { "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": false, "internalType": "uint256", "name": "amountETH", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "TokenAddressCleared", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "Amount", "type": "uint256" } ], "name": "ClearToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "Buy", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "Sell", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "Transfer", "type": "uint8" } ], "name": "EditTax", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "set_MaxWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "autoLiquidityReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "teamFee", "type": "address" }, { "indexed": false, "internalType": "address", "name": "buyKeysFee", "type": "address" } ], "name": "set_Receivers", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "Amount", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "Enabled", "type": "bool" } ], "name": "set_SwapBack", "type": "event" }, { "inputs": [], "name": "TradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "address", "name": "newAdd", "type": "address" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buypercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "ratio", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "checkRatio", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "clearStuckToken", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "markNotBot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxWallPercent", "type": "uint256" } ], "name": "maxWalletRule", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reduceFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellpercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "setExemptFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "setExemptTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_teamFee", "type": "uint256" }, { "internalType": "uint256", "name": "_buyKeysFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setParameters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_percentonbuy", "type": "uint256" }, { "internalType": "uint256", "name": "_percentonsell", "type": "uint256" }, { "internalType": "uint256", "name": "_wallettransfer", "type": "uint256" } ], "name": "setStructure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_teamFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_buyKeysFeeReceiver", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_percent", "type": "uint256" } ], "name": "setWhitelistBuyPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "showBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "showSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTrading", "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": "pure", "type": "function" }, { "inputs": [], "name": "totalFee", "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": "transferpercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdd", "type": "address" } ], "name": "unblacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "whitelistPercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052620000126012600a62000680565b620000239064174876e80062000691565b6003556200005d60646200004960026003546200045360201b620013421790919060201c565b620004e760201b620013c11790919060201c565b6004556200008360646200004960026003546200045360201b620013421790919060201c565b6005556000600c55610190600d55610258600e55600e54600d54600c54620000ac9190620006b3565b620000b89190620006b3565b600f556103e860108190556101ea601181905560125560006013819055601455601e6018556064601955601c805461ffff60a01b1916600160a81b179055600354620001059190620006ce565b601d553480156200011557600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb9190620006f1565b600280546001600160a01b0319166001600160a01b03928316179055601a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200025a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002809190620006f1565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f89190620006f1565b601c80546001600160a01b03199081166001600160a01b039384169081178355601b805483169091179055306000818152600760209081526040808320601a548816845282528083206000199055601580547387c27a4da368b7d149c0cea801a2ab38e21b4acf90871617815560168054730c66f46796924ce549e5bb2f18369449bbf6019f908816178155601780543398168817905586855260098452828520805460ff199081166001908117909255600886528487208054821683179055600a8652848720805482168317905598548a16865283862080548a168217905591548916855282852080548916831790555490971683528083208054871688179055928252828220805490951690951790935560035482845260068552818420819055905190815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000774565b6000826200046457506000620004e1565b600062000472838562000691565b905082620004818583620006ce565b14620004de5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620004de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200053160201b60201c565b60008183620005555760405162461bcd60e51b8152600401620004d591906200071c565b506000620005648486620006ce565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005c4578160001904821115620005a857620005a86200056d565b80851615620005b657918102915b93841c939080029062000588565b509250929050565b600082620005dd57506001620004e1565b81620005ec57506000620004e1565b8160018114620006055760028114620006105762000630565b6001915050620004e1565b60ff8411156200062457620006246200056d565b50506001821b620004e1565b5060208310610133831016604e8410600b841016171562000655575081810a620004e1565b62000661838362000583565b80600019048211156200067857620006786200056d565b029392505050565b6000620004de60ff841683620005cc565b6000816000190483118215151615620006ae57620006ae6200056d565b500290565b60008219821115620006c957620006c96200056d565b500190565b600082620006ec57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200070457600080fd5b81516001600160a01b0381168114620004de57600080fd5b600060208083528351808285015260005b818110156200074b578581018301518582016040015282016200072d565b818111156200075e576000604083870101525b50601f01601f1916929092016040019392505050565b61249880620007846000396000f3fe60806040526004361061028c5760003560e01c806377b54bad1161015a578063c0cbdea4116100c1578063df20fd491161007a578063df20fd49146107c9578063f2fde38b146107e9578063f429389014610809578063f887ea401461081e578063f9f92be41461083e578063fcd9da441461085e57600080fd5b8063c0cbdea4146106d3578063c6bc9531146106f3578063d3fef81714610713578063dbac26e914610733578063dd62ed3e14610763578063ded1e438146107a957600080fd5b806395d89b411161011357806395d89b41146106115780639ec96cca1461063e578063a70419d21461065e578063a8aa1b3114610673578063a9059cbb14610693578063b2bdfa7b146106b357600080fd5b806377b54bad1461055f57806378109e541461057f5780637d1db4a514610595578063893d20e8146105ab5780638da5cb5b146105dd57806393f4eaf7146105fb57600080fd5b80634d7fcebc116101fe57806370a08231116101b757806370a08231146104a9578063715018a6146104df57806371968a00146104f4578063751039fc1461050a57806375cb1bd11461051f57806375e3661e1461053f57600080fd5b80634d7fcebc146104075780634ffa0b8e1461041d5780635526566914610433578063571ac8b0146104485780635d83e1d5146104685780636ddd17131461048857600080fd5b80631df4ccfc116102505780631df4ccfc1461035e57806323b872dd14610374578063293230b8146103945780632d4981a9146103ab57806330c9a6a0146103cb578063313ce567146103eb57600080fd5b80630445b6671461029857806306fdde03146102c157806308fd3d05146102f8578063095ea7b31461032957806318160ddd1461034957600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ae601d5481565b6040519081526020015b60405180910390f35b3480156102cd57600080fd5b5060408051808201909152600581526408ac2dce4b60db1b60208201525b6040516102b89190611fee565b34801561030457600080fd5b50601c5461031990600160a01b900460ff1681565b60405190151581526020016102b8565b34801561033557600080fd5b5061031961034436600461205f565b61087e565b34801561035557600080fd5b506003546102ae565b34801561036a57600080fd5b506102ae600f5481565b34801561038057600080fd5b5061031961038f366004612089565b6108eb565b3480156103a057600080fd5b506103a96109ad565b005b3480156103b757600080fd5b506103a96103c63660046120d3565b6109f5565b3480156103d757600080fd5b506102ae6103e6366004612159565b610a96565b3480156103f757600080fd5b50604051601281526020016102b8565b34801561041357600080fd5b506102ae60115481565b34801561042957600080fd5b506102ae60145481565b34801561043f57600080fd5b506102ae610add565b34801561045457600080fd5b50610319610463366004612172565b610b4e565b34801561047457600080fd5b506103a9610483366004612159565b610b5c565b34801561049457600080fd5b50601c5461031990600160a81b900460ff1681565b3480156104b557600080fd5b506102ae6104c4366004612172565b6001600160a01b031660009081526006602052604090205490565b3480156104eb57600080fd5b506103a9610bea565b34801561050057600080fd5b506102ae60135481565b34801561051657600080fd5b506103a9610c5e565b34801561052b57600080fd5b506103a961053a36600461218d565b610c95565b34801561054b57600080fd5b506103a961055a366004612172565b610d43565b34801561056b57600080fd5b5061031961057a36600461205f565b610d8e565b34801561058b57600080fd5b506102ae60055481565b3480156105a157600080fd5b506102ae60045481565b3480156105b757600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102b8565b3480156105e957600080fd5b506000546001600160a01b03166105c5565b34801561060757600080fd5b506102ae60125481565b34801561061d57600080fd5b5060408051808201909152600481526322a0a92760e11b60208201526102eb565b34801561064a57600080fd5b506103a9610659366004612159565b610ee2565b34801561066a57600080fd5b506103a9610f11565b34801561067f57600080fd5b50601c546105c5906001600160a01b031681565b34801561069f57600080fd5b506103196106ae36600461205f565b610f4c565b3480156106bf57600080fd5b506000546105c5906001600160a01b031681565b3480156106df57600080fd5b506103a96106ee3660046121d0565b610f59565b3480156106ff57600080fd5b506103a961070e3660046120d3565b610f94565b34801561071f57600080fd5b506103a961072e3660046120d3565b61102f565b34801561073f57600080fd5b5061031961074e366004612172565b600b6020526000908152604090205460ff1681565b34801561076f57600080fd5b506102ae61077e3660046121fc565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156107b557600080fd5b506103196107c436600461222f565b6110ca565b3480156107d557600080fd5b506103a96107e4366004612251565b6110de565b3480156107f557600080fd5b506103a9610804366004612172565b611171565b34801561081557600080fd5b506103a961125b565b34801561082a57600080fd5b50601a546105c5906001600160a01b031681565b34801561084a57600080fd5b506103a9610859366004612172565b611297565b34801561086a57600080fd5b506103a961087936600461226f565b6112e5565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108d99086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610998576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610973918490611403565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6109a384848461143d565b90505b9392505050565b6000546001600160a01b031633146109e05760405162461bcd60e51b81526004016109d7906122a1565b60405180910390fd5b601c805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610a1f5760405162461bcd60e51b81526004016109d7906122a1565b60005b82811015610a90578160086000868685818110610a4157610a416122d6565b9050602002016020810190610a569190612172565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a8881612302565b915050610a22565b50505050565b60006108e5610aa3610add565b601c546001600160a01b0316600090815260066020526040902054610ad790610ad0906002905b90611342565b8590611342565b906113c1565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610b49929091610b43919061186d565b9061186d565b905090565b60006108e58260001961087e565b6000546001600160a01b03163314610b865760405162461bcd60e51b81526004016109d7906122a1565b6001811015610b9457600080fd5b6103e881600354610ba5919061231d565b610baf919061233c565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b6000546001600160a01b03163314610c145760405162461bcd60e51b81526004016109d7906122a1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c885760405162461bcd60e51b81526004016109d7906122a1565b6003546004819055600555565b6000546001600160a01b03163314610cbf5760405162461bcd60e51b81526004016109d7906122a1565b601780546001600160a01b038581166001600160a01b0319928316811790935560158054868316908416811790915560168054928616929093168217909255604080519384526020840192909252908201527fd7fdb40ec018d4a1874293e1c569bec2adf78e8ed880973e28610c18ea3ca4bf9060600160405180910390a1505050565b6000546001600160a01b03163314610d6d5760405162461bcd60e51b81526004016109d7906122a1565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b600080546001600160a01b03163314610db95760405162461bcd60e51b81526004016109d7906122a1565b81610e29576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610e02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e26919061235e565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160175460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a69190612377565b6000546001600160a01b03163314610f0c5760405162461bcd60e51b81526004016109d7906122a1565b601455565b6000546001600160a01b03163314610f3b5760405162461bcd60e51b81526004016109d7906122a1565b603260128190556011556000601355565b60006109a633848461143d565b6000546001600160a01b03163314610f835760405162461bcd60e51b81526004016109d7906122a1565b601191909155601291909155601355565b6000546001600160a01b03163314610fbe5760405162461bcd60e51b81526004016109d7906122a1565b60005b82811015610a905781600a6000868685818110610fe057610fe06122d6565b9050602002016020810190610ff59190612172565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061102781612302565b915050610fc1565b6000546001600160a01b031633146110595760405162461bcd60e51b81526004016109d7906122a1565b60005b82811015610a9057816009600086868581811061107b5761107b6122d6565b90506020020160208101906110909190612172565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806110c281612302565b91505061105c565b6000826110d683610a96565b119392505050565b6000546001600160a01b031633146111085760405162461bcd60e51b81526004016109d7906122a1565b601c805460ff60a81b1916600160a81b84151581029190911791829055601d8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6000546001600160a01b0316331461119b5760405162461bcd60e51b81526004016109d7906122a1565b6001600160a01b0381166112005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109d7565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6017546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611294573d6000803e3d6000fd5b50565b6000546001600160a01b031633146112c15760405162461bcd60e51b81526004016109d7906122a1565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b0316331461130f5760405162461bcd60e51b81526004016109d7906122a1565b600c849055600d839055600e8290556113328261132c86866118af565b906118af565b600f556010819055610a9061190e565b600082611351575060006108e5565b600061135d838561231d565b90508261136a858361233c565b146109a65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109d7565b60006109a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ac565b600081848411156114275760405162461bcd60e51b81526004016109d79190611fee565b5060006114348486612394565b95945050505050565b6001600160a01b0383166000908152600b602052604081205460ff161561149b5760405162461bcd60e51b815260206004820152601260248201527114d95b99195c88189b1858dadb1a5cdd195960721b60448201526064016109d7565b6001600160a01b0383166000908152600b602052604090205460ff16156114fb5760405162461bcd60e51b8152602060048201526014602482015273149958d95a5d995c88189b1858dadb1a5cdd195960621b60448201526064016109d7565b601e5460ff1615611518576115118484846119da565b90506109a6565b6001600160a01b03841660009081526001602052604090205460ff1615801561155a57506001600160a01b03831660009081526001602052604090205460ff16155b156115af57601c54600160a01b900460ff166115af5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109d7565b6001600160a01b03841660009081526001602052604090205460ff161580156115e157506001600160a01b0383163014155b80156115f857506001600160a01b03831661dead14155b80156116125750601c546001600160a01b03848116911614155b801561162c57506016546001600160a01b03848116911614155b801561164657506015546001600160a01b03848116911614155b801561166b57506001600160a01b0383166000908152600a602052604090205460ff16155b1561170c576001600160a01b03831660009081526006602052604090205460055461169684836123ab565b111561170a5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109d7565b505b6117168483611ac0565b61171e611b2d565b1561172b5761172b611b83565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526006909152919091205461177d918490611403565b6001600160a01b038516600090815260066020908152604080832093909355600990529081205460ff16806117ca57506001600160a01b03841660009081526009602052604090205460ff165b6117de576117d9858486611ef7565b6117e0565b825b6001600160a01b03851660009081526006602052604090205490915061180690826118af565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061185a9085815260200190565b60405180910390a3506001949350505050565b60006109a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611403565b6000806118bc83856123ab565b9050838110156109a65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109d7565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b93280061194c601054610ad7601254600f5461134290919063ffffffff16565b611969601054610ad7601154600f5461134290919063ffffffff16565b611986601054610ad7601354600f5461134290919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b600081836119cd5760405162461bcd60e51b81526004016109d79190611fee565b506000611434848661233c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611a2b918490611403565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611a5a90836118af565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611aae9086815260200190565b60405180910390a35060019392505050565b60045481111580611ae957506001600160a01b0382166000908152600a602052604090205460ff165b611b295760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109d7565b5050565b601c546000906001600160a01b03163314801590611b4e5750601e5460ff16155b8015611b635750601c54600160a81b900460ff165b8015610b49575050601d5430600090815260066020526040902054101590565b601e805460ff19166001179055601854601954600091611ba2916110ca565b611bae57600c54611bb1565b60005b90506000611bd56002610ad7600f54610ad786601d5461134290919063ffffffff16565b90506000611bee82601d5461186d90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611c2857611c286122d6565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611c5957611c596122d6565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b81524792919091169063791ac94790611ca39086906000908790309042906004016123c3565b600060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b505050506000611cea824761186d90919063ffffffff16565b90506000611d05611cfc8860026113c1565b600f549061186d565b90506000611d1a6002610ad78481878d611342565b90506000611d3783610ad7600d548761134290919063ffffffff16565b90506000611d5484610ad7600e548861134290919063ffffffff16565b6015546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611da6576040519150601f19603f3d011682016040523d82523d6000602084013e611dab565b606091505b50506016546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611dfb576040519150601f19603f3d011682016040523d82523d6000602084013e611e00565b606091505b5060009250508a159050611ee057601a5460175460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af1158015611e7e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ea39190612434565b505060408051868152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff19169055505050505050505050565b601354601c54600091906001600160a01b0384811691161415611f1d5750601154611f5d565b601c546001600160a01b0386811691161415611f5d57506012546001600160a01b03831660009081526008602052604090205460ff1615611f5d57506014545b6000611f8b6010546103e8611f72919061231d565b610ad784610aca600f548a61134290919063ffffffff16565b9050306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd291815260200190565b60405180910390a3611fe4858261186d565b9695505050505050565b600060208083528351808285015260005b8181101561201b57858101830151858201604001528201611fff565b8181111561202d576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461205a57600080fd5b919050565b6000806040838503121561207257600080fd5b61207b83612043565b946020939093013593505050565b60008060006060848603121561209e57600080fd5b6120a784612043565b92506120b560208501612043565b9150604084013590509250925092565b801515811461129457600080fd5b6000806000604084860312156120e857600080fd5b833567ffffffffffffffff8082111561210057600080fd5b818601915086601f83011261211457600080fd5b81358181111561212357600080fd5b8760208260051b850101111561213857600080fd5b6020928301955093505084013561214e816120c5565b809150509250925092565b60006020828403121561216b57600080fd5b5035919050565b60006020828403121561218457600080fd5b6109a682612043565b6000806000606084860312156121a257600080fd5b6121ab84612043565b92506121b960208501612043565b91506121c760408501612043565b90509250925092565b6000806000606084860312156121e557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561220f57600080fd5b61221883612043565b915061222660208401612043565b90509250929050565b6000806040838503121561224257600080fd5b50508035926020909101359150565b6000806040838503121561226457600080fd5b823561207b816120c5565b6000806000806080858703121561228557600080fd5b5050823594602084013594506040840135936060013592509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612316576123166122ec565b5060010190565b6000816000190483118215151615612337576123376122ec565b500290565b60008261235957634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561237057600080fd5b5051919050565b60006020828403121561238957600080fd5b81516109a6816120c5565b6000828210156123a6576123a66122ec565b500390565b600082198211156123be576123be6122ec565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124135784516001600160a01b0316835293830193918301916001016123ee565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561244957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208379ece1fadc76f628b6c0ee431cd10af8766574e91d4d4c86cdc71477843d9464736f6c634300080b0033