Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newCoq", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LargerCoqInTown", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "airdropContractMap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "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": "biggestCoq", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimBiggestCoq", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "coqData", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currentBigCoqIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lubricating", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "airdropContract", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "modifyAirdropContractMap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "newData", "type": "bytes32" } ], "name": "modifyCoqData", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "pastBigCoqs", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "pastBigCoqsBalances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "launchCode", "type": "uint256" } ], "name": "renounceTokenOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityPool", "type": "address" } ], "name": "setLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "setLubricating", "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": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "viewBiggestCoq", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "coqqerino", "type": "address" } ], "name": "viewCoqData", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "viewPastBigCoqBalanceByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "viewPastBigCoqByIndex", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60806040526001600560146101000a81548160ff0219169083151502179055503480156200002b575f80fd5b50336040518060400160405280600981526020017f436f7177696668617400000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f434f5157494600000000000000000000000000000000000000000000000000008152508160039081620000aa919062000a6a565b508060049081620000bc919062000a6a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000132575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000129919062000b91565b60405180910390fd5b62000143816200016760201b60201c565b5062000161336a396c41bd9e54ada38000006200022a60201b60201c565b62000e16565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200029d575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000294919062000b91565b60405180910390fd5b620002b05f8383620002b460201b60201c565b5050565b620002c78383836200056c60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200043a576200032c6200079060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620003a05750620003716200079060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80620003f25750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b62000434576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042b9062000c30565b60405180910390fd5b62000567565b600560149054906101000a900460ff168015620004925750620004626200079060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620004ec575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156200056657603262000504620007b860201b60201c565b62000510919062000caa565b6200052183620007c160201b60201c565b111562000565576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200055c9062000d55565b60405180910390fd5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620005c0578060025f828254620005b3919062000d75565b9250508190555062000691565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200064c578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620006439392919062000dc0565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620006da578060025f828254039250508190555062000724565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000783919062000dfb565b60405180910390a3505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f600254905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200088257607f821691505b6020821081036200089857620008976200083d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008bf565b620009088683620008bf565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009526200094c620009468462000920565b62000929565b62000920565b9050919050565b5f819050919050565b6200096d8362000932565b620009856200097c8262000959565b848454620008cb565b825550505050565b5f90565b6200099b6200098d565b620009a881848462000962565b505050565b5b81811015620009cf57620009c35f8262000991565b600181019050620009ae565b5050565b601f82111562000a1e57620009e8816200089e565b620009f384620008b0565b8101602085101562000a03578190505b62000a1b62000a1285620008b0565b830182620009ad565b50505b505050565b5f82821c905092915050565b5f62000a405f198460080262000a23565b1980831691505092915050565b5f62000a5a838362000a2f565b9150826002028217905092915050565b62000a758262000806565b67ffffffffffffffff81111562000a915762000a9062000810565b5b62000a9d82546200086a565b62000aaa828285620009d3565b5f60209050601f83116001811462000ae0575f841562000acb578287015190505b62000ad7858262000a4d565b86555062000b46565b601f19841662000af0866200089e565b5f5b8281101562000b195784890151825560018201915060208501945060208101905062000af2565b8683101562000b39578489015162000b35601f89168262000a2f565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000b798262000b4e565b9050919050565b62000b8b8162000b6d565b82525050565b5f60208201905062000ba65f83018462000b80565b92915050565b5f82825260208201905092915050565b7f50617469656e636520596f756e6720436f71202d2054726164696e67206861735f8201527f2079657420746f20626567696e2e000000000000000000000000000000000000602082015250565b5f62000c18602e8362000bac565b915062000c258262000bbc565b604082019050919050565b5f6020820190508181035f83015262000c498162000c0a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000cb68262000920565b915062000cc38362000920565b92508262000cd65762000cd562000c50565b5b828204905092915050565b7f4c75627269636174696f6e206163746976652c206c696d6974206f66203225205f8201527f6f6620434f51574946207065722077616c6c65742e0000000000000000000000602082015250565b5f62000d3d60358362000bac565b915062000d4a8262000ce1565b604082019050919050565b5f6020820190508181035f83015262000d6e8162000d2f565b9050919050565b5f62000d818262000920565b915062000d8e8362000920565b925082820190508082111562000da95762000da862000c7d565b5b92915050565b62000dba8162000920565b82525050565b5f60608201905062000dd55f83018662000b80565b62000de4602083018562000daf565b62000df3604083018462000daf565b949350505050565b5f60208201905062000e105f83018462000daf565b92915050565b6120b98062000e245f395ff3fe608060405234801561000f575f80fd5b50600436106101d8575f3560e01c806370a0823111610102578063a9059cbb116100a0578063d7ac71411161006f578063d7ac714114610558578063dd62ed3e14610588578063ee6a9b30146105b8578063f2fde38b146105e8576101d8565b8063a9059cbb146104e4578063ac190e5414610514578063c43920de14610532578063d33c7dd81461053c576101d8565b80638da5cb5b116100dc5780638da5cb5b1461045a57806392b118611461047857806395afda0c146104a857806395d89b41146104c6576101d8565b806370a08231146103f0578063715018a6146104205780637c2f003f1461042a576101d8565b806323b872dd1161017a5780634bc3e7db116101495780634bc3e7db146103685780635403546f1461038457806361c00b6e146103a2578063665a11ca146103d2576101d8565b806323b872dd146102e25780632ffd6d4814610312578063313ce5671461032e57806337e659be1461034c576101d8565b80631185fc4e116101b65780631185fc4e1461024657806318160ddd146102645780631e635f9e146102825780631f609223146102b2576101d8565b806301877020146101dc57806306fdde03146101f8578063095ea7b314610216575b5f80fd5b6101f660048036038101906101f19190611857565b610604565b005b61020061064f565b60405161020d919061190c565b60405180910390f35b610230600480360381019061022b919061195f565b6106df565b60405161023d91906119b7565b60405180910390f35b61024e610701565b60405161025b91906119df565b60405180910390f35b61026c610726565b6040516102799190611a07565b60405180910390f35b61029c60048036038101906102979190611857565b61072f565b6040516102a99190611a38565b60405180910390f35b6102cc60048036038101906102c79190611a51565b610744565b6040516102d99190611a07565b60405180910390f35b6102fc60048036038101906102f79190611a7c565b61075e565b60405161030991906119b7565b60405180910390f35b61032c60048036038101906103279190611af6565b61078c565b005b6103366107d1565b6040516103439190611b3c565b60405180910390f35b61036660048036038101906103619190611a51565b6107d9565b005b610382600480360381019061037d9190611b7f565b610832565b005b61038c610857565b60405161039991906119df565b60405180910390f35b6103bc60048036038101906103b79190611857565b61087f565b6040516103c991906119b7565b60405180910390f35b6103da61089c565b6040516103e791906119df565b60405180910390f35b61040a60048036038101906104059190611857565b6108c1565b6040516104179190611a07565b60405180910390f35b610428610906565b005b610444600480360381019061043f9190611a51565b610919565b6040516104519190611a07565b60405180910390f35b61046261092e565b60405161046f91906119df565b60405180910390f35b610492600480360381019061048d9190611857565b610956565b60405161049f9190611a38565b60405180910390f35b6104b061099c565b6040516104bd91906119b7565b60405180910390f35b6104ce6109af565b6040516104db919061190c565b60405180910390f35b6104fe60048036038101906104f9919061195f565b610a3f565b60405161050b91906119b7565b60405180910390f35b61051c610a61565b6040516105299190611a07565b60405180910390f35b61053a610a67565b005b61055660048036038101906105519190611baa565b610ce4565b005b610572600480360381019061056d9190611a51565b610d44565b60405161057f91906119df565b60405180910390f35b6105a2600480360381019061059d9190611be8565b610d7d565b6040516105af9190611a07565b60405180910390f35b6105d260048036038101906105cd9190611a51565b610dff565b6040516105df91906119df565b60405180910390f35b61060260048036038101906105fd9190611857565b610e2f565b005b61060c610eb3565b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606003805461065e90611c53565b80601f016020809104026020016040519081016040528092919081815260200182805461068a90611c53565b80156106d55780601f106106ac576101008083540402835291602001916106d5565b820191905f5260205f20905b8154815290600101906020018083116106b857829003601f168201915b5050505050905090565b5f806106e9610f3a565b90506106f6818585610f41565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b600b602052805f5260405f205f915090505481565b5f600a5f8381526020019081526020015f20549050919050565b5f80610768610f3a565b9050610775858285610f53565b610780858585610fe5565b60019150509392505050565b80600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050565b5f6012905090565b6107e1610eb3565b63075bcd158114610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081e90611cf3565b60405180910390fd5b61082f610906565b50565b61083a610eb3565b80600560146101000a81548160ff02191690831515021790555050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c602052805f5260405f205f915054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61090e610eb3565b6109175f6110d5565b565b600a602052805f5260405f205f915090505481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600560149054906101000a900460ff1681565b6060600480546109be90611c53565b80601f01602080910402602001604051908101604052809291908181526020018280546109ea90611c53565b8015610a355780601f10610a0c57610100808354040283529160200191610a35565b820191905f5260205f20905b815481529060010190602001808311610a1857829003601f168201915b5050505050905090565b5f80610a49610f3a565b9050610a56818585610fe5565b600191505092915050565b60085481565b610a9160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108c1565b610a9a336108c1565b11610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad190611d5b565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090611de9565b60405180910390fd5b690179d3f9c2e6f85b26c960085410610b80575f80fd5b3360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360095f60085481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c1a336108c1565b600a5f60085481526020019081526020015f208190555060085f815480929190610c4390611e34565b919050555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5e34c416a34185ea86705c9095fb989804ddd21026626e6cceea901e268442d7610ccb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108c1565b42604051610cda929190611e7b565b60405180910390a2565b610cec610eb3565b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60095f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6009602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e37610eb3565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ea7575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610e9e91906119df565b60405180910390fd5b610eb0816110d5565b50565b610ebb610f3a565b73ffffffffffffffffffffffffffffffffffffffff16610ed961092e565b73ffffffffffffffffffffffffffffffffffffffff1614610f3857610efc610f3a565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610f2f91906119df565b60405180910390fd5b565b5f33905090565b610f4e8383836001611198565b505050565b5f610f5e8484610d7d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610fdf5781811015610fd0578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610fc793929190611ea2565b60405180910390fd5b610fde84848484035f611198565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611055575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161104c91906119df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c5575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016110bc91906119df565b60405180910390fd5b6110d0838383611367565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611208575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016111ff91906119df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611278575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161126f91906119df565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611361578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516113589190611a07565b60405180910390a35b50505050565b6113728383836115e0565b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036114ce576113ce61092e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611439575061140a61092e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061148a5750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090611f47565b60405180910390fd5b6115db565b600560149054906101000a900460ff16801561151d57506114ed61092e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611576575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115da576032611585610726565b61158f9190611f92565b611598836108c1565b11156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612032565b60405180910390fd5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611630578060025f8282546116249190612050565b925050819055506116fe565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156116b9578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016116b093929190611ea2565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611745578060025f828254039250508190555061178f565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117ec9190611a07565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611826826117fd565b9050919050565b6118368161181c565b8114611840575f80fd5b50565b5f813590506118518161182d565b92915050565b5f6020828403121561186c5761186b6117f9565b5b5f61187984828501611843565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118b957808201518184015260208101905061189e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6118de82611882565b6118e8818561188c565b93506118f881856020860161189c565b611901816118c4565b840191505092915050565b5f6020820190508181035f83015261192481846118d4565b905092915050565b5f819050919050565b61193e8161192c565b8114611948575f80fd5b50565b5f8135905061195981611935565b92915050565b5f8060408385031215611975576119746117f9565b5b5f61198285828601611843565b92505060206119938582860161194b565b9150509250929050565b5f8115159050919050565b6119b18161199d565b82525050565b5f6020820190506119ca5f8301846119a8565b92915050565b6119d98161181c565b82525050565b5f6020820190506119f25f8301846119d0565b92915050565b611a018161192c565b82525050565b5f602082019050611a1a5f8301846119f8565b92915050565b5f819050919050565b611a3281611a20565b82525050565b5f602082019050611a4b5f830184611a29565b92915050565b5f60208284031215611a6657611a656117f9565b5b5f611a738482850161194b565b91505092915050565b5f805f60608486031215611a9357611a926117f9565b5b5f611aa086828701611843565b9350506020611ab186828701611843565b9250506040611ac28682870161194b565b9150509250925092565b611ad581611a20565b8114611adf575f80fd5b50565b5f81359050611af081611acc565b92915050565b5f60208284031215611b0b57611b0a6117f9565b5b5f611b1884828501611ae2565b91505092915050565b5f60ff82169050919050565b611b3681611b21565b82525050565b5f602082019050611b4f5f830184611b2d565b92915050565b611b5e8161199d565b8114611b68575f80fd5b50565b5f81359050611b7981611b55565b92915050565b5f60208284031215611b9457611b936117f9565b5b5f611ba184828501611b6b565b91505092915050565b5f8060408385031215611bc057611bbf6117f9565b5b5f611bcd85828601611843565b9250506020611bde85828601611b6b565b9150509250929050565b5f8060408385031215611bfe57611bfd6117f9565b5b5f611c0b85828601611843565b9250506020611c1c85828601611843565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611c6a57607f821691505b602082108103611c7d57611c7c611c26565b5b50919050565b7f506c656173652070726f7669646520612076616c6964206c756e6172206c61755f8201527f6e636820636f64652e0000000000000000000000000000000000000000000000602082015250565b5f611cdd60298361188c565b9150611ce882611c83565b604082019050919050565b5f6020820190508181035f830152611d0a81611cd1565b9050919050565b7f596f757220436f7177696620697320746f6f20736d616c6c2e000000000000005f82015250565b5f611d4560198361188c565b9150611d5082611d11565b602082019050919050565b5f6020820190508181035f830152611d7281611d39565b9050919050565b7f596f7520616c7265616479206861766520746865206269676765737420436f715f8201527f7769662e00000000000000000000000000000000000000000000000000000000602082015250565b5f611dd360248361188c565b9150611dde82611d79565b604082019050919050565b5f6020820190508181035f830152611e0081611dc7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e3e8261192c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e7057611e6f611e07565b5b600182019050919050565b5f604082019050611e8e5f8301856119f8565b611e9b60208301846119f8565b9392505050565b5f606082019050611eb55f8301866119d0565b611ec260208301856119f8565b611ecf60408301846119f8565b949350505050565b7f50617469656e636520596f756e6720436f71202d2054726164696e67206861735f8201527f2079657420746f20626567696e2e000000000000000000000000000000000000602082015250565b5f611f31602e8361188c565b9150611f3c82611ed7565b604082019050919050565b5f6020820190508181035f830152611f5e81611f25565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f9c8261192c565b9150611fa78361192c565b925082611fb757611fb6611f65565b5b828204905092915050565b7f4c75627269636174696f6e206163746976652c206c696d6974206f66203225205f8201527f6f6620434f51574946207065722077616c6c65742e0000000000000000000000602082015250565b5f61201c60358361188c565b915061202782611fc2565b604082019050919050565b5f6020820190508181035f83015261204981612010565b9050919050565b5f61205a8261192c565b91506120658361192c565b925082820190508082111561207d5761207c611e07565b5b9291505056fea2646970667358221220a6d4ec23c09258a43731fed47f7db31e46e03dc13748faf4f983976f3637ec1d64736f6c63430008140033