[ { "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": "buyTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyProjectTax", "type": "uint256" } ], "name": "BuyFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DisabledTransferDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LimitsRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "MaxTxUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "MaxWalletUpdated", "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": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "ProjectWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "sellTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellProjectTax", "type": "uint256" } ], "name": "SellFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMin", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMax", "type": "uint256" } ], "name": "SwapbackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "TradingEnabled", "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": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_targetWallet", "type": "address" } ], "name": "addressInfo", "outputs": [ { "internalType": "bool", "name": "_exemptFromFees", "type": "bool" }, { "internalType": "bool", "name": "_exemptFromTxLimits", "type": "bool" }, { "internalType": "bool", "name": "_isAPair", "type": "bool" } ], "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": "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": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": "uint256", "name": "txLimNew", "type": "uint256" } ], "name": "maxTxLimitSetNewVal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "wltLimNew", "type": "uint256" } ], "name": "maxWalletLimitSetNewVal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "receiverAddresses", "outputs": [ { "internalType": "address", "name": "_mktWlt", "type": "address" }, { "internalType": "address", "name": "_devWlt", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newDevWallet", "type": "address" } ], "name": "setNewDevWalletAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newMktWlt", "type": "address" } ], "name": "setNewMktWalletAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "targetPair", "type": "address" }, { "internalType": "bool", "name": "newStatus", "type": "bool" } ], "name": "setPairStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enab", "type": "bool" } ], "name": "setSM", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "sbEnab", "type": "bool" }, { "internalType": "uint256", "name": "minSB", "type": "uint256" }, { "internalType": "uint256", "name": "maxSB", "type": "uint256" } ], "name": "setSwapBackMinMaxRange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "setWalletAsExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "targetAddress", "type": "address" }, { "internalType": "bool", "name": "newStatus", "type": "bool" } ], "name": "setWalletAsExcludedFromLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "takeOffLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newMktFee", "type": "uint256" }, { "internalType": "uint256", "name": "_newDevFee", "type": "uint256" } ], "name": "taxesBuySetNewValues", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newMktFee", "type": "uint256" }, { "internalType": "uint256", "name": "_newDevFee", "type": "uint256" } ], "name": "taxesSellSetNewValues", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "valsForFees", "outputs": [ { "internalType": "uint256", "name": "_tTaxBuys", "type": "uint256" }, { "internalType": "uint256", "name": "_mktTaxBuys", "type": "uint256" }, { "internalType": "uint256", "name": "_devTaxBuys", "type": "uint256" }, { "internalType": "uint256", "name": "_tTaxSells", "type": "uint256" }, { "internalType": "uint256", "name": "_mktTaxSells", "type": "uint256" }, { "internalType": "uint256", "name": "_devTaxSells", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valsForLimits", "outputs": [ { "internalType": "bool", "name": "_lmtEnab", "type": "bool" }, { "internalType": "uint256", "name": "_wltLimit", "type": "uint256" }, { "internalType": "uint256", "name": "_txLimit", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valsForSB", "outputs": [ { "internalType": "bool", "name": "_SBEnab", "type": "bool" }, { "internalType": "uint256", "name": "_minSB", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSB", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526005805460ff60a81b191690556008805460ff199081166001908117909255600c8054821690556019805490911690911790553480156200004457600080fd5b506040518060400160405280600a815260200169426964656e6f6d69637360b01b8152506040518060400160405280600a815260200169424944454e4f4d49435360b01b81525081600390816200009c919062000881565b506004620000ab828262000881565b505050620000c8620000c26200043660201b60201c565b6200043a565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000ea8160016200048c565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015b91906200094d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf91906200094d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024391906200094d565b6001600160a01b031660a08190526200025e9060016200048c565b60a0516200026e9060016200053b565b60196000601e8180620002846012600a62000a94565b62000295906461f313f88062000aa5565b90506103e8620002a782600a62000aa5565b620002b3919062000abf565b600a9081556103e890620002c990839062000aa5565b620002d5919062000abf565b6009556103e8620002e882600162000aa5565b620002f4919062000abf565b60065560646200030682600262000aa5565b62000312919062000abf565b600755600f85905560108490556200032b848662000ae2565b600e556012839055601382905562000344828462000ae2565b601155600c8054610100600160a81b0319167415baaa43686cd9ea5feef4ad6eb42e1c8e83e24c00179055600d8054336001600160a01b03199091168117909155620003929060016200058f565b6200039f3060016200058f565b620003ae61dead60016200058f565b600c54620003cc9061010090046001600160a01b031660016200058f565b620003d93360016200048c565b620003e63060016200048c565b620003f561dead60016200048c565b600c54620004139061010090046001600160a01b031660016200048c565b6200041e3362000633565b6200042a3382620006f3565b50505050505062000af8565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620004db5760405162461bcd60e51b815260206004820181905260248201526000805160206200302183398151915260448201526064015b60405180910390fd5b6001600160a01b038216600081815260176020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291015b60405180910390a25050565b6001600160a01b038216600081815260186020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620005da5760405162461bcd60e51b81526020600482018190526024820152600080516020620030218339815191526044820152606401620004d2565b6001600160a01b038216600081815260166020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df791016200052f565b6005546001600160a01b031633146200067e5760405162461bcd60e51b81526020600482018190526024820152600080516020620030218339815191526044820152606401620004d2565b6001600160a01b038116620006e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004d2565b620006f0816200043a565b50565b6001600160a01b0382166200074b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004d2565b80600260008282546200075f919062000ae2565b90915550506001600160a01b038216600090815260208190526040812080548392906200078e90849062000ae2565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200080857607f821691505b6020821081036200082957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007d857600081815260208120601f850160051c81016020861015620008585750805b601f850160051c820191505b81811015620008795782815560010162000864565b505050505050565b81516001600160401b038111156200089d576200089d620007dd565b620008b581620008ae8454620007f3565b846200082f565b602080601f831160018114620008ed5760008415620008d45750858301515b600019600386901b1c1916600185901b17855562000879565b600085815260208120601f198616915b828110156200091e57888601518255948401946001909101908401620008fd565b50858210156200093d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200096057600080fd5b81516001600160a01b03811681146200097857600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620009d6578160001904821115620009ba57620009ba6200097f565b80851615620009c857918102915b93841c93908002906200099a565b509250929050565b600082620009ef5750600162000a8e565b81620009fe5750600062000a8e565b816001811462000a17576002811462000a225762000a42565b600191505062000a8e565b60ff84111562000a365762000a366200097f565b50506001821b62000a8e565b5060208310610133831016604e8410600b841016171562000a67575081810a62000a8e565b62000a73838362000995565b806000190482111562000a8a5762000a8a6200097f565b0290505b92915050565b60006200097860ff841683620009de565b808202811582820484141762000a8e5762000a8e6200097f565b60008262000add57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000a8e5762000a8e6200097f565b60805160a0516124ee62000b33600039600081816106cf0152610b9d015260008181611f3a01528181611ff3015261202f01526124ee6000f3fe6080604052600436106101fd5760003560e01c8063715018a61161010d578063c6888837116100a0578063d530df631161006f578063d530df6314610657578063dd62ed3e14610677578063f242ab41146106bd578063f2fde38b146106f1578063f396c5ac1461071157600080fd5b8063c6888837146105ec578063c68d613014610601578063c9567bf914610622578063d4c50c6b1461063757600080fd5b8063a9059cbb116100dc578063a9059cbb1461056c578063af788cf91461058c578063be3be245146105ac578063bfca3bdf146105cc57600080fd5b8063715018a6146104f05780638da5cb5b1461050557806395d89b4114610537578063a457c2d71461054c57600080fd5b8063313ce567116101905780634ada218b1161015f5780634ada218b146104205780635a0d12291461043a5780635de047d41461045a57806366e6f6591461047a57806370a08231146104ba57600080fd5b8063313ce567146103a457806338de2dda146103c057806339509351146103e057806342622fb21461040057600080fd5b80632126fcb2116101cc5780632126fcb2146102a557806323b872dd14610318578063292fd6d3146103385780632c2e40301461035857600080fd5b806306fdde0314610209578063095ea7b31461023457806312ceeb3d1461026457806318160ddd1461028657600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610749565b60405161022b91906120af565b60405180910390f35b34801561024057600080fd5b5061025461024f366004612112565b6107db565b604051901515815260200161022b565b34801561027057600080fd5b5061028461027f366004612153565b6107f2565b005b34801561029257600080fd5b506002545b60405190815260200161022b565b3480156102b157600080fd5b506102f96102c0366004612188565b6001600160a01b03166000908152601660209081526040808320546017835281842054601890935292205460ff92831693918316921690565b604080519315158452911515602084015215159082015260600161022b565b34801561032457600080fd5b506102546103333660046121a5565b610885565b34801561034457600080fd5b506102846103533660046121e6565b61092f565b34801561036457600080fd5b50600e54600f54601054601154601254601354604080519687526020870195909552938501929092526060840152608083015260a082015260c00161022b565b3480156103b057600080fd5b506040516012815260200161022b565b3480156103cc57600080fd5b506102846103db366004612208565b610a21565b3480156103ec57600080fd5b506102546103fb366004612112565b610af8565b34801561040c57600080fd5b5061028461041b366004612221565b610b34565b34801561042c57600080fd5b50600c546102549060ff1681565b34801561044657600080fd5b50610284610455366004612153565b610b71565b34801561046657600080fd5b50610284610475366004612208565b610c50565b34801561048657600080fd5b50600554600654600754600160a81b90920460ff16915b60408051931515845260208401929092529082015260600161022b565b3480156104c657600080fd5b506102976104d5366004612188565b6001600160a01b031660009081526020819052604090205490565b3480156104fc57600080fd5b50610284610d2c565b34801561051157600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161022b565b34801561054357600080fd5b5061021e610d62565b34801561055857600080fd5b50610254610567366004612112565b610d71565b34801561057857600080fd5b50610254610587366004612112565b610e0a565b34801561059857600080fd5b506102846105a7366004612153565b610e17565b3480156105b857600080fd5b506102846105c73660046121e6565b610e99565b3480156105d857600080fd5b506102846105e7366004612188565b610f84565b3480156105f857600080fd5b50610284611016565b34801561060d57600080fd5b50600854600954600a5460ff9092169161049d565b34801561062e57600080fd5b50610284611077565b34801561064357600080fd5b50610284610652366004612188565b6110ee565b34801561066357600080fd5b5061028461067236600461223c565b611175565b34801561068357600080fd5b5061029761069236600461226f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106c957600080fd5b5061051f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106fd57600080fd5b5061028461070c366004612188565b611313565b34801561071d57600080fd5b50600c54600d54604080516101009093046001600160a01b03908116845290911660208301520161022b565b606060038054610758906122a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610784906122a8565b80156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107e83384846113ae565b5060015b92915050565b6005546001600160a01b031633146108255760405162461bcd60e51b815260040161081c906122e2565b60405180910390fd5b6001600160a01b038216600081815260176020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291015b60405180910390a25050565b60006108928484846114d2565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156109175760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161081c565b61092485338584036113ae565b506001949350505050565b6005546001600160a01b031633146109595760405162461bcd60e51b815260040161081c906122e2565b600f829055601081905561096d818361232d565b600e819055606410156109d35760405162461bcd60e51b815260206004820152602860248201527f546f74616c20627579206665652063616e6e6f7420626520686967686572207460448201526768616e203130302560c01b606482015260840161081c565b600e54600f54601054604080519384526020840192909252908201527f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e906060015b60405180910390a15050565b6005546001600160a01b03163314610a4b5760405162461bcd60e51b815260040161081c906122e2565b6002811015610a9c5760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e3225604482015260640161081c565b6103e8610aa860025490565b610ab29083612340565b610abc9190612357565b600a8190556040519081527fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a906020015b60405180910390a150565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107e8918590610b2f90869061232d565b6113ae565b6005546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161081c906122e2565b6019805460ff1916911515919091179055565b6005546001600160a01b03163314610b9b5760405162461bcd60e51b815260040161081c906122e2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c425760405162461bcd60e51b815260206004820152603f60248201527f54686520746172676574506169722063616e6e6f742062652072656d6f76656460448201527f2066726f6d206175746f6d617465644d61726b65744d616b6572506169727300606482015260840161081c565b610c4c8282611b73565b5050565b6005546001600160a01b03163314610c7a5760405162461bcd60e51b815260040161081c906122e2565b6005811015610cd75760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161081c565b6103e8610ce360025490565b610ced9083612340565b610cf79190612357565b60098190556040519081527f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace90602001610aed565b6005546001600160a01b03163314610d565760405162461bcd60e51b815260040161081c906122e2565b610d606000611bc7565b565b606060048054610758906122a8565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610df35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161081c565b610e0033858584036113ae565b5060019392505050565b60006107e83384846114d2565b6005546001600160a01b03163314610e415760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b038216600081815260166020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610879565b6005546001600160a01b03163314610ec35760405162461bcd60e51b815260040161081c906122e2565b60128290556013819055610ed7818361232d565b601181905560641015610f3e5760405162461bcd60e51b815260206004820152602960248201527f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572206044820152687468616e203130302560b81b606482015260840161081c565b601154601254601354604080519384526020840192909252908201527fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f190606001610a15565b6005546001600160a01b03163314610fae5760405162461bcd60e51b815260040161081c906122e2565b600c546040516001600160a01b036101009092048216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a3600c80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b031633146110405760405162461bcd60e51b815260040161081c906122e2565b6008805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6005546001600160a01b031633146110a15760405162461bcd60e51b815260040161081c906122e2565b600c805460ff191660011790556005805460ff60a81b1916600160a81b17905560405142907fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92390600090a2565b6005546001600160a01b031633146111185760405162461bcd60e51b815260040161081c906122e2565b600d546040516001600160a01b03918216918316907fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e790600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461119f5760405162461bcd60e51b815260040161081c906122e2565b600182101561120d5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e604482015273101817181892903a37ba30b61039bab838363c9760611b606482015260840161081c565b818110156112705760405162461bcd60e51b815260206004820152602a60248201527f6d6178696d756d20616d6f756e742063616e7420626520686967686572207468604482015269616e206d696e696d756d60b01b606482015260840161081c565b6005805460ff60a81b1916600160a81b8515150217905560025461271090839061129a9190612340565b6112a49190612357565b600655612710816112b460025490565b6112be9190612340565b6112c89190612357565b600755604080518415158152602081018490529081018290527f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7799060600160405180910390a1505050565b6005546001600160a01b0316331461133d5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b0381166113a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161081c565b6113ab81611bc7565b50565b6001600160a01b0383166114105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161081c565b6001600160a01b0382166114715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161081c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114f85760405162461bcd60e51b815260040161081c90612379565b6001600160a01b03821661151e5760405162461bcd60e51b815260040161081c906123be565b806000036115375761153283836000611c19565b505050565b60085460ff161561189c576005546001600160a01b0384811691161480159061156e57506005546001600160a01b03838116911614155b801561158257506001600160a01b03821615155b801561159957506001600160a01b03821661dead14155b80156115af5750600554600160a01b900460ff16155b1561189c57600c5460ff16611654576001600160a01b03831660009081526016602052604090205460ff16806115fd57506001600160a01b03821660009081526016602052604090205460ff165b6116545760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161081c565b6001600160a01b03831660009081526018602052604090205460ff16801561169557506001600160a01b03821660009081526017602052604090205460ff16155b1561176a57600a548111156116fb5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b606482015260840161081c565b6009546001600160a01b038316600090815260208190526040902054611721908361232d565b11156117655760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161081c565b61189c565b6001600160a01b03821660009081526018602052604090205460ff1680156117ab57506001600160a01b03831660009081526017602052604090205460ff16155b1561181257600a548111156117655760405162461bcd60e51b815260206004820152602760248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152661036b0bc2a3c1760c91b606482015260840161081c565b6001600160a01b03821660009081526017602052604090205460ff1661189c576009546001600160a01b038316600090815260208190526040902054611858908361232d565b111561189c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161081c565b30600090815260208190526040902054600654811080159081906118c95750600554600160a81b900460ff165b80156118df5750600554600160a01b900460ff16155b801561190457506001600160a01b03851660009081526018602052604090205460ff16155b801561192957506001600160a01b03851660009081526016602052604090205460ff16155b801561194e57506001600160a01b03841660009081526016602052604090205460ff16155b1561197d576005805460ff60a01b1916600160a01b17905561196f83611d6e565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526016602052604090205460ff600160a01b9092048216159116806119cb57506001600160a01b03851660009081526016602052604090205460ff165b156119d4575060005b60008115611b5f576001600160a01b03861660009081526018602052604090205460ff168015611a0657506000601154115b15611a9457611a2b6064611a2560115488611ec490919063ffffffff16565b90611ed7565b905060115460135482611a3e9190612340565b611a489190612357565b60156000828254611a59919061232d565b9091555050601154601254611a6e9083612340565b611a789190612357565b60146000828254611a89919061232d565b90915550611b419050565b6001600160a01b03871660009081526018602052604090205460ff168015611abe57506000600e54115b15611b4157611add6064611a25600e5488611ec490919063ffffffff16565b9050600e5460105482611af09190612340565b611afa9190612357565b60156000828254611b0b919061232d565b9091555050600e54600f54611b209083612340565b611b2a9190612357565b60146000828254611b3b919061232d565b90915550505b8015611b5257611b52873083611c19565b611b5c8186612401565b94505b611b6a878787611c19565b50505050505050565b6001600160a01b038216600081815260186020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316611c3f5760405162461bcd60e51b815260040161081c90612379565b6001600160a01b038216611c655760405162461bcd60e51b815260040161081c906123be565b6001600160a01b03831660009081526020819052604090205481811015611cdd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161081c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611d1490849061232d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d6091815260200190565b60405180910390a350505050565b30600090815260208190526040812054908190818103611d8e5750505050565b600754831115611d9e5760075492505b60195460ff168015611db95750611db6846005612340565b83115b15611dcc57611dc9846005612340565b92505b8247611dd782611ee3565b6000611de347836120a3565b90506000611e0086611a2560155485611ec490919063ffffffff16565b600060148190556015819055600d546040519293506001600160a01b031691839181818185875af1925050503d8060008114611e58576040519150601f19603f3d011682016040523d82523d6000602084013e611e5d565b606091505b5050600c5460405191965061010090046001600160a01b0316904790600081818185875af1925050503d8060008114611eb2576040519150601f19603f3d011682016040523d82523d6000602084013e611eb7565b606091505b5050505050505050505050565b6000611ed08284612340565b9392505050565b6000611ed08284612357565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f1857611f18612414565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fba919061242a565b81600181518110611fcd57611fcd612414565b60200260200101906001600160a01b031690816001600160a01b031681525050612018307f0000000000000000000000000000000000000000000000000000000000000000846113ae565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061206d908590600090869030904290600401612447565b600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050505050565b6000611ed08284612401565b600060208083528351808285015260005b818110156120dc578581018301518582016040015282016120c0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113ab57600080fd5b6000806040838503121561212557600080fd5b8235612130816120fd565b946020939093013593505050565b8035801515811461214e57600080fd5b919050565b6000806040838503121561216657600080fd5b8235612171816120fd565b915061217f6020840161213e565b90509250929050565b60006020828403121561219a57600080fd5b8135611ed0816120fd565b6000806000606084860312156121ba57600080fd5b83356121c5816120fd565b925060208401356121d5816120fd565b929592945050506040919091013590565b600080604083850312156121f957600080fd5b50508035926020909101359150565b60006020828403121561221a57600080fd5b5035919050565b60006020828403121561223357600080fd5b611ed08261213e565b60008060006060848603121561225157600080fd5b61225a8461213e565b95602085013595506040909401359392505050565b6000806040838503121561228257600080fd5b823561228d816120fd565b9150602083013561229d816120fd565b809150509250929050565b600181811c908216806122bc57607f821691505b6020821081036122dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156107ec576107ec612317565b80820281158282048414176107ec576107ec612317565b60008261237457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107ec576107ec612317565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561243c57600080fd5b8151611ed0816120fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124975784516001600160a01b031683529383019391830191600101612472565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220dd612817b045f7882382005fe6f4c056e545cd663ce3473c482f990069ce0fb564736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572