[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "transfer_state", "type": "bool" } ], "name": "AllowTransfers", "type": "event" }, { "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": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerNominated", "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": "allow_execute_at", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "canceled", "type": "bool" }, { "indexed": false, "internalType": "bool", "name": "executed", "type": "bool" } ], "name": "ScheduleAllowTransfers", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "allow_execute_at", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "canceled", "type": "bool" }, { "indexed": false, "internalType": "bool", "name": "executed", "type": "bool" } ], "name": "ScheduleRenounceOwnership", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "exmpt", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "allow_execute_at", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "canceled", "type": "bool" }, { "indexed": false, "internalType": "bool", "name": "executed", "type": "bool" } ], "name": "ScheduleSetWhitelist", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "new_owner_candidate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "allow_execute_at", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "canceled", "type": "bool" }, { "indexed": false, "internalType": "bool", "name": "executed", "type": "bool" } ], "name": "ScheduleTransferOwnership", "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": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "exmpt", "type": "bool" } ], "name": "WhitelistChange", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "airdrop_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "airdrop_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allowTransfers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allow_renounce_ownership_at", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allow_set_allow_transfers_at", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allow_set_whitelist_at", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allow_transfer_ownership_at", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancelRenounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cancelSetAllowTransfers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cancelSetWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cancelTransferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "community_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "community_safe_wallet", "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": [], "name": "ecosystem_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ecosystem_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "executeRenounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "executeSetAllowTransfers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "executeTransferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "executeWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "giveaways_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "giveaways_safe_wallet", "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": [], "name": "liquidity_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidity_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketing_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketing_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "partners_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "partners_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "potential_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presale_contract", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presale_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reserve_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reserve_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "scheduleRenounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "scheduleSetAllowTransfers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "bool", "name": "_exmpt", "type": "bool" } ], "name": "scheduleSetWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "scheduleTransferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "scheduled_new_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "scheduled_whitelist_user", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "scheduled_whitelist_user_exmpt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "staking_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "staking_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "team_and_developers_mint_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "team_and_developers_safe_wallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60806040525f600660146101000a81548160ff0219169083151502179055506202a3006007555f60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600a555f600b555f600c555f600d555f600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600e60146101000a81548160ff0219169083151502179055505f600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561011a575f5ffd5b506040518060400160405280601381526020017f4e6562756c612053747269646520546f6b656e000000000000000000000000008152506040518060400160405280600381526020017f4e53540000000000000000000000000000000000000000000000000000000000815250601282600490816101989190610c73565b5081600590816101a89190610c73565b508060035f6101000a81548160ff021916908360ff1602179055505050506101e26101d761066160201b60201c565b61066860201b60201c565b610207733f9437de4a7184d4d7618f9a17c02a76027f3961600161072b60201b60201c565b61022c733f321a174a1611b5cc2693fc13834eef2a3c2eee600161072b60201b60201c565b610251737e47cbffd60ec47788e208dc9c0cc6684d1df06f600161072b60201b60201c565b61027673d9d417405a5f740477e654c2db8f2d0c8186b0c3600161072b60201b60201c565b61029b73f5c0baca447965711e1ce19625c1aba201865cab600161072b60201b60201c565b6102c0732150eab0e0f1b07baf8da3f66f88b74d87d1b2d3600161072b60201b60201c565b6102e573a89e1d8c8214ab9801064a0465c1abee881789e5600161072b60201b60201c565b61030a7356272fb4f5ca1e98effe13ee3af3d96c56a87391600161072b60201b60201c565b61032f73eb0ed2f6657dfe26b8b2918f8610f21b2ec5ac26600161072b60201b60201c565b61035473369fd891341d65ad855e639e109fe932664e0ad4600161072b60201b60201c565b61037973547a4126b66f191b5418c9fd39abaed923c58aef600161072b60201b60201c565b6103b9733f9437de4a7184d4d7618f9a17c02a76027f39616012600a61039f9190610eaa565b631dcd65006103ae9190610ef4565b6107ec60201b60201c565b6103f9733f321a174a1611b5cc2693fc13834eef2a3c2eee6012600a6103df9190610eaa565b6311e1a3006103ee9190610ef4565b6107ec60201b60201c565b610439737e47cbffd60ec47788e208dc9c0cc6684d1df06f6012600a61041f9190610eaa565b630bebc20061042e9190610ef4565b6107ec60201b60201c565b61047973d9d417405a5f740477e654c2db8f2d0c8186b0c36012600a61045f9190610eaa565b6308583b0061046e9190610ef4565b6107ec60201b60201c565b6104b973f5c0baca447965711e1ce19625c1aba201865cab6012600a61049f9190610eaa565b63039387006104ae9190610ef4565b6107ec60201b60201c565b6104f9732150eab0e0f1b07baf8da3f66f88b74d87d1b2d36012600a6104df9190610eaa565b6311e1a3006104ee9190610ef4565b6107ec60201b60201c565b61053973a89e1d8c8214ab9801064a0465c1abee881789e56012600a61051f9190610eaa565b6302625a0061052e9190610ef4565b6107ec60201b60201c565b6105797356272fb4f5ca1e98effe13ee3af3d96c56a873916012600a61055f9190610eaa565b630393870061056e9190610ef4565b6107ec60201b60201c565b6105b973eb0ed2f6657dfe26b8b2918f8610f21b2ec5ac266012600a61059f9190610eaa565b6305f5e1006105ae9190610ef4565b6107ec60201b60201c565b6105f973369fd891341d65ad855e639e109fe932664e0ad46012600a6105df9190610eaa565b6305f5e1006105ee9190610ef4565b6107ec60201b60201c565b61063973547a4126b66f191b5418c9fd39abaed923c58aef6012600a61061f9190610eaa565b630bebc20061062e9190610ef4565b6107ec60201b60201c565b61065c738084c611df9a3166cecce4c8dd60cfb5d5a256ce61066860201b60201c565b611116565b5f33905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f3f50d04114467f3ca25c50f1540e2864f8a852c0380bbbbb603ebfda10b5baf2600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60149054906101000a900460ff166040516107e0929190610f8e565b60405180910390a15050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361085a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108519061100f565b60405180910390fd5b61086b5f838361093e60201b60201c565b8060025f82825461087c919061102d565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108ce919061102d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610932919061106f565b60405180910390a35050565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156109dc575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610a3157600660149054906101000a900460ff16610a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a27906110f8565b60405180910390fd5b5b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ab157607f821691505b602082108103610ac457610ac3610a6d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610b267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610aeb565b610b308683610aeb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610b74610b6f610b6a84610b48565b610b51565b610b48565b9050919050565b5f819050919050565b610b8d83610b5a565b610ba1610b9982610b7b565b848454610af7565b825550505050565b5f5f905090565b610bb8610ba9565b610bc3818484610b84565b505050565b5b81811015610be657610bdb5f82610bb0565b600181019050610bc9565b5050565b601f821115610c2b57610bfc81610aca565b610c0584610adc565b81016020851015610c14578190505b610c28610c2085610adc565b830182610bc8565b50505b505050565b5f82821c905092915050565b5f610c4b5f1984600802610c30565b1980831691505092915050565b5f610c638383610c3c565b9150826002028217905092915050565b610c7c82610a36565b67ffffffffffffffff811115610c9557610c94610a40565b5b610c9f8254610a9a565b610caa828285610bea565b5f60209050601f831160018114610cdb575f8415610cc9578287015190505b610cd38582610c58565b865550610d3a565b601f198416610ce986610aca565b5f5b82811015610d1057848901518255600182019150602085019450602081019050610ceb565b86831015610d2d5784890151610d29601f891682610c3c565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610dc457808604811115610da057610d9f610d42565b5b6001851615610daf5780820291505b8081029050610dbd85610d6f565b9450610d84565b94509492505050565b5f82610ddc5760019050610e97565b81610de9575f9050610e97565b8160018114610dff5760028114610e0957610e38565b6001915050610e97565b60ff841115610e1b57610e1a610d42565b5b8360020a915084821115610e3257610e31610d42565b5b50610e97565b5060208310610133831016604e8410600b8410161715610e6d5782820a905083811115610e6857610e67610d42565b5b610e97565b610e7a8484846001610d7b565b92509050818404811115610e9157610e90610d42565b5b81810290505b9392505050565b5f60ff82169050919050565b5f610eb482610b48565b9150610ebf83610e9e565b9250610eec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610dcd565b905092915050565b5f610efe82610b48565b9150610f0983610b48565b9250828202610f1781610b48565b91508282048414831517610f2e57610f2d610d42565b5b5092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f5e82610f35565b9050919050565b610f6e81610f54565b82525050565b5f8115159050919050565b610f8881610f74565b82525050565b5f604082019050610fa15f830185610f65565b610fae6020830184610f7f565b9392505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610ff9601f83610fb5565b915061100482610fc5565b602082019050919050565b5f6020820190508181035f83015261102681610fed565b9050919050565b5f61103782610b48565b915061104283610b48565b925082820190508082111561105a57611059610d42565b5b92915050565b61106981610b48565b82525050565b5f6020820190506110825f830184611060565b92915050565b7f4e6562756c615374726964653a204e6f74207472616e7366657261626c6520755f8201527f6e74696c206c697374696e670000000000000000000000000000000000000000602082015250565b5f6110e2602c83610fb5565b91506110ed82611088565b604082019050919050565b5f6020820190508181035f83015261110f816110d6565b9050919050565b613fb0806111235f395ff3fe608060405234801561000f575f5ffd5b50600436106103a2575f3560e01c806392fede00116101e7578063c3829ee21161010d578063db5455fc116100ab578063e13627d21161007a578063e13627d2146109fa578063ec89c20014610a04578063f2fde38b14610a22578063f6396e1614610a3e576103a2565b8063db5455fc14610970578063dd62ed3e1461098e578063df39c765146109be578063df97367a146109dc576103a2565b8063c8ab7f46116100e7578063c8ab7f461461090e578063c91dcef41461092c578063d21e46fc1461094a578063d8530dba14610954576103a2565b8063c3829ee2146108b6578063c4bc0602146108d2578063c68b85e5146108f0576103a2565b8063a021209211610185578063af899a1e11610154578063af899a1e14610852578063b20ea95914610870578063b451b8121461088e578063bbc0465114610898576103a2565b8063a0212092146107b6578063a457c2d7146107d4578063a7b1101c14610804578063a9059cbb14610822576103a2565b806395d89b41116101c157806395d89b411461072c5780639b19251a1461074a5780639cc56c3d1461077a5780639ec1e34114610798576103a2565b806392fede00146106e65780639394c6e2146106f0578063942b96f31461070e576103a2565b806350fe2734116102cc57806370a082311161026a57806379ba50971161023957806379ba509714610682578063860d657b1461068c57806388d28380146106aa5780638da5cb5b146106c8576103a2565b806370a0823114610620578063715018a614610650578063732ef0bc1461065a5780637541792d14610678576103a2565b80635a142992116102a65780635a142992146105bc578063687844e4146105da5780636fe8bd83146105f85780637074af5c14610616576103a2565b806350fe2734146105765780635197da2a14610580578063582c16b61461059e576103a2565b80632185810b11610344578063313ce56711610313578063313ce5671461050057806331aff39f1461051e578063395093511461053c578063446db2ab1461056c576103a2565b80632185810b1461047657806323b872dd14610494578063250982c1146104c45780632c3245e2146104e2576103a2565b806318160ddd1161038057806318160ddd146103fe578063188ec3561461041c5780631a7b59311461043a5780631f8c92a514610458576103a2565b806306fdde03146103a6578063095ea7b3146103c45780630a0578fd146103f4575b5f5ffd5b6103ae610a48565b6040516103bb9190612b40565b60405180910390f35b6103de60048036038101906103d99190612bf1565b610ad8565b6040516103eb9190612c49565b60405180910390f35b6103fc610af5565b005b610406610c16565b6040516104139190612c71565b60405180910390f35b610424610c1f565b6040516104319190612c71565b60405180910390f35b610442610c26565b60405161044f9190612c99565b60405180910390f35b610460610c3e565b60405161046d9190612c99565b60405180910390f35b61047e610c56565b60405161048b9190612c49565b60405180910390f35b6104ae60048036038101906104a99190612cb2565b610c69565b6040516104bb9190612c49565b60405180910390f35b6104cc610d8c565b6040516104d99190612c99565b60405180910390f35b6104ea610da4565b6040516104f79190612c99565b60405180910390f35b610508610dbc565b6040516105159190612d1d565b60405180910390f35b610526610dd1565b6040516105339190612c99565b60405180910390f35b61055660048036038101906105519190612bf1565b610de9565b6040516105639190612c49565b60405180910390f35b610574610e90565b005b61057e610f7f565b005b610588611012565b6040516105959190612c71565b60405180910390f35b6105a6611032565b6040516105b39190612c71565b60405180910390f35b6105c4611052565b6040516105d19190612c99565b60405180910390f35b6105e261106a565b6040516105ef9190612c71565b60405180910390f35b61060061108a565b60405161060d9190612c71565b60405180910390f35b61061e6110aa565b005b61063a60048036038101906106359190612d36565b61129e565b6040516106479190612c71565b60405180910390f35b6106586112e3565b005b610662611326565b60405161066f9190612c71565b60405180910390f35b61068061132c565b005b61068a61140f565b005b61069461157f565b6040516106a19190612c71565b60405180910390f35b6106b261159f565b6040516106bf9190612c71565b60405180910390f35b6106d06115a5565b6040516106dd9190612c99565b60405180910390f35b6106ee6115cd565b005b6106f86116c3565b6040516107059190612c99565b60405180910390f35b6107166116e8565b6040516107239190612c49565b60405180910390f35b6107346116fb565b6040516107419190612b40565b60405180910390f35b610764600480360381019061075f9190612d36565b61178b565b6040516107719190612c49565b60405180910390f35b6107826117a8565b60405161078f9190612c71565b60405180910390f35b6107a06117c8565b6040516107ad9190612c99565b60405180910390f35b6107be6117e0565b6040516107cb9190612c99565b60405180910390f35b6107ee60048036038101906107e99190612bf1565b611805565b6040516107fb9190612c49565b60405180910390f35b61080c6118f4565b6040516108199190612c71565b60405180910390f35b61083c60048036038101906108379190612bf1565b611914565b6040516108499190612c49565b60405180910390f35b61085a611931565b6040516108679190612c99565b60405180910390f35b610878611949565b6040516108859190612c99565b60405180910390f35b610896611961565b005b6108a06119f4565b6040516108ad9190612c71565b60405180910390f35b6108d060048036038101906108cb9190612d36565b611a14565b005b6108da611ca3565b6040516108e79190612c71565b60405180910390f35b6108f8611ca9565b6040516109059190612c99565b60405180910390f35b610916611cc1565b6040516109239190612c71565b60405180910390f35b610934611ce1565b6040516109419190612c71565b60405180910390f35b610952611d01565b005b61096e60048036038101906109699190612d8b565b611e69565b005b610978611f98565b6040516109859190612c99565b60405180910390f35b6109a860048036038101906109a39190612dc9565b611fbd565b6040516109b59190612c71565b60405180910390f35b6109c661203f565b6040516109d39190612c71565b60405180910390f35b6109e4612045565b6040516109f19190612c99565b60405180910390f35b610a0261205d565b005b610a0c612196565b604051610a199190612c71565b60405180910390f35b610a3c6004803603810190610a379190612d36565b6121b6565b005b610a466121f9565b005b606060048054610a5790612e34565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8390612e34565b8015610ace5780601f10610aa557610100808354040283529160200191610ace565b820191905f5260205f20905b815481529060010190602001808311610ab157829003601f168201915b5050505050905090565b5f610aeb610ae4612399565b84846123a0565b6001905092915050565b610afd612563565b5f600c5411610b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3890612eae565b60405180910390fd5b7f5fe49aa80e1d8abda7347830ec5d1540f9dc01fa4d15b8bfc9943b081d4ea1be600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60149054906101000a900460ff16600c5460015f604051610bab959493929190612ecc565b60405180910390a15f600c819055505f600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600e60146101000a81548160ff021916908315150217905550565b5f600254905090565b5f42905090565b73547a4126b66f191b5418c9fd39abaed923c58aef81565b733f9437de4a7184d4d7618f9a17c02a76027f396181565b600660149054906101000a900460ff1681565b5f610c758484846125e1565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610cbc612399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290612f8d565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d8057610d7f85610d6e612399565b8584610d7a9190612fd8565b6123a0565b5b60019150509392505050565b73369fd891341d65ad855e639e109fe932664e0ad481565b733f321a174a1611b5cc2693fc13834eef2a3c2eee81565b5f60035f9054906101000a900460ff16905090565b737e47cbffd60ec47788e208dc9c0cc6684d1df06f81565b5f610e86610df5612399565b848460015f610e02612399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e81919061300b565b6123a0565b6001905092915050565b610e98612563565b600660149054906101000a900460ff1615610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf90613088565b60405180910390fd5b5f600d5414610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f23906130f0565b60405180910390fd5b60075442610f3a919061300b565b600d819055507f8cba6b7a79ee56bc7c979db4adb0ab70f884317d1bdc26d8d7fe3ccbe6d2d460600d545f5f604051610f759392919061310e565b60405180910390a1565b610f87612563565b5f600d5411610fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc29061318d565b60405180910390fd5b5f600d819055507f8cba6b7a79ee56bc7c979db4adb0ab70f884317d1bdc26d8d7fe3ccbe6d2d460600d5460015f6040516110089392919061310e565b60405180910390a1565b6012600a61102091906132da565b630393870061102f9190613324565b81565b6012600a61104091906132da565b631dcd650061104f9190613324565b81565b73d9d417405a5f740477e654c2db8f2d0c8186b0c381565b6012600a61107891906132da565b6311e1a3006110879190613324565b81565b6012600a61109891906132da565b6305f5e1006110a79190613324565b81565b6110b2612563565b5f600a54116110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed906133af565b60405180910390fd5b42600a54111561113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290613417565b60405180910390fd5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2260095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516111ec9190612c99565b60405180910390a17f4c16f402d5b616974bc917612a1ea0ce86db31f00e2d3beb53bf760229ff44f3600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a545f600160405161124d9493929190613435565b60405180910390a15f600a819055505f600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112eb612563565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d906134e8565b60405180910390fd5b600a5481565b611334612563565b5f600b5414611378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136f90613576565b60405180910390fd5b5f600a54146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b390613604565b60405180910390fd5b600754426113ca919061300b565b600b819055507f96cb2fe4a7e25634168ccb973a61e53864e98248e60d8733f69a7e001817780a600b545f5f6040516114059392919061310e565b60405180910390a1565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461149e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611495906136b8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff166114bd6115a5565b73ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90613720565b60405180910390fd5b61153d60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612854565b5f60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6012600a61158d91906132da565b6308583b0061159c9190613324565b81565b600c5481565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6115d5612563565b5f600a5411611619576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611610906133af565b60405180910390fd5b7f4c16f402d5b616974bc917612a1ea0ce86db31f00e2d3beb53bf760229ff44f3600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a5460015f6040516116729493929190613435565b60405180910390a15f600a819055505f600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60149054906101000a900460ff1681565b60606005805461170a90612e34565b80601f016020809104026020016040519081016040528092919081815260200182805461173690612e34565b80156117815780601f1061175857610100808354040283529160200191611781565b820191905f5260205f20905b81548152906001019060200180831161176457829003601f168201915b5050505050905090565b6008602052805f5260405f205f915054906101000a900460ff1681565b6012600a6117b691906132da565b6305f5e1006117c59190613324565b81565b73eb0ed2f6657dfe26b8b2918f8610f21b2ec5ac2681565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f60015f611812612399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156118cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c3906137ae565b60405180910390fd5b6118e96118d7612399565b8585846118e49190612fd8565b6123a0565b600191505092915050565b6012600a61190291906132da565b630bebc2006119119190613324565b81565b5f611927611920612399565b84846125e1565b6001905092915050565b73f5c0baca447965711e1ce19625c1aba201865cab81565b7356272fb4f5ca1e98effe13ee3af3d96c56a8739181565b611969612563565b5f600b54116119ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a490613816565b60405180910390fd5b7f96cb2fe4a7e25634168ccb973a61e53864e98248e60d8733f69a7e001817780a600b5460015f6040516119e39392919061310e565b60405180910390a15f600b81905550565b6012600a611a0291906132da565b6302625a00611a119190613324565b81565b611a1c612563565b5f600a5414611a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5790613604565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac5906138a4565b60405180910390fd5b5f600b5414611b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0990613576565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663a619486e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9691906138d6565b73ffffffffffffffffffffffffffffffffffffffff1603611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be39061394b565b60405180910390fd5b60075442611bfa919061300b565b600a8190555080600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4c16f402d5b616974bc917612a1ea0ce86db31f00e2d3beb53bf760229ff44f3600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a545f5f604051611c989493929190613435565b60405180910390a150565b600b5481565b73a89e1d8c8214ab9801064a0465c1abee881789e581565b6012600a611ccf91906132da565b6311e1a300611cde9190613324565b81565b6012600a611cef91906132da565b630bebc200611cfe9190613324565b81565b611d09612563565b5f600b5411611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4490613816565b60405180910390fd5b42600b541115611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d89906139b3565b60405180910390fd5b611d9b5f612854565b7f96cb2fe4a7e25634168ccb973a61e53864e98248e60d8733f69a7e001817780a600b545f6001604051611dd19392919061310e565b60405180910390a15f600b819055505f600a819055505f60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611e71612563565b5f600c5414611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90613a1b565b60405180910390fd5b60075442611ec3919061300b565b600c8190555081600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60146101000a81548160ff0219169083151502179055507f5fe49aa80e1d8abda7347830ec5d1540f9dc01fa4d15b8bfc9943b081d4ea1be600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60149054906101000a900460ff16600c545f5f604051611f8c959493929190612ecc565b60405180910390a15050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d5481565b732150eab0e0f1b07baf8da3f66f88b74d87d1b2d381565b612065612563565b5f600d54116120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a09061318d565b60405180910390fd5b42600d5411156120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e590613a83565b60405180910390fd5b6001600660146101000a81548160ff0219169083151502179055507fc9fdf48b3499e3fc7a94e25a31b32650e0f327668f240483d89bc08e463bf3df600660149054906101000a900460ff166040516121479190612c49565b60405180910390a17f8cba6b7a79ee56bc7c979db4adb0ab70f884317d1bdc26d8d7fe3ccbe6d2d460600d545f60016040516121859392919061310e565b60405180910390a15f600d81905550565b6012600a6121a491906132da565b63039387006121b39190613324565b81565b6121be612563565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f090613b11565b60405180910390fd5b612201612563565b5f600c5411612245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223c90612eae565b60405180910390fd5b42600c54111561228a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228190613b79565b60405180910390fd5b6122c4600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60149054906101000a900460ff16612917565b7f5fe49aa80e1d8abda7347830ec5d1540f9dc01fa4d15b8bfc9943b081d4ea1be600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60149054906101000a900460ff16600c545f600160405161232e959493929190612ecc565b60405180910390a15f600c819055505f600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600e60146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361240e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240590613c07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361247c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247390613c95565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125569190612c71565b60405180910390a3505050565b61256b612399565b73ffffffffffffffffffffffffffffffffffffffff166125896115a5565b73ffffffffffffffffffffffffffffffffffffffff16146125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d690613cfd565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361264f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264690613d8b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b490613e19565b60405180910390fd5b6126c88383836129d8565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561274b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274290613ea7565b60405180910390fd5b81816127579190612fd8565b5f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546127e2919061300b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128469190612c71565b60405180910390a350505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f3f50d04114467f3ca25c50f1540e2864f8a852c0380bbbbb603ebfda10b5baf2600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60149054906101000a900460ff166040516129cc929190613ec5565b60405180910390a15050565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612a76575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612acb57600660149054906101000a900460ff16612aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac190613f5c565b60405180910390fd5b5b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612b1282612ad0565b612b1c8185612ada565b9350612b2c818560208601612aea565b612b3581612af8565b840191505092915050565b5f6020820190508181035f830152612b588184612b08565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b8d82612b64565b9050919050565b612b9d81612b83565b8114612ba7575f5ffd5b50565b5f81359050612bb881612b94565b92915050565b5f819050919050565b612bd081612bbe565b8114612bda575f5ffd5b50565b5f81359050612beb81612bc7565b92915050565b5f5f60408385031215612c0757612c06612b60565b5b5f612c1485828601612baa565b9250506020612c2585828601612bdd565b9150509250929050565b5f8115159050919050565b612c4381612c2f565b82525050565b5f602082019050612c5c5f830184612c3a565b92915050565b612c6b81612bbe565b82525050565b5f602082019050612c845f830184612c62565b92915050565b612c9381612b83565b82525050565b5f602082019050612cac5f830184612c8a565b92915050565b5f5f5f60608486031215612cc957612cc8612b60565b5b5f612cd686828701612baa565b9350506020612ce786828701612baa565b9250506040612cf886828701612bdd565b9150509250925092565b5f60ff82169050919050565b612d1781612d02565b82525050565b5f602082019050612d305f830184612d0e565b92915050565b5f60208284031215612d4b57612d4a612b60565b5b5f612d5884828501612baa565b91505092915050565b612d6a81612c2f565b8114612d74575f5ffd5b50565b5f81359050612d8581612d61565b92915050565b5f5f60408385031215612da157612da0612b60565b5b5f612dae85828601612baa565b9250506020612dbf85828601612d77565b9150509250929050565b5f5f60408385031215612ddf57612dde612b60565b5b5f612dec85828601612baa565b9250506020612dfd85828601612baa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612e4b57607f821691505b602082108103612e5e57612e5d612e07565b5b50919050565b7f53657457686974656c697374206e6f7420706c616e6e656400000000000000005f82015250565b5f612e98601883612ada565b9150612ea382612e64565b602082019050919050565b5f6020820190508181035f830152612ec581612e8c565b9050919050565b5f60a082019050612edf5f830188612c8a565b612eec6020830187612c3a565b612ef96040830186612c62565b612f066060830185612c3a565b612f136080830184612c3a565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612f77602883612ada565b9150612f8282612f1d565b604082019050919050565b5f6020820190508181035f830152612fa481612f6b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612fe282612bbe565b9150612fed83612bbe565b925082820390508181111561300557613004612fab565b5b92915050565b5f61301582612bbe565b915061302083612bbe565b925082820190508082111561303857613037612fab565b5b92915050565b7f4e6562756c615374726964653a20416c726561647920656e61626c65640000005f82015250565b5f613072601d83612ada565b915061307d8261303e565b602082019050919050565b5f6020820190508181035f83015261309f81613066565b9050919050565b7f416c6c6f775472616e736665727320616c726561647920706c616e6e656400005f82015250565b5f6130da601e83612ada565b91506130e5826130a6565b602082019050919050565b5f6020820190508181035f830152613107816130ce565b9050919050565b5f6060820190506131215f830186612c62565b61312e6020830185612c3a565b61313b6040830184612c3a565b949350505050565b7f416c6c6f775472616e7366657273206e6f7420706c616e6e65640000000000005f82015250565b5f613177601a83612ada565b915061318282613143565b602082019050919050565b5f6020820190508181035f8301526131a48161316b565b9050919050565b5f8160011c9050919050565b5f5f8291508390505b6001851115613200578086048111156131dc576131db612fab565b5b60018516156131eb5780820291505b80810290506131f9856131ab565b94506131c0565b94509492505050565b5f8261321857600190506132d3565b81613225575f90506132d3565b816001811461323b576002811461324557613274565b60019150506132d3565b60ff84111561325757613256612fab565b5b8360020a91508482111561326e5761326d612fab565b5b506132d3565b5060208310610133831016604e8410600b84101617156132a95782820a9050838111156132a4576132a3612fab565b5b6132d3565b6132b684848460016131b7565b925090508184048111156132cd576132cc612fab565b5b81810290505b9392505050565b5f6132e482612bbe565b91506132ef83612d02565b925061331c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613209565b905092915050565b5f61332e82612bbe565b915061333983612bbe565b925082820261334781612bbe565b9150828204841483151761335e5761335d612fab565b5b5092915050565b7f5472616e736665724f776e657273686970206e6f7420706c616e6e65640000005f82015250565b5f613399601d83612ada565b91506133a482613365565b602082019050919050565b5f6020820190508181035f8301526133c68161338d565b9050919050565b7f5472616e736665724f776e657273686970206e6f7420756e6c6f636b656400005f82015250565b5f613401601e83612ada565b915061340c826133cd565b602082019050919050565b5f6020820190508181035f83015261342e816133f5565b9050919050565b5f6080820190506134485f830187612c8a565b6134556020830186612c62565b6134626040830185612c3a565b61346f6060830184612c3a565b95945050505050565b7f52656e6f756e63654f776e657273686970206f6e6c79207669612074696d656c5f8201527f6f636b206d656368616e69736d00000000000000000000000000000000000000602082015250565b5f6134d2602d83612ada565b91506134dd82613478565b604082019050919050565b5f6020820190508181035f8301526134ff816134c6565b9050919050565b7f52656e6f756e63654f776e65727368697020616c726561647920706c616e6e655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f613560602183612ada565b915061356b82613506565b604082019050919050565b5f6020820190508181035f83015261358d81613554565b9050919050565b7f5472616e736665724f776e65727368697020616c726561647920706c616e6e655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135ee602183612ada565b91506135f982613594565b604082019050919050565b5f6020820190508181035f83015261361b816135e2565b9050919050565b7f596f75206d757374206265206e6f6d696e6174656420617320706f74656e74695f8201527f616c206f776e6572206265666f726520796f752063616e20616363657074206f60208201527f776e657273686970000000000000000000000000000000000000000000000000604082015250565b5f6136a2604883612ada565b91506136ad82613622565b606082019050919050565b5f6020820190508181035f8301526136cf81613696565b9050919050565b7f4f776e6572736869702072656e6f756e636564000000000000000000000000005f82015250565b5f61370a601383612ada565b9150613715826136d6565b602082019050919050565b5f6020820190508181035f830152613737816136fe565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613798602583612ada565b91506137a38261373e565b604082019050919050565b5f6020820190508181035f8301526137c58161378c565b9050919050565b7f52656e6f756e63654f776e657273686970206e6f7420706c616e6e65640000005f82015250565b5f613800601d83612ada565b915061380b826137cc565b602082019050919050565b5f6020820190508181035f83015261382d816137f4565b9050919050565b7f706f74656e7469616c206f776e65722063616e206e6f7420626520746865207a5f8201527f65726f20616464726573732e0000000000000000000000000000000000000000602082015250565b5f61388e602c83612ada565b915061389982613834565b604082019050919050565b5f6020820190508181035f8301526138bb81613882565b9050919050565b5f815190506138d081612b94565b92915050565b5f602082840312156138eb576138ea612b60565b5b5f6138f8848285016138c2565b91505092915050565b7f4e6577206f776e6572206d75737420626520736166652077616c6c65740000005f82015250565b5f613935601d83612ada565b915061394082613901565b602082019050919050565b5f6020820190508181035f83015261396281613929565b9050919050565b7f52656e6f756e63654f776e657273686970206e6f7420756e6c6f636b656400005f82015250565b5f61399d601e83612ada565b91506139a882613969565b602082019050919050565b5f6020820190508181035f8301526139ca81613991565b9050919050565b7f53657457686974656c69737420616c726561647920706c616e6e6564000000005f82015250565b5f613a05601c83612ada565b9150613a10826139d1565b602082019050919050565b5f6020820190508181035f830152613a32816139f9565b9050919050565b7f416c6c6f775472616e7366657273206e6f7420756e6c6f636b656400000000005f82015250565b5f613a6d601b83612ada565b9150613a7882613a39565b602082019050919050565b5f6020820190508181035f830152613a9a81613a61565b9050919050565b7f5472616e736665724f776e657273686970206f6e6c79207669612074696d656c5f8201527f6f636b206d656368616e69736d00000000000000000000000000000000000000602082015250565b5f613afb602d83612ada565b9150613b0682613aa1565b604082019050919050565b5f6020820190508181035f830152613b2881613aef565b9050919050565b7f53657457686974656c697374206e6f7420756e6c6f636b6564000000000000005f82015250565b5f613b63601983612ada565b9150613b6e82613b2f565b602082019050919050565b5f6020820190508181035f830152613b9081613b57565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613bf1602483612ada565b9150613bfc82613b97565b604082019050919050565b5f6020820190508181035f830152613c1e81613be5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c7f602283612ada565b9150613c8a82613c25565b604082019050919050565b5f6020820190508181035f830152613cac81613c73565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613ce7602083612ada565b9150613cf282613cb3565b602082019050919050565b5f6020820190508181035f830152613d1481613cdb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613d75602583612ada565b9150613d8082613d1b565b604082019050919050565b5f6020820190508181035f830152613da281613d69565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e03602383612ada565b9150613e0e82613da9565b604082019050919050565b5f6020820190508181035f830152613e3081613df7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613e91602683612ada565b9150613e9c82613e37565b604082019050919050565b5f6020820190508181035f830152613ebe81613e85565b9050919050565b5f604082019050613ed85f830185612c8a565b613ee56020830184612c3a565b9392505050565b7f4e6562756c615374726964653a204e6f74207472616e7366657261626c6520755f8201527f6e74696c206c697374696e670000000000000000000000000000000000000000602082015250565b5f613f46602c83612ada565b9150613f5182613eec565b604082019050919050565b5f6020820190508181035f830152613f7381613f3a565b905091905056fea264697066735822122030152ae7c90ae8c96f8d774d49281d7663ce59e6e88734c3c7fc3f02001fb77d64736f6c634300081c0033