[ { "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": "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": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "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": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "DeployerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "DeployerWalletAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "ExcludeMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "ExcludedFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "ExludeMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "MarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newBuyLiquidityTax", "type": "uint256" }, { "internalType": "uint256", "name": "newBuyMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "newBuyDeployerTax", "type": "uint256" }, { "internalType": "uint256", "name": "newSellLiquidityTax", "type": "uint256" }, { "internalType": "uint256", "name": "newSellMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "newSellDeployerTax", "type": "uint256" } ], "name": "SetFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTxAmount", "type": "uint256" }, { "internalType": "uint256", "name": "MaxLimit", "type": "uint256" } ], "name": "SetMax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "SwapBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "TransferTokenBalance", "outputs": [ { "internalType": "bool", "name": "_sent", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "_buyDeployerFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_deployerShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_marketingShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellDeployerFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_totalDistributionShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_totalTaxIfBuying", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_totalTaxIfSelling", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_walletMax", "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": [ { "internalType": "address", "name": "newRouterAddress", "type": "address" } ], "name": "changeRouterVersion", "outputs": [ { "internalType": "address", "name": "newPairAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "checkWalletLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "bool", "name": "newValue", "type": "bool" } ], "name": "enableDisableWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isMarketPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isTxLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isWalletLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWalletAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "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": "newLiquidityShare", "type": "uint256" }, { "internalType": "uint256", "name": "newMarketingShare", "type": "uint256" }, { "internalType": "uint256", "name": "newDeployerShare", "type": "uint256" } ], "name": "setDistributionSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "setMarketPairStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "setNumTokensBeforeSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "setSwapAndLiquifyByLimitOnly", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyByLimitOnly", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "uniswapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052600a60a0908152694469676974616c20416960b01b60c0526002906200002b9082620006ae565b506040805180820190915260038082526244414960e81b602083015290620000549082620006ae565b5060048054746f47ff5a2b1ba56c576e447b19b7af7ef2462007096001600160a81b0319909116179055600580546001600160a01b031916736f47ff5a2b1ba56c576e447b19b7af7ef246200717905561dead6080525f600c8190556019600d819055600e829055600f829055601081905560118290556012829055600a601381905560149290925560158190556016556017819055620000f89060099062000883565b62000108906305f5e1006200089a565b6018556004546200011e9060ff16600a62000883565b6200012d90620f42406200089a565b601955600454620001439060ff16600a62000883565b6200015290620f42406200089a565b601a55600454620001689060ff16600a62000883565b6200017790620493e06200089a565b601b55601d805462ffffff60a81b19166201000160a81b1790553480156200019d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002599190620008b4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cb9190620008b4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000316573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200033c9190620008b4565b601d80546001600160a01b039283166001600160a01b031991821617909155601c80549284169290911682179055601854305f90815260076020908152604080832094835293905291822055600190600890620003a05f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526008909252902080549091166001179055600e54600d54600c54620004019291620003fa9190620005a0565b90620005a0565b601555601154601054600f546200041f9291620003fa9190620005a0565b6016556014546013546012546200043d9291620003fa9190620005a0565b601755600160095f620004575f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055601d549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004c55f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600a8452828120805486166001908117909155601d549092168152600b90935290822080549093161790915560185490600690620005303390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200059191815260200190565b60405180910390a350620008f2565b5f80620005ae8385620008dc565b905083811015620006055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200063757607f821691505b6020821081036200065657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620006a9575f81815260208120601f850160051c81016020861015620006845750805b601f850160051c820191505b81811015620006a55782815560010162000690565b5050505b505050565b81516001600160401b03811115620006ca57620006ca6200060e565b620006e281620006db845462000622565b846200065c565b602080601f83116001811462000718575f8415620007005750858301515b5f19600386901b1c1916600185901b178555620006a5565b5f85815260208120601f198616915b82811015620007485788860151825594840194600190910190840162000727565b50858210156200076657878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620007ca57815f1904821115620007ae57620007ae62000776565b80851615620007bc57918102915b93841c93908002906200078f565b509250929050565b5f82620007e25750600162000608565b81620007f057505f62000608565b8160018114620008095760028114620008145762000834565b600191505062000608565b60ff84111562000828576200082862000776565b50506001821b62000608565b5060208310610133831016604e8410600b841016171562000859575081810a62000608565b6200086583836200078a565b805f19048211156200087b576200087b62000776565b029392505050565b5f6200089360ff841683620007d2565b9392505050565b808202811582820484141762000608576200060862000776565b5f60208284031215620008c5575f80fd5b81516001600160a01b038116811462000605575f80fd5b8082018082111562000608576200060862000776565b60805161271b620009125f395f81816104d00152610d22015261271b5ff3fe608060405260043610610374575f3560e01c806388790a68116101c8578063c816841b116100fd578063dc44b6a01161009d578063f0cd1dac1161006d578063f0cd1dac14610a1c578063f2fde38b14610a31578063f872858a14610a50578063fd05e4df14610a70575f80fd5b8063dc44b6a014610985578063dd62ed3e1461099a578063f00a16ad146109de578063f0b5f3cf146109fd575f80fd5b8063cb5f6d05116100d8578063cb5f6d051461090d578063d01edad014610922578063d158272d14610941578063da00097d14610965575f80fd5b8063c816841b146108ab578063c8607952146108ca578063c867d60b146108df575f80fd5b8063a457c2d711610168578063bf343b7411610143578063bf343b7414610839578063c2d4640e14610858578063c49b9a8014610877578063c5d2418914610896575f80fd5b8063a457c2d7146107dc578063a5d69d1f146107fb578063a9059cbb1461081a575f80fd5b806395d89b41116101a357806395d89b4114610780578063986a1a0414610794578063a073d37f146107b3578063a08e671f146107c7575f80fd5b806388790a68146107215780638b42507f146107365780638da5cb5b14610764575f80fd5b806339509351116102a95780635881f3ef116102495780637d1db4a5116102195780637d1db4a5146106c3578063807c2d9c146106d857806382eefb43146106ed578063844d591c14610702575f80fd5b80635881f3ef1461064657806361a23c691461066557806363b52db41461067a57806370a082311461068f575f80fd5b80634a74bb02116102845780634a74bb02146105d15780635342acb4146105f1578063557ed1ba1461061f57806357a5802f14610631575f80fd5b806339509351146105655780633b97084a146105845780633ecad271146105a3575f80fd5b806323b872dd116103145780632b112e49116102ef5780632b112e49146104f25780632d43abd814610506578063313ce5671461052557806332d22f6a14610546575f80fd5b806323b872dd146104815780632563ae83146104a057806327c8f835146104bf575f80fd5b80630bc992b51161034f5780630bc992b5146103ee5780631694505e1461040d57806318160ddd1461044457806322515a0914610462575f80fd5b806301afba2c1461037f57806306fdde0314610395578063095ea7b3146103bf575f80fd5b3661037b57005b5f80fd5b34801561038a575f80fd5b50610393610a85565b005b3480156103a0575f80fd5b506103a9610b02565b6040516103b6919061228b565b60405180910390f35b3480156103ca575f80fd5b506103de6103d93660046122ed565b610b92565b60405190151581526020016103b6565b3480156103f9575f80fd5b50610393610408366004612317565b610ba8565b348015610418575f80fd5b50601c5461042c906001600160a01b031681565b6040516001600160a01b0390911681526020016103b6565b34801561044f575f80fd5b506018545b6040519081526020016103b6565b34801561046d575f80fd5b5061039361047c366004612356565b610c1f565b34801561048c575f80fd5b506103de61049b366004612371565b610c70565b3480156104ab575f80fd5b506103936104ba3660046123bc565b610cd9565b3480156104ca575f80fd5b5061042c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104fd575f80fd5b50610454610d20565b348015610511575f80fd5b506103936105203660046123d7565b610d69565b348015610530575f80fd5b5060045460405160ff90911681526020016103b6565b348015610551575f80fd5b5061039361056036600461240e565b610dbc565b348015610570575f80fd5b506103de61057f3660046122ed565b610df0565b34801561058f575f80fd5b5061039361059e36600461242e565b610e25565b3480156105ae575f80fd5b506103de6105bd366004612356565b600b6020525f908152604090205460ff1681565b3480156105dc575f80fd5b50601d546103de90600160a81b900460ff1681565b3480156105fc575f80fd5b506103de61060b366004612356565b60086020525f908152604090205460ff1681565b34801561062a575f80fd5b5042610454565b34801561063c575f80fd5b5061045460125481565b348015610651575f80fd5b5061042c610660366004612356565b610e53565b348015610670575f80fd5b5061045460135481565b348015610685575f80fd5b5061045460145481565b34801561069a575f80fd5b506104546106a9366004612356565b6001600160a01b03165f9081526006602052604090205490565b3480156106ce575f80fd5b5061045460195481565b3480156106e3575f80fd5b50610454601a5481565b3480156106f8575f80fd5b5061045460165481565b34801561070d575f80fd5b5061039361071c3660046123d7565b61117b565b34801561072c575f80fd5b50610454600f5481565b348015610741575f80fd5b506103de610750366004612356565b600a6020525f908152604090205460ff1681565b34801561076f575f80fd5b505f546001600160a01b031661042c565b34801561078b575f80fd5b506103a96111ce565b34801561079f575f80fd5b506103936107ae3660046123d7565b6111dd565b3480156107be575f80fd5b50601b54610454565b3480156107d2575f80fd5b5061045460175481565b3480156107e7575f80fd5b506103de6107f63660046122ed565b611230565b348015610806575f80fd5b506103936108153660046123bc565b61127d565b348015610825575f80fd5b506103de6108343660046122ed565b6112c4565b348015610844575f80fd5b506103de610853366004612371565b6112d0565b348015610863575f80fd5b50610393610872366004612445565b6113e6565b348015610882575f80fd5b506103936108913660046123bc565b611434565b3480156108a1575f80fd5b50610454600d5481565b3480156108b6575f80fd5b50601d5461042c906001600160a01b031681565b3480156108d5575f80fd5b5061045460105481565b3480156108ea575f80fd5b506103de6108f9366004612356565b60096020525f908152604090205460ff1681565b348015610918575f80fd5b5061045460115481565b34801561092d575f80fd5b5060055461042c906001600160a01b031681565b34801561094c575f80fd5b5060045461042c9061010090046001600160a01b031681565b348015610970575f80fd5b50601d546103de90600160b01b900460ff1681565b348015610990575f80fd5b50610454600c5481565b3480156109a5575f80fd5b506104546109b436600461246e565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156109e9575f80fd5b506103936109f83660046123d7565b6114b5565b348015610a08575f80fd5b50610393610a17366004612356565b611508565b348015610a27575f80fd5b5061045460155481565b348015610a3c575f80fd5b50610393610a4b366004612356565b611553565b348015610a5b575f80fd5b50601d546103de90600160b81b900460ff1681565b348015610a7b575f80fd5b50610454600e5481565b5f546001600160a01b03163314610ab75760405162461bcd60e51b8152600401610aae9061249a565b60405180910390fd5b47610ac95f546001600160a01b031690565b6001600160a01b03166108fc8290811502906040515f60405180830381858888f19350505050158015610afe573d5f803e3d5ffd5b5050565b606060028054610b11906124cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906124cf565b8015610b885780601f10610b5f57610100808354040283529160200191610b88565b820191905f5260205f20905b815481529060010190602001808311610b6b57829003601f168201915b5050505050905090565b5f610b9e33848461163a565b5060015b92915050565b5f546001600160a01b03163314610bd15760405162461bcd60e51b8152600401610aae9061249a565b600c869055600d859055600e849055610bf484610bee888861175d565b9061175d565b601555600f83905560108290556011819055610c1481610bee858561175d565b601655505050505050565b5f546001600160a01b03163314610c485760405162461bcd60e51b8152600401610aae9061249a565b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f610c7c8484846117bb565b50610cce8433610cc985604051806060016040528060288152602001612699602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190611b7d565b61163a565b5060015b9392505050565b5f546001600160a01b03163314610d025760405162461bcd60e51b8152600401610aae9061249a565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165f90815260066020526040812054601854610d6491611bb5565b905090565b5f546001600160a01b03163314610d925760405162461bcd60e51b8152600401610aae9061249a565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610de55760405162461bcd60e51b8152600401610aae9061249a565b601991909155601a55565b335f8181526007602090815260408083206001600160a01b03871684529091528120549091610b9e918590610cc9908661175d565b5f546001600160a01b03163314610e4e5760405162461bcd60e51b8152600401610aae9061249a565b601b55565b5f80546001600160a01b03163314610e7d5760405162461bcd60e51b8152600401610aae9061249a565b5f829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee19190612507565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f509190612507565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610f99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612507565b91506001600160a01b03821661110d57806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611009573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102d9190612507565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611078573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109c9190612507565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156110e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110a9190612507565b91505b601d80546001600160a01b03199081166001600160a01b038581169182178455601c8054909316948116949094179091555f908152600960209081526040808320805460ff19908116600190811790925594549095168352600b909152902080549091169091179055919050565b5f546001600160a01b031633146111a45760405162461bcd60e51b8152600401610aae9061249a565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b606060038054610b11906124cf565b5f546001600160a01b031633146112065760405162461bcd60e51b8152600401610aae9061249a565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f610b9e3384610cc9856040518060600160405280602581526020016126c160259139335f9081526007602090815260408083206001600160a01b038d1684529091529020549190611b7d565b5f546001600160a01b031633146112a65760405162461bcd60e51b8152600401610aae9061249a565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b5f610cce3384846117bb565b5f80546001600160a01b031633146112fa5760405162461bcd60e51b8152600401610aae9061249a565b815f0361136e576040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015611343573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113679190612522565b9150610cd2565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905285169063a9059cbb906044016020604051808303815f875af11580156113ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113de9190612539565b949350505050565b5f546001600160a01b0316331461140f5760405162461bcd60e51b8152600401610aae9061249a565b60128390556013829055601481905561142c81610bee858561175d565b601755505050565b5f546001600160a01b0316331461145d5760405162461bcd60e51b8152600401610aae9061249a565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906114aa90831515815260200190565b60405180910390a150565b5f546001600160a01b031633146114de5760405162461bcd60e51b8152600401610aae9061249a565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146115315760405162461bcd60e51b8152600401610aae9061249a565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461157c5760405162461bcd60e51b8152600401610aae9061249a565b6001600160a01b0381166115e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aae565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661169c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aae565b6001600160a01b0382166116fd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aae565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f806117698385612568565b905083811015610cd25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aae565b5f6001600160a01b0384166118205760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610aae565b6001600160a01b0383166118825760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610aae565b601d54600160a01b900460ff16156118a65761189f848484611bf6565b9050610cd2565b6001600160a01b0384165f908152600a602052604090205460ff161580156118e657506001600160a01b0383165f908152600a602052604090205460ff16155b1561194e5760195482111561194e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610aae565b305f90815260066020526040902054601b548110801590819061197b5750601d54600160a01b900460ff16155b801561199f57506001600160a01b0386165f908152600b602052604090205460ff16155b80156119b45750601d54600160a81b900460ff165b156119da57601d54600160b01b900460ff16156119d157601b5491505b6119da82611cd9565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f90815260069091529190912054611a2b918690611b7d565b6001600160a01b0387165f90815260066020908152604080832093909355600890529081205460ff1680611a7657506001600160a01b0386165f9081526008602052604090205460ff165b611a8a57611a85878787611e0c565b611a8c565b845b601d54909150600160b81b900460ff168015611ac057506001600160a01b0386165f9081526009602052604090205460ff16155b15611af457601a54611aea82610bee896001600160a01b03165f9081526006602052604090205490565b1115611af4575f80fd5b6001600160a01b0386165f90815260066020526040902054611b16908261175d565b6001600160a01b038088165f8181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b699085815260200190565b60405180910390a360019350505050610cd2565b5f8184841115611ba05760405162461bcd60e51b8152600401610aae919061228b565b505f611bac848661257b565b95945050505050565b5f610cd283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b7d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054611c46918490611b7d565b6001600160a01b038086165f908152600660205260408082209390935590851681522054611c74908361175d565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cc79086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012545f91611d0e91600291611d089182908790611f0e565b90611f8c565b90505f611d1b8383611bb5565b9050611d2681611fcd565b60125447905f90611d4590611d3c906002611f8c565b60175490611bb5565b90505f611d666002611d0884611d0860125488611f0e90919063ffffffff16565b90505f611d8283611d0860145487611f0e90919063ffffffff16565b90505f611d9982611d938786611bb5565b90611bb5565b90508015611dbc57600454611dbc9061010090046001600160a01b031682612156565b8115611dd857600554611dd8906001600160a01b031683612156565b5f83118015611de657505f87115b15611df557611df5878461218e565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383165f908152600b6020526040812054819060ff1615611e4f57611e486064611d0860155486611f0e90919063ffffffff16565b9050611e8c565b6001600160a01b0384165f908152600b602052604090205460ff1615611e8c57611e896064611d0860165486611f0e90919063ffffffff16565b90505b8015611f0457305f90815260066020526040902054611eab908261175d565b305f81815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611efb9085815260200190565b60405180910390a35b611bac8382611bb5565b5f825f03611f1d57505f610ba2565b5f611f28838561258e565b905082611f3585836125a5565b14610cd25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aae565b5f610cd283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061225f565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110612000576120006125c4565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612057573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061207b9190612507565b8160018151811061208e5761208e6125c4565b6001600160a01b039283166020918202929092010152601c546120b4913091168461163a565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906120ec9085905f9086903090429060040161261a565b5f604051808303815f87803b158015612103575f80fd5b505af1158015612115573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161214a929190612655565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015612189573d5f803e3d5ffd5b505050565b601c546121a69030906001600160a01b03168461163a565b601c546001600160a01b031663f305d7198230855f806121cd5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612233573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612258919061266d565b5050505050565b5f818361227f5760405162461bcd60e51b8152600401610aae919061228b565b505f611bac84866125a5565b5f6020808352835180828501525f5b818110156122b65785810183015185820160400152820161229a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146122ea575f80fd5b50565b5f80604083850312156122fe575f80fd5b8235612309816122d6565b946020939093013593505050565b5f805f805f8060c0878903121561232c575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f60208284031215612366575f80fd5b8135610cd2816122d6565b5f805f60608486031215612383575f80fd5b833561238e816122d6565b9250602084013561239e816122d6565b929592945050506040919091013590565b80151581146122ea575f80fd5b5f602082840312156123cc575f80fd5b8135610cd2816123af565b5f80604083850312156123e8575f80fd5b82356123f3816122d6565b91506020830135612403816123af565b809150509250929050565b5f806040838503121561241f575f80fd5b50508035926020909101359150565b5f6020828403121561243e575f80fd5b5035919050565b5f805f60608486031215612457575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561247f575f80fd5b823561248a816122d6565b91506020830135612403816122d6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806124e357607f821691505b60208210810361250157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612517575f80fd5b8151610cd2816122d6565b5f60208284031215612532575f80fd5b5051919050565b5f60208284031215612549575f80fd5b8151610cd2816123af565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610ba257610ba2612554565b81810381811115610ba257610ba2612554565b8082028115828204841417610ba257610ba2612554565b5f826125bf57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b8381101561260f5781516001600160a01b0316875295820195908201906001016125ea565b509495945050505050565b85815284602082015260a060408201525f61263860a08301866125d8565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f6113de60408301846125d8565b5f805f6060848603121561267f575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220536fdfd5a6e0b5407a9f475a6ad4e3fcd9e53c721f81864f5a447aa4b90e390764736f6c63430008140033