[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "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": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "numbertomint", "type": "uint256" } ], "name": "Batch_mint_by_owner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "FREEMINT_PER_WALLET", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FreeSaleswitch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "Freemint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "Freemintongoing", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_TOKENS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numbertomint", "type": "uint256" } ], "name": "publicmint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_baseUri", "type": "string" } ], "name": "setBaseUri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_price", "type": "uint256" } ], "name": "setPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawAll", "outputs": [], "stateMutability": "payable", "type": "function" } ]
608060405266027ca57357c0006007556040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c908162000055919062000a06565b503480156200006357600080fd5b506040518060400160405280600a81526020017f426173654d6f6e6b6578000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d6f6e00000000000000000000000000000000000000000000000000000000008152508160009081620000e1919062000a06565b508060019081620000f3919062000a06565b505050620001166200010a6200018660201b60201c565b6200018e60201b60201c565b604051806060016040528060368152602001620048d660369139600b908162000140919062000a06565b506000600190505b6005811162000177576200016333826200025460201b60201c565b806200016f9062000b1c565b905062000148565b50600560098190555062000ed8565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002768282604051806020016040528060008152506200027a60201b60201c565b5050565b6200028c8383620002e860201b60201c565b620002a160008484846200052e60201b60201c565b620002e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002da9062000bf0565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200035a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003519062000c62565b60405180910390fd5b6200036b81620006d760201b60201c565b15620003ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a59062000cd4565b60405180910390fd5b620003c46000838360016200072060201b60201c565b620003d581620006d760201b60201c565b1562000418576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200040f9062000cd4565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46200052a6000838360016200072660201b60201c565b5050565b60006200055c8473ffffffffffffffffffffffffffffffffffffffff166200072c60201b6200141d1760201c565b15620006ca578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026200058e6200018660201b60201c565b8786866040518563ffffffff1660e01b8152600401620005b2949392919062000df0565b6020604051808303816000875af1925050508015620005f157506040513d601f19601f82011682018060405250810190620005ee919062000ea6565b60015b62000679573d806000811462000624576040519150601f19603f3d011682016040523d82523d6000602084013e62000629565b606091505b50600081510362000671576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006689062000bf0565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050620006cf565b600190505b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff1662000701836200074f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200080e57607f821691505b602082108103620008245762000823620007c6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200088e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200084f565b6200089a86836200084f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620008e7620008e1620008db84620008b2565b620008bc565b620008b2565b9050919050565b6000819050919050565b6200090383620008c6565b6200091b6200091282620008ee565b8484546200085c565b825550505050565b600090565b6200093262000923565b6200093f818484620008f8565b505050565b5b8181101562000967576200095b60008262000928565b60018101905062000945565b5050565b601f821115620009b65762000980816200082a565b6200098b846200083f565b810160208510156200099b578190505b620009b3620009aa856200083f565b83018262000944565b50505b505050565b600082821c905092915050565b6000620009db60001984600802620009bb565b1980831691505092915050565b6000620009f68383620009c8565b9150826002028217905092915050565b62000a11826200078c565b67ffffffffffffffff81111562000a2d5762000a2c62000797565b5b62000a398254620007f5565b62000a468282856200096b565b600060209050601f83116001811462000a7e576000841562000a69578287015190505b62000a758582620009e8565b86555062000ae5565b601f19841662000a8e866200082a565b60005b8281101562000ab85784890151825560018201915060208501945060208101905062000a91565b8683101562000ad8578489015162000ad4601f891682620009c8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b2982620008b2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000b5e5762000b5d62000aed565b5b600182019050919050565b600082825260208201905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600062000bd860328362000b69565b915062000be58262000b7a565b604082019050919050565b6000602082019050818103600083015262000c0b8162000bc9565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600062000c4a60208362000b69565b915062000c578262000c12565b602082019050919050565b6000602082019050818103600083015262000c7d8162000c3b565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600062000cbc601c8362000b69565b915062000cc98262000c84565b602082019050919050565b6000602082019050818103600083015262000cef8162000cad565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d238262000cf6565b9050919050565b62000d358162000d16565b82525050565b62000d4681620008b2565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000d8857808201518184015260208101905062000d6b565b8381111562000d98576000848401525b50505050565b6000601f19601f8301169050919050565b600062000dbc8262000d4c565b62000dc8818562000d57565b935062000dda81856020860162000d68565b62000de58162000d9e565b840191505092915050565b600060808201905062000e07600083018762000d2a565b62000e16602083018662000d2a565b62000e25604083018562000d3b565b818103606083015262000e39818462000daf565b905095945050505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000e808162000e49565b811462000e8c57600080fd5b50565b60008151905062000ea08162000e75565b92915050565b60006020828403121562000ebf5762000ebe62000e44565b5b600062000ecf8482850162000e8f565b91505092915050565b6139ee8062000ee86000396000f3fe6080604052600436106101cd5760003560e01c8063853828b6116100f7578063a22cb46511610095578063e985e9c511610064578063e985e9c514610601578063f2fde38b1461063e578063f47c84c514610667578063f484c6ec14610692576101cd565b8063a22cb46514610547578063b88d4fde14610570578063c668286214610599578063c87b56dd146105c4576101cd565b806395d89b41116100d157806395d89b411461049d5780639abc8320146104c8578063a035b1fe146104f3578063a0bcfc7f1461051e576101cd565b8063853828b61461043f5780638da5cb5b1461044957806391b7f5ed14610474576101cd565b806323b872dd1161016f5780636352211e1161013e5780636352211e1461039257806370a08231146103cf578063715018a61461040c578063715e6e5814610423576101cd565b806323b872dd1461031f578063264517ec1461034857806342842e0e14610352578063499f04ef1461037b576101cd565b8063095ea7b3116101ab578063095ea7b3146102775780631121a61e146102a057806316f51770146102cb57806318160ddd146102f4576101cd565b806301ffc9a7146101d257806306fdde031461020f578063081812fc1461023a575b600080fd5b3480156101de57600080fd5b506101f960048036038101906101f49190612416565b6106bd565b604051610206919061245e565b60405180910390f35b34801561021b57600080fd5b5061022461079f565b6040516102319190612512565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c919061256a565b610831565b60405161026e91906125d8565b60405180910390f35b34801561028357600080fd5b5061029e6004803603810190610299919061261f565b610877565b005b3480156102ac57600080fd5b506102b561098e565b6040516102c2919061266e565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed919061256a565b610993565b005b34801561030057600080fd5b50610309610a9a565b604051610316919061266e565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190612689565b610aa0565b005b610350610b00565b005b34801561035e57600080fd5b5061037960048036038101906103749190612689565b610cd3565b005b34801561038757600080fd5b50610390610cf3565b005b34801561039e57600080fd5b506103b960048036038101906103b4919061256a565b610d27565b6040516103c691906125d8565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906126dc565b610dad565b604051610403919061266e565b60405180910390f35b34801561041857600080fd5b50610421610e64565b005b61043d6004803603810190610438919061256a565b610e78565b005b610447610f71565b005b34801561045557600080fd5b5061045e610fc0565b60405161046b91906125d8565b60405180910390f35b34801561048057600080fd5b5061049b6004803603810190610496919061256a565b610fea565b005b3480156104a957600080fd5b506104b2610ffc565b6040516104bf9190612512565b60405180910390f35b3480156104d457600080fd5b506104dd61108e565b6040516104ea9190612512565b60405180910390f35b3480156104ff57600080fd5b5061050861111c565b604051610515919061266e565b60405180910390f35b34801561052a57600080fd5b506105456004803603810190610540919061283e565b611122565b005b34801561055357600080fd5b5061056e600480360381019061056991906128b3565b61113d565b005b34801561057c57600080fd5b5061059760048036038101906105929190612994565b611153565b005b3480156105a557600080fd5b506105ae6111b5565b6040516105bb9190612512565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e6919061256a565b611243565b6040516105f89190612512565b60405180910390f35b34801561060d57600080fd5b5061062860048036038101906106239190612a17565b6112ed565b604051610635919061245e565b60405180910390f35b34801561064a57600080fd5b50610665600480360381019061066091906126dc565b611381565b005b34801561067357600080fd5b5061067c611404565b604051610689919061266e565b60405180910390f35b34801561069e57600080fd5b506106a761140a565b6040516106b4919061245e565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061078857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610798575061079782611440565b5b9050919050565b6060600080546107ae90612a86565b80601f01602080910402602001604051908101604052809291908181526020018280546107da90612a86565b80156108275780601f106107fc57610100808354040283529160200191610827565b820191906000526020600020905b81548152906001019060200180831161080a57829003601f168201915b5050505050905090565b600061083c826114aa565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061088282610d27565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e990612b29565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109116114f5565b73ffffffffffffffffffffffffffffffffffffffff161480610940575061093f8161093a6114f5565b6112ed565b5b61097f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097690612bbb565b60405180910390fd5b61098983836114fd565b505050565b600181565b61099b6115b6565b6000600954905061138882826109b19190612c0a565b11156109f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e990612cac565b60405180910390fd5b6000600190505b828111610a2657610a15338284610a109190612c0a565b611634565b80610a1f90612ccc565b90506109f9565b5081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a769190612c0a565b925050819055508160096000828254610a8f9190612c0a565b925050819055505050565b60095481565b610ab1610aab6114f5565b82611652565b610af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae790612d86565b60405180910390fd5b610afb8383836116e7565b505050565b600860009054906101000a900460ff16610b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4690612df2565b60405180910390fd5b6001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890612e5e565b60405180910390fd5b60006009549050611388600182610be89190612c0a565b1115610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2090612eca565b60405180910390fd5b6000600190505b60018111610c5e57610c4d338284610c489190612c0a565b611634565b80610c5790612ccc565b9050610c30565b506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610caf9190612c0a565b92505081905550600160096000828254610cc99190612c0a565b9250508190555050565b610cee83838360405180602001604052806000815250611153565b505050565b610cfb6115b6565b600860009054906101000a900460ff1615600860006101000a81548160ff021916908315150217905550565b600080610d33836119e0565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612f36565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490612fc8565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e6c6115b6565b610e766000611a1d565b565b600060095490506113888282610e8e9190612c0a565b1115610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec690612eca565b60405180910390fd5b3460075483610ede9190612fe8565b1115610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f169061308e565b60405180910390fd5b6000600190505b828111610f5357610f42338284610f3d9190612c0a565b611634565b80610f4c90612ccc565b9050610f26565b508160096000828254610f669190612c0a565b925050819055505050565b610f796115b6565b610f81610fc0565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050610fbe57600080fd5b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ff26115b6565b8060078190555050565b60606001805461100b90612a86565b80601f016020809104026020016040519081016040528092919081815260200182805461103790612a86565b80156110845780601f1061105957610100808354040283529160200191611084565b820191906000526020600020905b81548152906001019060200180831161106757829003601f168201915b5050505050905090565b600b805461109b90612a86565b80601f01602080910402602001604051908101604052809291908181526020018280546110c790612a86565b80156111145780601f106110e957610100808354040283529160200191611114565b820191906000526020600020905b8154815290600101906020018083116110f757829003601f168201915b505050505081565b60075481565b61112a6115b6565b80600b9081611139919061325a565b5050565b61114f6111486114f5565b8383611ae3565b5050565b61116461115e6114f5565b83611652565b6111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90612d86565b60405180910390fd5b6111af84848484611c4f565b50505050565b600c80546111c290612a86565b80601f01602080910402602001604051908101604052809291908181526020018280546111ee90612a86565b801561123b5780601f106112105761010080835404028352916020019161123b565b820191906000526020600020905b81548152906001019060200180831161121e57829003601f168201915b505050505081565b606061124e82611cab565b61128d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112849061339e565b60405180910390fd5b6000611297611cec565b905060008151116112b757604051806020016040528060008152506112e5565b806112c184611d7e565b600c6040516020016112d59392919061347d565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6113896115b6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef90613520565b60405180910390fd5b61140181611a1d565b50565b61138881565b600860009054906101000a900460ff1681565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6114b381611cab565b6114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990612f36565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661157083610d27565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6115be6114f5565b73ffffffffffffffffffffffffffffffffffffffff166115dc610fc0565b73ffffffffffffffffffffffffffffffffffffffff1614611632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116299061358c565b60405180910390fd5b565b61164e828260405180602001604052806000815250611e4c565b5050565b60008061165e83610d27565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116a0575061169f81856112ed565b5b806116de57508373ffffffffffffffffffffffffffffffffffffffff166116c684610831565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661170782610d27565b73ffffffffffffffffffffffffffffffffffffffff161461175d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117549061361e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c3906136b0565b60405180910390fd5b6117d98383836001611ea7565b8273ffffffffffffffffffffffffffffffffffffffff166117f982610d27565b73ffffffffffffffffffffffffffffffffffffffff161461184f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118469061361e565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119db8383836001611ead565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b489061371c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c42919061245e565b60405180910390a3505050565b611c5a8484846116e7565b611c6684848484611eb3565b611ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9c906137ae565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611ccd836119e0565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600b8054611cfb90612a86565b80601f0160208091040260200160405190810160405280929190818152602001828054611d2790612a86565b8015611d745780601f10611d4957610100808354040283529160200191611d74565b820191906000526020600020905b815481529060010190602001808311611d5757829003601f168201915b5050505050905090565b606060006001611d8d8461203a565b01905060008167ffffffffffffffff811115611dac57611dab612713565b5b6040519080825280601f01601f191660200182016040528015611dde5781602001600182028036833780820191505090505b509050600082602001820190505b600115611e41578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611e3557611e346137ce565b5b04945060008503611dec575b819350505050919050565b611e56838361218d565b611e636000848484611eb3565b611ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e99906137ae565b60405180910390fd5b505050565b50505050565b50505050565b6000611ed48473ffffffffffffffffffffffffffffffffffffffff1661141d565b1561202d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611efd6114f5565b8786866040518563ffffffff1660e01b8152600401611f1f9493929190613852565b6020604051808303816000875af1925050508015611f5b57506040513d601f19601f82011682018060405250810190611f5891906138b3565b60015b611fdd573d8060008114611f8b576040519150601f19603f3d011682016040523d82523d6000602084013e611f90565b606091505b506000815103611fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcc906137ae565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612032565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612098577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161208e5761208d6137ce565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106120d5576d04ee2d6d415b85acef810000000083816120cb576120ca6137ce565b5b0492506020810190505b662386f26fc10000831061210457662386f26fc1000083816120fa576120f96137ce565b5b0492506010810190505b6305f5e100831061212d576305f5e1008381612123576121226137ce565b5b0492506008810190505b6127108310612152576127108381612148576121476137ce565b5b0492506004810190505b60648310612175576064838161216b5761216a6137ce565b5b0492506002810190505b600a8310612184576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f39061392c565b60405180910390fd5b61220581611cab565b15612245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223c90613998565b60405180910390fd5b612253600083836001611ea7565b61225c81611cab565b1561229c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229390613998565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123a6600083836001611ead565b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6123f3816123be565b81146123fe57600080fd5b50565b600081359050612410816123ea565b92915050565b60006020828403121561242c5761242b6123b4565b5b600061243a84828501612401565b91505092915050565b60008115159050919050565b61245881612443565b82525050565b6000602082019050612473600083018461244f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124b3578082015181840152602081019050612498565b838111156124c2576000848401525b50505050565b6000601f19601f8301169050919050565b60006124e482612479565b6124ee8185612484565b93506124fe818560208601612495565b612507816124c8565b840191505092915050565b6000602082019050818103600083015261252c81846124d9565b905092915050565b6000819050919050565b61254781612534565b811461255257600080fd5b50565b6000813590506125648161253e565b92915050565b6000602082840312156125805761257f6123b4565b5b600061258e84828501612555565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125c282612597565b9050919050565b6125d2816125b7565b82525050565b60006020820190506125ed60008301846125c9565b92915050565b6125fc816125b7565b811461260757600080fd5b50565b600081359050612619816125f3565b92915050565b60008060408385031215612636576126356123b4565b5b60006126448582860161260a565b925050602061265585828601612555565b9150509250929050565b61266881612534565b82525050565b6000602082019050612683600083018461265f565b92915050565b6000806000606084860312156126a2576126a16123b4565b5b60006126b08682870161260a565b93505060206126c18682870161260a565b92505060406126d286828701612555565b9150509250925092565b6000602082840312156126f2576126f16123b4565b5b60006127008482850161260a565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61274b826124c8565b810181811067ffffffffffffffff8211171561276a57612769612713565b5b80604052505050565b600061277d6123aa565b90506127898282612742565b919050565b600067ffffffffffffffff8211156127a9576127a8612713565b5b6127b2826124c8565b9050602081019050919050565b82818337600083830152505050565b60006127e16127dc8461278e565b612773565b9050828152602081018484840111156127fd576127fc61270e565b5b6128088482856127bf565b509392505050565b600082601f83011261282557612824612709565b5b81356128358482602086016127ce565b91505092915050565b600060208284031215612854576128536123b4565b5b600082013567ffffffffffffffff811115612872576128716123b9565b5b61287e84828501612810565b91505092915050565b61289081612443565b811461289b57600080fd5b50565b6000813590506128ad81612887565b92915050565b600080604083850312156128ca576128c96123b4565b5b60006128d88582860161260a565b92505060206128e98582860161289e565b9150509250929050565b600067ffffffffffffffff82111561290e5761290d612713565b5b612917826124c8565b9050602081019050919050565b6000612937612932846128f3565b612773565b9050828152602081018484840111156129535761295261270e565b5b61295e8482856127bf565b509392505050565b600082601f83011261297b5761297a612709565b5b813561298b848260208601612924565b91505092915050565b600080600080608085870312156129ae576129ad6123b4565b5b60006129bc8782880161260a565b94505060206129cd8782880161260a565b93505060406129de87828801612555565b925050606085013567ffffffffffffffff8111156129ff576129fe6123b9565b5b612a0b87828801612966565b91505092959194509250565b60008060408385031215612a2e57612a2d6123b4565b5b6000612a3c8582860161260a565b9250506020612a4d8582860161260a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a9e57607f821691505b602082108103612ab157612ab0612a57565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b13602183612484565b9150612b1e82612ab7565b604082019050919050565b60006020820190508181036000830152612b4281612b06565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612ba5603d83612484565b9150612bb082612b49565b604082019050919050565b60006020820190508181036000830152612bd481612b98565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c1582612534565b9150612c2083612534565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c5557612c54612bdb565b5b828201905092915050565b7f4578636565647320746f74616c20737570706c792e0000000000000000000000600082015250565b6000612c96601583612484565b9150612ca182612c60565b602082019050919050565b60006020820190508181036000830152612cc581612c89565b9050919050565b6000612cd782612534565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d0957612d08612bdb565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612d70602d83612484565b9150612d7b82612d14565b604082019050919050565b60006020820190508181036000830152612d9f81612d63565b9050919050565b7f667265656d696e742073746f707065642e000000000000000000000000000000600082015250565b6000612ddc601183612484565b9150612de782612da6565b602082019050919050565b60006020820190508181036000830152612e0b81612dcf565b9050919050565b7f467265656d696e74204c696d6974206578636565647300000000000000000000600082015250565b6000612e48601683612484565b9150612e5382612e12565b602082019050919050565b60006020820190508181036000830152612e7781612e3b565b9050919050565b7f4d617820737570706c7920726561636865640000000000000000000000000000600082015250565b6000612eb4601283612484565b9150612ebf82612e7e565b602082019050919050565b60006020820190508181036000830152612ee381612ea7565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612f20601883612484565b9150612f2b82612eea565b602082019050919050565b60006020820190508181036000830152612f4f81612f13565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612fb2602983612484565b9150612fbd82612f56565b604082019050919050565b60006020820190508181036000830152612fe181612fa5565b9050919050565b6000612ff382612534565b9150612ffe83612534565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561303757613036612bdb565b5b828202905092915050565b7f506c656173652047657420456e6f756768204554480000000000000000000000600082015250565b6000613078601583612484565b915061308382613042565b602082019050919050565b600060208201905081810360008301526130a78161306b565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026131107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826130d3565b61311a86836130d3565b95508019841693508086168417925050509392505050565b6000819050919050565b600061315761315261314d84612534565b613132565b612534565b9050919050565b6000819050919050565b6131718361313c565b61318561317d8261315e565b8484546130e0565b825550505050565b600090565b61319a61318d565b6131a5818484613168565b505050565b5b818110156131c9576131be600082613192565b6001810190506131ab565b5050565b601f82111561320e576131df816130ae565b6131e8846130c3565b810160208510156131f7578190505b61320b613203856130c3565b8301826131aa565b50505b505050565b600082821c905092915050565b600061323160001984600802613213565b1980831691505092915050565b600061324a8383613220565b9150826002028217905092915050565b61326382612479565b67ffffffffffffffff81111561327c5761327b612713565b5b6132868254612a86565b6132918282856131cd565b600060209050601f8311600181146132c457600084156132b2578287015190505b6132bc858261323e565b865550613324565b601f1984166132d2866130ae565b60005b828110156132fa578489015182556001820191506020850194506020810190506132d5565b868310156133175784890151613313601f891682613220565b8355505b6001600288020188555050505b505050505050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e206578697374656e7420746f6b656e00000000000000000000000000000000602082015250565b6000613388603083612484565b91506133938261332c565b604082019050919050565b600060208201905081810360008301526133b78161337b565b9050919050565b600081905092915050565b60006133d482612479565b6133de81856133be565b93506133ee818560208601612495565b80840191505092915050565b6000815461340781612a86565b61341181866133be565b9450600182166000811461342c576001811461344157613474565b60ff1983168652811515820286019350613474565b61344a856130ae565b60005b8381101561346c5781548189015260018201915060208101905061344d565b838801955050505b50505092915050565b600061348982866133c9565b915061349582856133c9565b91506134a182846133fa565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061350a602683612484565b9150613515826134ae565b604082019050919050565b60006020820190508181036000830152613539816134fd565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613576602083612484565b915061358182613540565b602082019050919050565b600060208201905081810360008301526135a581613569565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613608602583612484565b9150613613826135ac565b604082019050919050565b60006020820190508181036000830152613637816135fb565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061369a602483612484565b91506136a58261363e565b604082019050919050565b600060208201905081810360008301526136c98161368d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613706601983612484565b9150613711826136d0565b602082019050919050565b60006020820190508181036000830152613735816136f9565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613798603283612484565b91506137a38261373c565b604082019050919050565b600060208201905081810360008301526137c78161378b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000613824826137fd565b61382e8185613808565b935061383e818560208601612495565b613847816124c8565b840191505092915050565b600060808201905061386760008301876125c9565b61387460208301866125c9565b613881604083018561265f565b81810360608301526138938184613819565b905095945050505050565b6000815190506138ad816123ea565b92915050565b6000602082840312156138c9576138c86123b4565b5b60006138d78482850161389e565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613916602083612484565b9150613921826138e0565b602082019050919050565b6000602082019050818103600083015261394581613909565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613982601c83612484565b915061398d8261394c565b602082019050919050565b600060208201905081810360008301526139b181613975565b905091905056fea2646970667358221220aa33e88c840910733c2dd5aa9179ff83ef7d1bdd84f4eab048211e1c43b7c2e064736f6c634300080f0033697066733a2f2f516d58353378345233743468785850354e564d6647786d6d65575a58455a6965544e4658534676386a58744e6b7a2f