[ { "inputs": [ { "internalType": "string", "name": "nftName", "type": "string" }, { "internalType": "string", "name": "nftSymbol", "type": "string" }, { "internalType": "string", "name": "baseTokenURI", "type": "string" }, { "internalType": "address", "name": "_royaltyRecipient", "type": "address" }, { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "_startAt", "type": "uint256" }, { "internalType": "uint256", "name": "_WLstartAt", "type": "uint256" } ], "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": "uint256", "name": "_id", "type": "uint256" } ], "name": "Claim", "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" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [ { "internalType": "address", "name": "_whitelistedAddress", "type": "address" } ], "name": "EarlyMinterMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "KALAO", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_EARLY_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINTABLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PER_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MintIsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NFT_EARLY_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NFT_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROYALTY_VALUE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WLstartAt", "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": [ { "internalType": "uint256", "name": "n", "type": "uint256" } ], "name": "claim", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "n", "type": "uint256" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "earlyClaim", "outputs": [], "stateMutability": "payable", "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": [ { "internalType": "address", "name": "_whitelistedAddress", "type": "address" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "isEarlyMinter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintIndexStart", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "n", "type": "uint256" }, { "internalType": "address", "name": "adr", "type": "address" } ], "name": "premintNoRandom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "n", "type": "uint256" }, { "internalType": "address", "name": "adr", "type": "address" } ], "name": "premintRandom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "publicMintedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addressToWhitelist", "type": "address" } ], "name": "removeEarlyUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": "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": "_addr", "type": "address[]" } ], "name": "setAdmins", "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": "uri", "type": "string" } ], "name": "setBaseUri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256", "name": "allowedToMint", "type": "uint256" } ], "name": "setEarlyMinters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_root", "type": "bytes32" } ], "name": "setMerkleRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_royaltyRecipient", "type": "address" } ], "name": "setRoyaltyAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startAt", "type": "uint256" } ], "name": "setStartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_WLstartAt", "type": "uint256" } ], "name": "setWLstartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "toggleMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6000600c81905560c0604081905260a08290526200002191601491906200015b565b50600160158190556016805460ff1916909117905560006017553480156200004857600080fd5b5060405162003a6138038062003a618339810160408190526200006b91620002b4565b602987878160009080519060200190620000879291906200015b565b5080516200009d9060019060208401906200015b565b505050620000ba620000b46200010560201b60201c565b62000109565b608052601880546001600160a01b0319166001600160a01b0386161790558451620000ed9060149060208801906200015b565b50601092909255600e55600f5550620003d492505050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620001699062000381565b90600052602060002090601f0160209004810192826200018d5760008555620001d8565b82601f10620001a857805160ff1916838001178555620001d8565b82800160010185558215620001d8579182015b82811115620001d8578251825591602001919060010190620001bb565b50620001e6929150620001ea565b5090565b5b80821115620001e65760008155600101620001eb565b600082601f83011262000212578081fd5b81516001600160401b03808211156200022f576200022f620003be565b604051601f8301601f19908116603f011681019082821181831017156200025a576200025a620003be565b8160405283815260209250868385880101111562000276578485fd5b8491505b838210156200029957858201830151818301840152908201906200027a565b83821115620002aa57848385830101525b9695505050505050565b600080600080600080600060e0888a031215620002cf578283fd5b87516001600160401b0380821115620002e6578485fd5b620002f48b838c0162000201565b985060208a01519150808211156200030a578485fd5b620003188b838c0162000201565b975060408a01519150808211156200032e578485fd5b506200033d8a828b0162000201565b60608a015190965090506001600160a01b03811681146200035c578384fd5b809450506080880151925060a0880151915060c0880151905092959891949750929550565b6002810460018216806200039657607f821691505b60208210811415620003b857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b60805161366a620003f760003960008181611b0e0152611e57015261366a6000f3fe6080604052600436106102b25760003560e01c80636d68b20b11610175578063a60118e8116100dc578063e985e9c511610095578063f2fde38b1161006f578063f2fde38b146107b1578063f3a133a9146107d1578063fc68e62d146107f1578063fc7d57c314610811576102b9565b8063e985e9c51461075c578063ead29d4e1461077c578063f2c64ad21461079c576102b9565b8063a60118e8146106b2578063accc1d5e146106d2578063b88d4fde146106f2578063c744656514610712578063c87b56dd14610727578063d3dd5fe014610747576102b9565b80638da5cb5b1161012e5780638da5cb5b1461061e57806393791b031461063357806395d89b4114610648578063a0bcfc7f1461065d578063a22cb4651461067d578063a28cf7721461069d576102b9565b80636d68b20b14610581578063705a13e2146105a157806370a08231146105b6578063715018a6146105d65780637cb64759146105eb57806386063f711461060b576102b9565b80632f745c59116102195780634f6ccce7116101d25780634f6ccce7146104f75780635446a6c7146105175780635471f49f146105375780636352211e1461054c578063676dd563146103805780636b907eba1461056c576102b9565b80632f745c591461045a578063379607f51461047a5780633ccfd60b1461048d5780633f879faf146104a257806340b89806146104b757806342842e0e146104d7576102b9565b806318160ddd1161026b57806318160ddd146103a25780631b4f7f35146103b75780631cda1851146103d757806323b872dd146103f75780632a55205a146104175780632eb4a7ab14610445576102b9565b806301ffc9a7146102bb57806306d254da146102f157806306fdde0314610311578063081812fc14610333578063095ea7b31461036057806312148a5614610380576102b9565b366102b957005b005b3480156102c757600080fd5b506102db6102d6366004612ad2565b610826565b6040516102e89190612cc4565b60405180910390f35b3480156102fd57600080fd5b506102b961030c36600461287c565b610839565b34801561031d57600080fd5b506103266108a3565b6040516102e89190612cd8565b34801561033f57600080fd5b5061035361034e366004612aba565b610935565b6040516102e89190612c5a565b34801561036c57600080fd5b506102b961037b366004612a07565b610978565b34801561038c57600080fd5b50610395610a10565b6040516102e89190612ccf565b3480156103ae57600080fd5b50610395610a1c565b3480156103c357600080fd5b506102db6103d236600461297c565b610a22565b3480156103e357600080fd5b506102b96103f2366004612b50565b610a98565b34801561040357600080fd5b506102b96104123660046128c8565b610b8c565b34801561042357600080fd5b50610437610432366004612ba3565b610bc4565b6040516102e8929190612cab565b34801561045157600080fd5b50610395610c22565b34801561046657600080fd5b50610395610475366004612a07565b610c28565b6102b9610488366004612aba565b610c7a565b34801561049957600080fd5b506102b9610eb0565b3480156104ae57600080fd5b50610395610f5d565b3480156104c357600080fd5b506102b96104d236600461287c565b610f62565b3480156104e357600080fd5b506102b96104f23660046128c8565b610fbb565b34801561050357600080fd5b50610395610512366004612aba565b610fd6565b34801561052357600080fd5b506102b9610532366004612b50565b611031565b34801561054357600080fd5b50610395611125565b34801561055857600080fd5b50610353610567366004612aba565b61112a565b34801561057857600080fd5b506102db61115f565b34801561058d57600080fd5b506102b961059c366004612aba565b611168565b3480156105ad57600080fd5b506103536111ac565b3480156105c257600080fd5b506103956105d136600461287c565b6111c4565b3480156105e257600080fd5b506102b9611208565b3480156105f757600080fd5b506102b9610606366004612aba565b611253565b6102b9610619366004612b72565b611297565b34801561062a57600080fd5b50610353611608565b34801561063f57600080fd5b50610395611617565b34801561065457600080fd5b5061032661161d565b34801561066957600080fd5b506102b9610678366004612b0a565b61162c565b34801561068957600080fd5b506102b96106983660046129cd565b611682565b3480156106a957600080fd5b50610395611694565b3480156106be57600080fd5b506103956106cd36600461287c565b61169a565b3480156106de57600080fd5b506102b96106ed366004612a30565b6116b5565b3480156106fe57600080fd5b506102b961070d366004612903565b611774565b34801561071e57600080fd5b506103956117b3565b34801561073357600080fd5b50610326610742366004612aba565b6117b9565b34801561075357600080fd5b506102b961183c565b34801561076857600080fd5b506102db610777366004612896565b61188f565b34801561078857600080fd5b5061039561079736600461287c565b6118bd565b3480156107a857600080fd5b506103956118cf565b3480156107bd57600080fd5b506102b96107cc36600461287c565b6118d4565b3480156107dd57600080fd5b506102b96107ec366004612aba565b611942565b3480156107fd57600080fd5b506102b961080c366004612a70565b611986565b34801561081d57600080fd5b50610395611a36565b600061083182611a3c565b90505b919050565b610841611a61565b6001600160a01b0316610852611608565b6001600160a01b0316146108815760405162461bcd60e51b8152600401610878906132b3565b60405180910390fd5b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080546108b290613552565b80601f01602080910402602001604051908101604052809291908181526020018280546108de90613552565b801561092b5780601f106109005761010080835404028352916020019161092b565b820191906000526020600020905b81548152906001019060200180831161090e57829003601f168201915b5050505050905090565b600061094082611a65565b61095c5760405162461bcd60e51b815260040161087890613267565b506000908152600460205260409020546001600160a01b031690565b60006109838261112a565b9050806001600160a01b0316836001600160a01b031614156109b75760405162461bcd60e51b8152600401610878906133bd565b806001600160a01b03166109c9611a61565b6001600160a01b031614806109e557506109e581610777611a61565b610a015760405162461bcd60e51b8152600401610878906130bd565b610a0b8383611a82565b505050565b671bc16d674ec8000081565b60085490565b60008084604051602001610a369190612bf0565b604051602081830303815290604052805190602001209050610a8f848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506010549150849050611af0565b95945050505050565b610aa0611a61565b6001600160a01b0316610ab1611608565b6001600160a01b031614610ad75760405162461bcd60e51b8152600401610878906132b3565b60008211610af75760405162461bcd60e51b815260040161087890613056565b600a821115610b185760405162461bcd60e51b8152600401610878906131ad565b60005b82811015610a0b576000601554610b30611b06565b610b3a91906134c4565b9050610b468382611bfb565b601854610b609082906001600160a01b0316610258611c15565b604051819060008051602061361583398151915290600090a25080610b848161358d565b915050610b1b565b610b9d610b97611a61565b82611c97565b610bb95760405162461bcd60e51b8152600401610878906133fe565b610a0b838383611d1c565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b90910462ffffff16928201839052929161271090610c0e90866134f0565b610c1891906134dc565b9150509250929050565b60105481565b6000610c33836111c4565b8210610c515760405162461bcd60e51b815260040161087890612dca565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60165460ff16610c9c5760405162461bcd60e51b815260040161087890612d59565b600e54421015610cbe5760405162461bcd60e51b81526004016108789061349b565b6029610cc8610a1c565b610cd290836134c4565b1115610cf05760405162461bcd60e51b815260040161087890612ceb565b60008111610d105760405162461bcd60e51b815260040161087890613056565b600a811115610d315760405162461bcd60e51b8152600401610878906131ad565b610d4381671bc16d674ec800006134f0565b341015610d625760405162461bcd60e51b8152600401610878906131ef565b6000610d7682671bc16d674ec800006134f0565b90508060176000828254610d8a91906134c4565b9091555060009050610d9c823461350f565b604051909150309083156108fc029084906000818181858888f19350505050158015610dcc573d6000803e3d6000fd5b5060005b83811015610e48576000601554610de5611e4f565b610def91906134c4565b9050610e02610dfc611a61565b82611bfb565b601854610e1c9082906001600160a01b0316610258611c15565b604051819060008051602061361583398151915290600090a25080610e408161358d565b915050610dd0565b508015610e9157610e57611a61565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610e8f573d6000803e3d6000fd5b505b610a0b73eff2357c9e40103ac4d268b32de478e4fbbfc4f06001611682565b60136000610ebc611a61565b6001600160a01b0316815260208101919091526040016000205460ff161515600114610efa5760405162461bcd60e51b81526004016108789061308d565b60004711610f1a5760405162461bcd60e51b815260040161087890612d9d565b610f22611a61565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610f5a573d6000803e3d6000fd5b50565b602981565b610f6a611a61565b6001600160a01b0316610f7b611608565b6001600160a01b031614610fa15760405162461bcd60e51b8152600401610878906132b3565b6001600160a01b0316600090815260116020526040812055565b610a0b83838360405180602001604052806000815250611774565b6000610fe0610a1c565b8210610ffe5760405162461bcd60e51b81526004016108789061344f565b6008828154811061101f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b611039611a61565b6001600160a01b031661104a611608565b6001600160a01b0316146110705760405162461bcd60e51b8152600401610878906132b3565b600082116110905760405162461bcd60e51b815260040161087890613056565b600a8211156110b15760405162461bcd60e51b8152600401610878906131ad565b60005b82811015610a0b5760006015546110c9611e4f565b6110d391906134c4565b90506110df8382611bfb565b6018546110f99082906001600160a01b0316610258611c15565b604051819060008051602061361583398151915290600090a2508061111d8161358d565b9150506110b4565b600a81565b6000818152600260205260408120546001600160a01b0316806108315760405162461bcd60e51b815260040161087890613164565b60165460ff1681565b611170611a61565b6001600160a01b0316611181611608565b6001600160a01b0316146111a75760405162461bcd60e51b8152600401610878906132b3565b600f55565b73eff2357c9e40103ac4d268b32de478e4fbbfc4f081565b60006001600160a01b0382166111ec5760405162461bcd60e51b81526004016108789061311a565b506001600160a01b031660009081526003602052604090205490565b611210611a61565b6001600160a01b0316611221611608565b6001600160a01b0316146112475760405162461bcd60e51b8152600401610878906132b3565b6112516000611eab565b565b61125b611a61565b6001600160a01b031661126c611608565b6001600160a01b0316146112925760405162461bcd60e51b8152600401610878906132b3565b601055565b60165460ff166112b95760405162461bcd60e51b815260040161087890612d59565b600f544210156112db5760405162461bcd60e51b81526004016108789061349b565b600e5442106112fc5760405162461bcd60e51b81526004016108789061331f565b6029611306610a1c565b61131090856134c4565b111561132e5760405162461bcd60e51b815260040161087890612ceb565b600a83111561134f5760405162461bcd60e51b8152600401610878906131ad565b336000908152601160205260409020546001101561137f5760405162461bcd60e51b815260040161087890612f29565b6000336040516020016113929190612bf0565b6040516020818303038152906040528051906020012090506113eb838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506010549150849050611af0565b6114075760405162461bcd60e51b815260040161087890612fdb565b600084116114275760405162461bcd60e51b815260040161087890613056565b3360009081526011602052604090205460019061144490866134c4565b11156114625760405162461bcd60e51b8152600401610878906132e8565b61147484671bc16d674ec800006134f0565b3410156114935760405162461bcd60e51b8152600401610878906131ef565b33600090815260116020526040812080548692906114b29084906134c4565b90915550600090506114cc85671bc16d674ec800006134f0565b905080601760008282546114e091906134c4565b90915550600090506114f2823461350f565b604051909150309083156108fc029084906000818181858888f19350505050158015611522573d6000803e3d6000fd5b5060005b8681101561159857600060155461153b611e4f565b61154591906134c4565b9050611552610dfc611a61565b60185461156c9082906001600160a01b0316610258611c15565b604051819060008051602061361583398151915290600090a250806115908161358d565b915050611526565b5080156115e1576115a7611a61565b6001600160a01b03166108fc829081150290604051600060405180830381858888f193505050501580156115df573d6000803e3d6000fd5b505b61160073eff2357c9e40103ac4d268b32de478e4fbbfc4f06001611682565b505050505050565b600a546001600160a01b031690565b61025881565b6060600180546108b290613552565b611634611a61565b6001600160a01b0316611645611608565b6001600160a01b03161461166b5760405162461bcd60e51b8152600401610878906132b3565b805161167e90601490602084019061270d565b5050565b61167e61168d611a61565b8383611efd565b600f5481565b6001600160a01b031660009081526011602052604090205490565b6116bd611a61565b6001600160a01b03166116ce611608565b6001600160a01b0316146116f45760405162461bcd60e51b8152600401610878906132b3565b60005b81811015610a0b5760016013600085858581811061172557634e487b7160e01b600052603260045260246000fd5b905060200201602081019061173a919061287c565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061176c8161358d565b9150506116f7565b61178561177f611a61565b83611c97565b6117a15760405162461bcd60e51b8152600401610878906133fe565b6117ad84848484611fa0565b50505050565b600e5481565b60606117c482611a65565b6117e05760405162461bcd60e51b81526004016108789061336e565b60006117ea611fd3565b9050600081511161180a5760405180602001604052806000815250611835565b8061181484611fe2565b604051602001611825929190612c0d565b6040516020818303038152906040525b9392505050565b611844611a61565b6001600160a01b0316611855611608565b6001600160a01b03161461187b5760405162461bcd60e51b8152600401610878906132b3565b6016805460ff19811660ff90911615179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60126020526000908152604090205481565b600181565b6118dc611a61565b6001600160a01b03166118ed611608565b6001600160a01b0316146119135760405162461bcd60e51b8152600401610878906132b3565b6001600160a01b0381166119395760405162461bcd60e51b815260040161087890612e67565b610f5a81611eab565b61194a611a61565b6001600160a01b031661195b611608565b6001600160a01b0316146119815760405162461bcd60e51b8152600401610878906132b3565b600e55565b61198e611a61565b6001600160a01b031661199f611608565b6001600160a01b0316146119c55760405162461bcd60e51b8152600401610878906132b3565b60005b828110156117ad5781601160008686858181106119f557634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611a0a919061287c565b6001600160a01b0316815260208101919091526040016000205580611a2e8161358d565b9150506119c8565b60155481565b60006001600160e01b0319821663152a902d60e11b14806108315750610831826120fd565b3390565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611ab78261112a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600082611afd8584612122565b14949350505050565b600080600c547f0000000000000000000000000000000000000000000000000000000000000000611b37919061350f565b600c549091506000908190600d82611b5060018761350f565b81526020019081526020016000205460001415611b7957611b7260018561350f565b9250611b9a565b600d6000611b8860018761350f565b81526020019081526020016000205492505b6000818152600d6020526040902054611bc6576000818152600d60205260409020839055905080611bdd565b6000818152600d6020526040902080549084905591505b600c8054906000611bed8361358d565b909155509194505050505090565b61167e82826040518060200160405280600081525061219c565b612710811115611c375760405162461bcd60e51b815260040161087890612d22565b6040805180820182526001600160a01b03938416815262ffffff92831660208083019182526000968752600b905291909420935184549151909216600160a01b0262ffffff60a01b19929093166001600160a01b03199091161716179055565b6000611ca282611a65565b611cbe5760405162461bcd60e51b81526004016108789061300a565b6000611cc98361112a565b9050806001600160a01b0316846001600160a01b03161480611cf05750611cf0818561188f565b80611d145750836001600160a01b0316611d0984610935565b6001600160a01b0316145b949350505050565b826001600160a01b0316611d2f8261112a565b6001600160a01b031614611d555760405162461bcd60e51b815260040161087890612ead565b6001600160a01b038216611d7b5760405162461bcd60e51b815260040161087890612f60565b611d868383836121cf565b611d91600082611a82565b6001600160a01b0383166000908152600360205260408120805460019290611dba90849061350f565b90915550506001600160a01b0382166000908152600360205260408120805460019290611de89084906134c4565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610a0b838383610a0b565b600080600c547f0000000000000000000000000000000000000000000000000000000000000000611e80919061350f565b9050600080600083611e906121da565b611e9a91906135a8565b9050600d6000611b5060018761350f565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415611f2f5760405162461bcd60e51b815260040161087890612fa4565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611f93908590612cc4565b60405180910390a3505050565b611fab848484611d1c565b611fb78484848461220d565b6117ad5760405162461bcd60e51b815260040161087890612e15565b6060601480546108b290613552565b60608161200757506040805180820190915260018152600360fc1b6020820152610834565b8160005b8115612031578061201b8161358d565b915061202a9050600a836134dc565b915061200b565b60008167ffffffffffffffff81111561205a57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612084576020820181803683370190505b5090505b8415611d145761209960018361350f565b91506120a6600a866135a8565b6120b19060306134c4565b60f81b8183815181106120d457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506120f6600a866134dc565b9450612088565b60006001600160e01b0319821663780e9d6360e01b1480610831575061083182612328565b600081815b845181101561219457600085828151811061215257634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116121745761216d8382612368565b9250612181565b61217e8184612368565b92505b508061218c8161358d565b915050612127565b509392505050565b6121a68383612377565b6121b3600084848461220d565b610a0b5760405162461bcd60e51b815260040161087890612e15565b610a0b83838361245e565b600044426040516020016121ef929190612c4c565b6040516020818303038152906040528051906020012060001c905090565b6000612221846001600160a01b03166124e7565b1561231d57836001600160a01b031663150b7a0261223d611a61565b8786866040518563ffffffff1660e01b815260040161225f9493929190612c6e565b602060405180830381600087803b15801561227957600080fd5b505af19250505080156122a9575060408051601f3d908101601f191682019092526122a691810190612aee565b60015b612303573d8080156122d7576040519150601f19603f3d011682016040523d82523d6000602084013e6122dc565b606091505b5080516122fb5760405162461bcd60e51b815260040161087890612e15565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611d14565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b148061235957506001600160e01b03198216635b5e139f60e01b145b806108315750610831826124f6565b60009182526020526040902090565b6001600160a01b03821661239d5760405162461bcd60e51b815260040161087890613232565b6123a681611a65565b156123c35760405162461bcd60e51b815260040161087890612ef2565b6123cf600083836121cf565b6001600160a01b03821660009081526003602052604081208054600192906123f89084906134c4565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461167e60008383610a0b565b612469838383610a0b565b6001600160a01b038316612485576124808161250f565b6124a8565b816001600160a01b0316836001600160a01b0316146124a8576124a88382612553565b6001600160a01b0382166124c4576124bf816125f0565b610a0b565b826001600160a01b0316826001600160a01b031614610a0b57610a0b82826126c9565b6001600160a01b03163b151590565b6001600160e01b031981166301ffc9a760e01b14919050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001612560846111c4565b61256a919061350f565b6000838152600760205260409020549091508082146125bd576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906126029060019061350f565b6000838152600960205260408120546008805493945090928490811061263857634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050806008838154811061266757634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806126ad57634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006126d4836111c4565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b82805461271990613552565b90600052602060002090601f01602090048101928261273b5760008555612781565b82601f1061275457805160ff1916838001178555612781565b82800160010185558215612781579182015b82811115612781578251825591602001919060010190612766565b5061278d929150612791565b5090565b5b8082111561278d5760008155600101612792565b600067ffffffffffffffff808411156127c1576127c16135e8565b604051601f8501601f19908116603f011681019082821181831017156127e9576127e96135e8565b8160405280935085815286868601111561280257600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461083457600080fd5b60008083601f840112612844578081fd5b50813567ffffffffffffffff81111561285b578182fd5b602083019150836020808302850101111561287557600080fd5b9250929050565b60006020828403121561288d578081fd5b6118358261281c565b600080604083850312156128a8578081fd5b6128b18361281c565b91506128bf6020840161281c565b90509250929050565b6000806000606084860312156128dc578081fd5b6128e58461281c565b92506128f36020850161281c565b9150604084013590509250925092565b60008060008060808587031215612918578081fd5b6129218561281c565b935061292f6020860161281c565b925060408501359150606085013567ffffffffffffffff811115612951578182fd5b8501601f81018713612961578182fd5b612970878235602084016127a6565b91505092959194509250565b600080600060408486031215612990578283fd5b6129998461281c565b9250602084013567ffffffffffffffff8111156129b4578283fd5b6129c086828701612833565b9497909650939450505050565b600080604083850312156129df578182fd5b6129e88361281c565b9150602083013580151581146129fc578182fd5b809150509250929050565b60008060408385031215612a19578182fd5b612a228361281c565b946020939093013593505050565b60008060208385031215612a42578182fd5b823567ffffffffffffffff811115612a58578283fd5b612a6485828601612833565b90969095509350505050565b600080600060408486031215612a84578283fd5b833567ffffffffffffffff811115612a9a578384fd5b612aa686828701612833565b909790965060209590950135949350505050565b600060208284031215612acb578081fd5b5035919050565b600060208284031215612ae3578081fd5b8135611835816135fe565b600060208284031215612aff578081fd5b8151611835816135fe565b600060208284031215612b1b578081fd5b813567ffffffffffffffff811115612b31578182fd5b8201601f81018413612b41578182fd5b611d14848235602084016127a6565b60008060408385031215612b62578182fd5b823591506128bf6020840161281c565b600080600060408486031215612b86578081fd5b83359250602084013567ffffffffffffffff8111156129b4578182fd5b60008060408385031215612bb5578182fd5b50508035926020909101359150565b60008151808452612bdc816020860160208601613526565b601f01601f19169290920160200192915050565b60609190911b6bffffffffffffffffffffffff1916815260140190565b60008351612c1f818460208801613526565b835190830190612c33818360208801613526565b64173539b7b760d91b9101908152600501949350505050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612ca190830184612bc4565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6000602082526118356020830184612bc4565b60208082526018908201527f4e6f7420656e6f756768206c65667420746f206d696e742e0000000000000000604082015260600190565b6020808252601a908201527f45524332393831526f79616c746965733a20546f6f2068696768000000000000604082015260600190565b60208082526024908201527f49742773206e6f7420706f737369626c6520746f20636c61696d206a757374206040820152633cb2ba1760e11b606082015260800190565b6020808252601390820152724e6f7468696e6720746f20776974686472617760681b604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601d908201527f596f752063616e2774206561726c7920636c61696d20616e796d6f7265000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b60208082526015908201527424b73b30b634b21026b2b935b63290283937b7b31760591b604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252601f908201527f4e756d626572206e65656420746f20626520686967686572207468616e203000604082015260600190565b6020808252601690820152752cb7bab91030b932903737ba103a34329037bbb732b960511b604082015260600190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b60208082526022908201527f796f752063616e277420636c61696d2074686174206d756368206174206f756e604082015261636560f01b606082015260800190565b60208082526023908201527f45746865722076616c75652073656e742069732062656c6f772074686520707260408201526269636560e81b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f796f752063616e2774206561726c7920636c61696d2074686174206d75636800604082015260600190565b6020808252602f908201527f5075626c6963206d696e74206973206f70656e2c207468652077686974656c6960408201526e39ba1036b4b73a1034b99037bb32b960891b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b6020808252600f908201526e139bdd081cdd185c9d1959081e595d608a1b604082015260600190565b600082198211156134d7576134d76135bc565b500190565b6000826134eb576134eb6135d2565b500490565b600081600019048311821515161561350a5761350a6135bc565b500290565b600082821015613521576135216135bc565b500390565b60005b83811015613541578181015183820152602001613529565b838111156117ad5750506000910152565b60028104600182168061356657607f821691505b6020821081141561358757634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156135a1576135a16135bc565b5060010190565b6000826135b7576135b76135d2565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610f5a57600080fdfe7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f7a26469706673582212201c1c69e0cc4ece71b4ee72f89b2d4b8c886840790cd255c63f10f4923304ce7564736f6c6343000801003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000039b6623379caee81e0b8d8ac8b45e18c37fad062cdaacb54094b787f5d02b5bd11d7768bb084a6576c07afcc7b3f3f646584b1260000000000000000000000000000000000000000000000000000000063bda8cc0000000000000000000000000000000000000000000000000000000063bda7a000000000000000000000000000000000000000000000000000000000000000114e6f7420517569746520436f6d69636f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005436f6d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d5672324b66674e784e31506d4565715571466e4d50346a3938656d566a6b62346e467a34356f5678743455332f00000000000000000000