[ { "inputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "maxTransactionAmount", "type": "uint256" }, { "internalType": "address", "name": "marketingWallet", "type": "address" }, { "internalType": "address", "name": "charityWallet", "type": "address" }, { "internalType": "address", "name": "productionWallet", "type": "address" }, { "internalType": "address", "name": "mainRouter", "type": "address" }, { "internalType": "uint24", "name": "sellLiquidityFee", "type": "uint24" }, { "internalType": "uint24", "name": "buyLiquidityFee", "type": "uint24" }, { "internalType": "uint24", "name": "sellMarketingFee", "type": "uint24" }, { "internalType": "uint24", "name": "buyMarketingFee", "type": "uint24" }, { "internalType": "uint24", "name": "sellBurnFee", "type": "uint24" }, { "internalType": "uint24", "name": "buyBurnFee", "type": "uint24" }, { "internalType": "uint24", "name": "sellCharityFee", "type": "uint24" }, { "internalType": "uint24", "name": "buyCharityFee", "type": "uint24" }, { "internalType": "uint24", "name": "sellProductionFee", "type": "uint24" }, { "internalType": "uint24", "name": "buyProductionFee", "type": "uint24" }, { "internalType": "address", "name": "backupOwner", "type": "address" } ], "internalType": "struct VATO.Args", "name": "args", "type": "tuple" } ], "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": "charityFeeTokens", "type": "uint256" } ], "name": "CharityFeeTaken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "ExcludedFromFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludedFromMaxTransactionAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "mainRouter", "type": "address" }, { "indexed": false, "internalType": "address", "name": "mainPair", "type": "address" } ], "name": "MainRouterUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "marketingFeeTokens", "type": "uint256" } ], "name": "MarketingFeeTaken", "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": "productionFeeTokens", "type": "uint256" } ], "name": "ProductionFeeTaken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensForLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "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": "uint24", "name": "buyLiquidityFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "buyMarketingFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "buyBurnFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "buyCharityFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "buyProductionFee", "type": "uint24" } ], "name": "UpdateBuyFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMaxTransactionAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMaxTransactionAmount", "type": "uint256" } ], "name": "UpdateMaxTransactionAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMaxWallet", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMaxWallet", "type": "uint256" } ], "name": "UpdateMaxWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMinAmountToTakeFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMinAmountToTakeFee", "type": "uint256" } ], "name": "UpdateMinAmountToTakeFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint24", "name": "sellLiquidityFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "sellMarketingFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "sellBurnFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "sellCharityFee", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "sellProductionFee", "type": "uint24" } ], "name": "UpdateSellFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "marketingWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "charityWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "productionWallet", "type": "address" } ], "name": "UpdateWallets", "type": "event" }, { "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "backupOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyBurnFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyCharityFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyProductionFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "charityWallet", "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": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainRouter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minAmountToTakeFee", "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": [], "name": "productionWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceBackupOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellBurnFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellCharityFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellProductionFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferBackupOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "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": [ { "internalType": "uint24", "name": "_buyLiquidityFee", "type": "uint24" }, { "internalType": "uint24", "name": "_buyMarketingFee", "type": "uint24" }, { "internalType": "uint24", "name": "_buyBurnFee", "type": "uint24" }, { "internalType": "uint24", "name": "_buyCharityFee", "type": "uint24" }, { "internalType": "uint24", "name": "_buyProductionFee", "type": "uint24" } ], "name": "updateBuyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_mainRouter", "type": "address" } ], "name": "updateMainPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxTransactionAmount", "type": "uint256" } ], "name": "updateMaxTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" } ], "name": "updateMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minAmountToTakeFee", "type": "uint256" } ], "name": "updateMinAmountToTakeFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint24", "name": "_sellLiquidityFee", "type": "uint24" }, { "internalType": "uint24", "name": "_sellMarketingFee", "type": "uint24" }, { "internalType": "uint24", "name": "_sellBurnFee", "type": "uint24" }, { "internalType": "uint24", "name": "_sellCharityFee", "type": "uint24" }, { "internalType": "uint24", "name": "_sellProductionFee", "type": "uint24" } ], "name": "updateSellFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_charityWallet", "type": "address" }, { "internalType": "address", "name": "_productionWallet", "type": "address" } ], "name": "updateWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b506040516200424238038062004242833981016040819052620000349162000eb3565b6102808101518151602083015160036200004f838262001154565b5060046200005e828262001154565b5050506200007b6200007562000a8860201b60201c565b62000a8c565b620000868162000acd565b5060408101516006805460ff909216600160a01b0260ff60a01b199092169190911790556060810151620000bc90339062000b0e565b60c08101516001600160a01b03166200011c5760405162461bcd60e51b815260206004820152601d60248201527f6d61726b6574696e672077616c6c65742063616e206e6f74206265203000000060448201526064015b60405180910390fd5b6101208101516001600160a01b0316620001795760405162461bcd60e51b815260206004820152601b60248201527f526f7574657220616464726573732063616e206e6f7420626520300000000000604482015260640162000113565b620493e0816101400151826102400151836101800151846102000151856101c00151620001a7919062001236565b620001b3919062001236565b620001bf919062001236565b620001cb919062001236565b62ffffff161115620002125760405162461bcd60e51b815260206004820152600f60248201526e73656c6c20666565203c3d2033302560881b604482015260640162000113565b620493e0816101600151826102600151836101a00151846102200151856101e0015162000240919062001236565b6200024c919062001236565b62000258919062001236565b62000264919062001236565b62ffffff161115620002aa5760405162461bcd60e51b815260206004820152600e60248201526d62757920666565203c3d2033302560901b604482015260640162000113565b60c0810151600880546001600160a01b039283166001600160a01b0319918216811790925560e08401516009805491851691831682179055610100850151600a80549190951692168217909355604051909291907f0dd991763a30ddf3737c88003a9269d319526665aee9e93144638ba62776e01d90600090a4610120810151600e80546001600160a01b0319166001600160a01b0390921691821790556200035890309060001962000bd1565b600e54600f54604080516001600160a01b0393841681529290911660208301527f751e970af297d4e5267dabcea7b369ad737038498379b46448d190d9e261f3c5910160405180910390a1600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041d91906200125c565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000480573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a691906200125c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620004f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200051a91906200125c565b600f80546001600160a01b0319166001600160a01b039290921691909117905560608101516200054e906127109062001281565b8160a001511015620005b85760405162461bcd60e51b815260206004820152602c60248201527f6d61785472616e73616374696f6e416d6f756e74203e3d20746f74616c20737560448201526b070706c79202f2031303030360a41b606482015260840162000113565b6127108160600151620005cc919062001281565b816080015110156200062b5760405162461bcd60e51b815260206004820152602160248201527f6d617857616c6c6574203e3d20746f74616c20737570706c79202f20313030306044820152600360fc1b606482015260840162000113565b6080810151600c81905560408051918252600060208301527fff64d41f60feb77d52f64ae64a9fc3929d57a89d0cc55728762468bae5e0fe52910160405180910390a160a0810151600d81905560408051918252600060208301527f35eec0711af6fbe3039535323be51b57996b6945b0d55862607c7a02e52e4507910160405180910390a1610140810151600680546101808401516101c085015165ffffffffffff60b01b19909216600160b01b62ffffff958616810262ffffff60c81b191691909117600160c81b92861683021762ffffff60e01b1916600160e01b938616840217938490556102008601516007805461024089015192881665ffffffffffff199091161763010000009288168302179081905560408051938704881684529386048716602084015293909404851691810191909152818416606082015291900490911660808201527fe1e596117ecfcee38825578f1cf3e48b0762ebeb790436fe51f63f66ca99aa959060a00160405180910390a1610160810151600780546101a08401516101e085015161022086015161026087015165ffffffffffff60301b19909416660100000000000062ffffff978816810262ffffff60481b191691909117690100000000000000000094881685021765ffffffffffff60601b19166c01000000000000000000000000938816840262ffffff60781b191617600160781b92881683021762ffffff60901b1916600160901b9588168602179586905560408051918704881682529386048716602082015291850486169282019290925290830484166060820152910490911660808201527ff056b32275bae2f3384dffa819b30c0e007fcc27a12a96806c44b63e7a33b0639060a00160405180910390a16127108160600151620008c4919062001281565b600b81905560408051918252600060208301527f772a06bc936eb749842080c472181e970cd4f23bd1ab7d0b84a80aec26910434910160405180910390a13060009081526011602081905260408083208054600160ff1991821681179092556008546001600160a01b0390811686528386208054831684179055600954811686528386208054831684179055600a5416855291842080549092168117909155916200096c3390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790557f97847ee99463795296047093514439c3127772df3715e628aa85601cf85417168054861660019081179091556010948590527f9e93e1db4a1f807cc22b2aecf4deeb0bf5745f1ecb319e87c68c5624c0fa6b6980548716821790553082528382208054871682179055600854831682528382208054871682179055600954831682528382208054871682179055600a5490921681529182208054909416811790935562000a453390565b6001600160a01b0390811682526020820192909252604001600020805460ff191692151592909217909155600f5462000a819116600162000cf9565b50620012c0565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082906000805160206200422283398151915290600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082906000805160206200422283398151915290600090a35050565b6001600160a01b03821662000b665760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000113565b806002600082825462000b7a9190620012a4565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b03831662000c355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000113565b6001600160a01b03821662000c985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000113565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152601260209081526040808320805486151560ff199182168117909255601084529382902080549094168117909355519182527fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab910160405180910390a25050565b505050565b634e487b7160e01b600052604160045260246000fd5b6040516102a081016001600160401b038111828210171562000daa5762000daa62000d6e565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000ddb5762000ddb62000d6e565b604052919050565b600082601f83011262000df557600080fd5b81516001600160401b0381111562000e115762000e1162000d6e565b602062000e27601f8301601f1916820162000db0565b828152858284870101111562000e3c57600080fd5b60005b8381101562000e5c57858101830151828201840152820162000e3f565b506000928101909101919091529392505050565b805160ff8116811462000e8257600080fd5b919050565b80516001600160a01b038116811462000e8257600080fd5b805162ffffff8116811462000e8257600080fd5b60006020828403121562000ec657600080fd5b81516001600160401b038082111562000ede57600080fd5b908301906102a0828603121562000ef457600080fd5b62000efe62000d84565b82518281111562000f0e57600080fd5b62000f1c8782860162000de3565b82525060208301518281111562000f3257600080fd5b62000f408782860162000de3565b60208301525062000f546040840162000e70565b6040820152606083015160608201526080830151608082015260a083015160a082015262000f8560c0840162000e87565b60c082015262000f9860e0840162000e87565b60e0820152610100915062000faf82840162000e87565b82820152610120915062000fc582840162000e87565b82820152610140915062000fdb82840162000e9f565b82820152610160915062000ff182840162000e9f565b8282015261018091506200100782840162000e9f565b828201526101a091506200101d82840162000e9f565b828201526101c091506200103382840162000e9f565b828201526101e091506200104982840162000e9f565b8282015261020091506200105f82840162000e9f565b8282015261022091506200107582840162000e9f565b8282015261024091506200108b82840162000e9f565b828201526102609150620010a182840162000e9f565b828201526102809150620010b782840162000e87565b91810191909152949350505050565b600181811c90821680620010db57607f821691505b602082108103620010fc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000d6957600081815260208120601f850160051c810160208610156200112b5750805b601f850160051c820191505b818110156200114c5782815560010162001137565b505050505050565b81516001600160401b0381111562001170576200117062000d6e565b6200118881620011818454620010c6565b8462001102565b602080601f831160018114620011c05760008415620011a75750858301515b600019600386901b1c1916600185901b1785556200114c565b600085815260208120601f198616915b82811015620011f157888601518255948401946001909101908401620011d0565b5085821015620012105787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b62ffffff81811683821601908082111562001255576200125562001220565b5092915050565b6000602082840312156200126f57600080fd5b6200127a8262000e87565b9392505050565b6000826200129f57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620012ba57620012ba62001220565b92915050565b612f5280620012d06000396000f3fe6080604052600436106102cc5760003560e01c80638da5cb5b11610175578063cf188ad0116100dc578063e9481eee11610095578063f63743421161006f578063f6374342146108ee578063f8b45b0514610911578063fb52a0ac14610927578063fc59d23d1461094757600080fd5b8063e9481eee1461087b578063f11a24d3146108ab578063f2fde38b146108ce57600080fd5b8063cf188ad0146107c3578063d353e141146107e3578063dd62ed3e14610803578063df8408fe14610823578063e086e5ec14610843578063e71dc3f51461085857600080fd5b8063a9059cbb1161012e578063a9059cbb146106fa578063aa4980231461071a578063adb873bd1461073a578063b62496f51461075d578063b95d11be1461078d578063c8c8ebe4146107ad57600080fd5b80638da5cb5b14610641578063921369131461065f57806395d89b41146106825780639a7a23d614610697578063a1dc92bc146106b7578063a457c2d7146106da57600080fd5b8063343fbbda11610234578063715018a6116101ed5780637b208769116101c75780637b208769146105be5780637bce5a04146105de57806385af30c514610601578063894760691461062157600080fd5b8063715018a61461056957806373b9e82c1461057e57806375f0a8741461059e57600080fd5b8063343fbbda1461049257806339509351146104a75780633af8e4ab146104c75780635342acb4146104f9578063707636801461052957806370a082311461054957600080fd5b8063147c9f6d11610286578063147c9f6d146103c757806318160ddd146103e75780631c499ab01461040657806323b872dd146104265780632ae2f12114610446578063313ce5671461046657600080fd5b8062e349ee146102d857806304f5cfe71461031457806306fdde0314610336578063095ea7b3146103585780630d7f144114610388578063132c90f5146103a457600080fd5b366102d357005b600080fd5b3480156102e457600080fd5b506007546102fb90600160901b900462ffffff1681565b60405162ffffff90911681526020015b60405180910390f35b34801561032057600080fd5b5061033461032f3660046129e8565b61095d565b005b34801561034257600080fd5b5061034b610ab0565b60405161030b9190612a71565b34801561036457600080fd5b50610378610373366004612ab9565b610b42565b604051901515815260200161030b565b34801561039457600080fd5b506007546102fb9062ffffff1681565b3480156103b057600080fd5b506007546102fb906301000000900462ffffff1681565b3480156103d357600080fd5b506103346103e2366004612ae5565b610b5c565b3480156103f357600080fd5b506002545b60405190815260200161030b565b34801561041257600080fd5b50610334610421366004612b30565b610ce3565b34801561043257600080fd5b50610378610441366004612b49565b610d9c565b34801561045257600080fd5b50610334610461366004612b98565b610dc0565b34801561047257600080fd5b50600654600160a01b900460ff1660405160ff909116815260200161030b565b34801561049e57600080fd5b50610334610e82565b3480156104b357600080fd5b506103786104c2366004612ab9565b610eb8565b3480156104d357600080fd5b506006546001600160a01b03165b6040516001600160a01b03909116815260200161030b565b34801561050557600080fd5b50610378610514366004612bd1565b60116020526000908152604090205460ff1681565b34801561053557600080fd5b50600a546104e1906001600160a01b031681565b34801561055557600080fd5b506103f8610564366004612bd1565b610eda565b34801561057557600080fd5b50610334610ef5565b34801561058a57600080fd5b50610334610599366004612b30565b610f29565b3480156105aa57600080fd5b506008546104e1906001600160a01b031681565b3480156105ca57600080fd5b506009546104e1906001600160a01b031681565b3480156105ea57600080fd5b506007546102fb90600160481b900462ffffff1681565b34801561060d57600080fd5b50600f546104e1906001600160a01b031681565b34801561062d57600080fd5b5061033461063c366004612bd1565b610fbc565b34801561064d57600080fd5b506005546001600160a01b03166104e1565b34801561066b57600080fd5b506006546102fb90600160c81b900462ffffff1681565b34801561068e57600080fd5b5061034b61109b565b3480156106a357600080fd5b506103346106b2366004612b98565b6110aa565b3480156106c357600080fd5b506007546102fb90600160781b900462ffffff1681565b3480156106e657600080fd5b506103786106f5366004612ab9565b611156565b34801561070657600080fd5b50610378610715366004612ab9565b6111d1565b34801561072657600080fd5b50610334610735366004612b30565b6111df565b34801561074657600080fd5b506006546102fb90600160e01b900462ffffff1681565b34801561076957600080fd5b50610378610778366004612bd1565b60126020526000908152604090205460ff1681565b34801561079957600080fd5b506103346107a8366004612bd1565b6112a3565b3480156107b957600080fd5b506103f8600d5481565b3480156107cf57600080fd5b50600e546104e1906001600160a01b031681565b3480156107ef57600080fd5b506103346107fe3660046129e8565b6114cd565b34801561080f57600080fd5b506103f861081e366004612bf5565b61162c565b34801561082f57600080fd5b5061033461083e366004612b98565b611657565b34801561084f57600080fd5b50610334611711565b34801561086457600080fd5b506007546102fb90600160601b900462ffffff1681565b34801561088757600080fd5b50610378610896366004612bd1565b60106020526000908152604090205460ff1681565b3480156108b757600080fd5b506007546102fb90600160301b900462ffffff1681565b3480156108da57600080fd5b506103346108e9366004612bd1565b6117c4565b3480156108fa57600080fd5b506006546102fb90600160b01b900462ffffff1681565b34801561091d57600080fd5b506103f8600c5481565b34801561093357600080fd5b50610334610942366004612bd1565b61181d565b34801561095357600080fd5b506103f8600b5481565b610965611876565b620493e0818385610976888a612c39565b6109809190612c39565b61098a9190612c39565b6109949190612c39565b62ffffff1611156109de5760405162461bcd60e51b815260206004820152600f60248201526e73656c6c20666565203c3d2033302560881b60448201526064015b60405180910390fd5b6040805162ffffff878116825286811660208301528581168284015284811660608301528316608082015290517fe1e596117ecfcee38825578f1cf3e48b0762ebeb790436fe51f63f66ca99aa959181900360a00190a16006805465ffffffffffff60b01b1916600160b01b62ffffff9788160262ffffff60c81b191617600160c81b958716959095029490941762ffffff60e01b1916600160e01b93861693909302929092179092556007805492841665ffffffffffff199093169290921763010000009190931602919091179055565b606060038054610abf90612c5c565b80601f0160208091040260200160405190810160405280929190818152602001828054610aeb90612c5c565b8015610b385780601f10610b0d57610100808354040283529160200191610b38565b820191906000526020600020905b815481529060010190602001808311610b1b57829003601f168201915b5050505050905090565b600033610b508185856118b5565b60019150505b92915050565b610b64611876565b6001600160a01b03831615801590610b8457506001600160a01b03821615155b8015610b9857506001600160a01b03811615155b610bd15760405162461bcd60e51b815260206004820152600a602482015269063616e277420626520360b41b60448201526064016109d5565b806001600160a01b0316826001600160a01b0316846001600160a01b03167f0dd991763a30ddf3737c88003a9269d319526665aee9e93144638ba62776e01d60405160405180910390a4600880546001600160a01b03199081166001600160a01b03958616908117909255600980548216948616949094178455600a80549091169285169290921782556000908152601160208181526040808420805460ff1990811660019081179092556010808552838720805483168417905588548a16875285855283872080548316841790559754891686528784528286208054821683179055865489168652938352818520805485168217905594549096168352939093529290922080549091169091179055565b610ceb611876565b612710610cf760025490565b610d019190612c96565b811015610d5a5760405162461bcd60e51b815260206004820152602160248201527f6d617857616c6c6574203e3d20746f74616c20737570706c79202f20313030306044820152600360fc1b60648201526084016109d5565b600c546040805183815260208101929092527fff64d41f60feb77d52f64ae64a9fc3929d57a89d0cc55728762468bae5e0fe52910160405180910390a1600c55565b600033610daa8582856119d9565b610db5858585611a53565b506001949350505050565b610dc8611876565b6001600160a01b03821660009081526010602052604090205481151560ff909116151503610e225760405162461bcd60e51b8152602060048201526007602482015266616c726561647960c81b60448201526064016109d5565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f82170bbd72c16b30c410014b7382121a699ed119a182e48a0b6cadcc89104ac991015b60405180910390a25050565b6006546001600160a01b03163314610eac5760405162461bcd60e51b81526004016109d590612cb8565b610eb66000611f69565b565b600033610b50818585610ecb838361162c565b610ed59190612ced565b6118b5565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610f1f5760405162461bcd60e51b81526004016109d590612cb8565b610eb66000611fbb565b610f31611876565b60008111610f7a5760405162461bcd60e51b815260206004820152601660248201527506d696e416d6f756e74546f54616b65466565203e20360541b60448201526064016109d5565b600b546040805183815260208101929092527f772a06bc936eb749842080c472181e970cd4f23bd1ab7d0b84a80aec26910434910160405180910390a1600b55565b610fc4611876565b6001600160a01b038116300361100a5760405162461bcd60e51b815260206004820152600b60248201526a139bdd08185b1b1bddd95960aa1b60448201526064016109d5565b61109861101f6005546001600160a01b031690565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612d00565b6001600160a01b038416919061200d565b50565b606060048054610abf90612c5c565b6110b2611876565b6001600160a01b03821660009081526012602052604090205481151560ff9091161515036111485760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c7565000000000000000060648201526084016109d5565b6111528282612064565b5050565b60003381611164828661162c565b9050838110156111c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109d5565b610db582868684036118b5565b600033610b50818585611a53565b6111e7611876565b6127106111f360025490565b6111fd9190612c96565b8110156112615760405162461bcd60e51b815260206004820152602c60248201527f6d61785472616e73616374696f6e416d6f756e74203e3d20746f74616c20737560448201526b070706c79202f2031303030360a41b60648201526084016109d5565b600d546040805183815260208101929092527f35eec0711af6fbe3039535323be51b57996b6945b0d55862607c7a02e52e4507910160405180910390a1600d55565b6112ab611876565b600e546001600160a01b038281169116146112e9576112cd30826000196118b5565b600e80546001600160a01b0319166001600160a01b0383161790555b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561133c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113609190612d19565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e69190612d19565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611433573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114579190612d19565b600f80546001600160a01b0319166001600160a01b03928316908117909155600e546040805191909316815260208101919091527f751e970af297d4e5267dabcea7b369ad737038498379b46448d190d9e261f3c5910160405180910390a1600f54611098906001600160a01b03166001612064565b6114d5611876565b620493e08183856114e6888a612c39565b6114f09190612c39565b6114fa9190612c39565b6115049190612c39565b62ffffff1611156115485760405162461bcd60e51b815260206004820152600e60248201526d62757920666565203c3d2033302560901b60448201526064016109d5565b6040805162ffffff878116825286811660208301528581168284015284811660608301528316608082015290517ff056b32275bae2f3384dffa819b30c0e007fcc27a12a96806c44b63e7a33b0639181900360a00190a1600780546bffffffffffff0000000000001916600160301b62ffffff978816026bffffff000000000000000000191617600160481b958716959095029490941765ffffffffffff60601b1916600160601b9386169390930262ffffff60781b191692909217600160781b918516919091021762ffffff60901b1916600160901b9190931602919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61165f611876565b6001600160a01b03821660009081526011602052604090205481151560ff9091161515036116b95760405162461bcd60e51b8152602060048201526007602482015266616c726561647960c81b60448201526064016109d5565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f2d43abd87b27cee7b0aa8c6f7e0b4a3247b683262a83cbc2318b0df398a49aa99101610e76565b611719611876565b600061172d6005546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114611777576040519150601f19603f3d011682016040523d82523d6000602084013e61177c565b606091505b50509050806110985760405162461bcd60e51b815260206004820152601460248201527311985a5b1959081a5b881dda5d1a191c985dd85b60621b60448201526064016109d5565b6005546001600160a01b031633146117ee5760405162461bcd60e51b81526004016109d590612cb8565b6001600160a01b0381166118145760405162461bcd60e51b81526004016109d590612d36565b61109881611fbb565b6006546001600160a01b031633146118475760405162461bcd60e51b81526004016109d590612cb8565b6001600160a01b03811661186d5760405162461bcd60e51b81526004016109d590612d36565b61109881611f69565b6005546001600160a01b031633148061189957506006546001600160a01b031633145b610eb65760405162461bcd60e51b81526004016109d590612cb8565b6001600160a01b0383166119175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109d5565b6001600160a01b0382166119785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109d5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006119e5848461162c565b90506000198114611a4d5781811015611a405760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016109d5565b611a4d84848484036118b5565b50505050565b6001600160a01b038316611a795760405162461bcd60e51b81526004016109d590612d7c565b6001600160a01b038216611a9f5760405162461bcd60e51b81526004016109d590612dc1565b6000611aaa30610eda565b90506000601654601554601454601354611ac49190612ced565b611ace9190612ced565b611ad89190612ced565b90506000600b548210158015611aee5750828211155b600654909150600160a81b900460ff16158015611b205750600f54600090611b1e906001600160a01b0316610eda565b115b8015611b295750805b8015611b4d57506001600160a01b03851660009081526012602052604090205460ff165b15611b5a57611b5a6120cd565b6000806000806000600660159054906101000a900460ff16158015611b9857506001600160a01b038b1660009081526011602052604090205460ff16155b8015611bbd57506001600160a01b038a1660009081526011602052604090205460ff16155b15611e54576001600160a01b038b1660009081526012602052604090205460ff1615611cbe57600754620f424090611c0190600160301b900462ffffff168b612e04565b611c0b9190612c96565b600754909550620f424090611c2c90600160481b900462ffffff168b612e04565b611c369190612c96565b600754909450620f424090611c5790600160601b900462ffffff168b612e04565b611c619190612c96565b600754909350620f424090611c8290600160781b900462ffffff168b612e04565b611c8c9190612c96565b600754909250620f424090611cad90600160901b900462ffffff168b612e04565b611cb79190612c96565b9050611daf565b6001600160a01b038a1660009081526012602052604090205460ff1615611daf57600654620f424090611cfd90600160b01b900462ffffff168b612e04565b611d079190612c96565b600654909550620f424090611d2890600160c81b900462ffffff168b612e04565b611d329190612c96565b600654909450620f424090611d5390600160e01b900462ffffff168b612e04565b611d5d9190612c96565b600754909350620f424090611d779062ffffff168b612e04565b611d819190612c96565b600754909250620f424090611da2906301000000900462ffffff168b612e04565b611dac9190612c96565b90505b6000818385611dbe888a612ced565b611dc89190612ced565b611dd29190612ced565b611ddc9190612ced565b90508015611def57611def8c3083612466565b611df9818b612e1b565b995085601354611e099190612ced565b601355601454611e1a908690612ced565b601455601554611e2b908490612ced565b601555601654611e3c908390612ced565b6016558315611e5257611e528c61dead86612466565b505b611e5f8b8b8b612466565b600654600160a81b900460ff16611f5c576001600160a01b038b1660009081526010602052604090205460ff16611ee257600d54891115611ee25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2065786365656473207472616e73666572206c696d697400000060448201526064016109d5565b6001600160a01b038a1660009081526010602052604090205460ff16611f5c57600c54611f0e8b610eda565b1115611f5c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a2065786365656473206d61782077616c6c6574206c696d69740060448201526064016109d5565b5050505050505050505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261205f908490612590565b505050565b6001600160a01b0382166000818152601260209081526040808320805486151560ff199182168117909255601084529382902080549094168117909355519182527fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab9101610e76565b6006805460ff60a81b1916600160a81b1790556013546000906120f290600290612c96565b9050600047905060006016546015546014548561210f9190612ced565b6121199190612ced565b6121239190612ced565b905080156121345761213481612665565b60006121408347612e1b565b905060008261214f8684612e04565b6121599190612c96565b90506000836014548461216c9190612e04565b6121769190612c96565b90508015612210576008546040516000916001600160a01b03169083908381818185875af1925050503d80600081146121cb576040519150601f19603f3d011682016040523d82523d6000602084013e6121d0565b606091505b50509050801561220e576040518281527f4b6c681641ef142cf7c14791ad828c892635e88e8b4b546faa446787e00263659060200160405180910390a15b505b836015548461221f9190612e04565b6122299190612c96565b905080156122c3576009546040516000916001600160a01b03169083908381818185875af1925050503d806000811461227e576040519150601f19603f3d011682016040523d82523d6000602084013e612283565b606091505b5050905080156122c1576040518281527feade5e865edc515b11015784b72829e6cf6a391187de41f1bc74d58cd8d879379060200160405180910390a15b505b83601654846122d29190612e04565b6122dc9190612c96565b9050801561237657600a546040516000916001600160a01b03169083908381818185875af1925050503d8060008114612331576040519150601f19603f3d011682016040523d82523d6000602084013e612336565b606091505b505090508015612374576040518281527f42b041fbd030d41021de49fe3680654a6e8785502b314403c0b94d40216196009060200160405180910390a15b505b6000861180156123865750600082115b156123d15761239586836127a6565b7f42c9c0bd1fc983236459b9be3c73e1bb9bcec04b2a2dafe47ffe5629d4bbc2076013546040516123c891815260200190565b60405180910390a15b600060148190556013819055601581905560168190556123f030610eda565b111561245157600061240a6005546001600160a01b031690565b6001600160a01b0316146124415761243c3061242e6005546001600160a01b031690565b61243730610eda565b611a53565b612451565b6124513061dead61243730610eda565b50506006805460ff60a81b1916905550505050565b6001600160a01b03831661248c5760405162461bcd60e51b81526004016109d590612d7c565b6001600160a01b0382166124b25760405162461bcd60e51b81526004016109d590612dc1565b6001600160a01b0383166000908152602081905260409020548181101561252a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109d5565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611a4d565b60006125e5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128409092919063ffffffff16565b90508051600014806126065750808060200190518101906126069190612e2e565b61205f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109d5565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061269a5761269a612e4b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156126f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127179190612d19565b8160018151811061272a5761272a612e4b565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac94790612770908590600090869030904290600401612e61565b600060405180830381600087803b15801561278a57600080fd5b505af115801561279e573d6000803e3d6000fd5b505050505050565b600e5460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015612814573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128399190612ed2565b5050505050565b606061284f8484600085612857565b949350505050565b6060824710156128b85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109d5565b600080866001600160a01b031685876040516128d49190612f00565b60006040518083038185875af1925050503d8060008114612911576040519150601f19603f3d011682016040523d82523d6000602084013e612916565b606091505b509150915061292787838387612932565b979650505050505050565b606083156129a157825160000361299a576001600160a01b0385163b61299a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109d5565b508161284f565b61284f83838151156129b65781518083602001fd5b8060405162461bcd60e51b81526004016109d59190612a71565b803562ffffff811681146129e357600080fd5b919050565b600080600080600060a08688031215612a0057600080fd5b612a09866129d0565b9450612a17602087016129d0565b9350612a25604087016129d0565b9250612a33606087016129d0565b9150612a41608087016129d0565b90509295509295909350565b60005b83811015612a68578181015183820152602001612a50565b50506000910152565b6020815260008251806020840152612a90816040850160208701612a4d565b601f01601f19169190910160400192915050565b6001600160a01b038116811461109857600080fd5b60008060408385031215612acc57600080fd5b8235612ad781612aa4565b946020939093013593505050565b600080600060608486031215612afa57600080fd5b8335612b0581612aa4565b92506020840135612b1581612aa4565b91506040840135612b2581612aa4565b809150509250925092565b600060208284031215612b4257600080fd5b5035919050565b600080600060608486031215612b5e57600080fd5b8335612b6981612aa4565b92506020840135612b7981612aa4565b929592945050506040919091013590565b801515811461109857600080fd5b60008060408385031215612bab57600080fd5b8235612bb681612aa4565b91506020830135612bc681612b8a565b809150509250929050565b600060208284031215612be357600080fd5b8135612bee81612aa4565b9392505050565b60008060408385031215612c0857600080fd5b8235612c1381612aa4565b91506020830135612bc681612aa4565b634e487b7160e01b600052601160045260246000fd5b62ffffff818116838216019080821115612c5557612c55612c23565b5092915050565b600181811c90821680612c7057607f821691505b602082108103612c9057634e487b7160e01b600052602260045260246000fd5b50919050565b600082612cb357634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820180821115610b5657610b56612c23565b600060208284031215612d1257600080fd5b5051919050565b600060208284031215612d2b57600080fd5b8151612bee81612aa4565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8082028115828204841417610b5657610b56612c23565b81810381811115610b5657610b56612c23565b600060208284031215612e4057600080fd5b8151612bee81612b8a565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612eb15784516001600160a01b031683529383019391830191600101612e8c565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612ee757600080fd5b8351925060208401519150604084015190509250925092565b60008251612f12818460208701612a4d565b919091019291505056fea26469706673582212205b3e5062673a94200129f11da955f4b6ceb3fe401d22cab158643f24780b4e8964736f6c634300081300338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000009ed194db19b238c00000000000000000000000000000000000000000000000009ed194db19b238c00000000000000000000000000000000000000000000000009ed194db19b238c00000000000000000000000000000090d6eeac3ce25e816777702e9cde28ac01cbdc120000000000000000000000009a686d1f90620138271d4b4523605ab2e3c71a200000000000000000000000008234734c5c7cb472c0f491d576a76002c568e4190000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000007e582403a0082441c2024bda5978d5e95cc61180000000000000000000000000000000000000000000000000000000000000000776616e697469730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045641544f00000000000000000000000000000000000000000000000000000000