[ { "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": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "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": [], "name": "ADMIN", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DAO", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "adminMint", "outputs": [], "stateMutability": "nonpayable", "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": "closeSale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "mintedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openSale", "outputs": [], "stateMutability": "nonpayable", "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": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rescueAvax", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "revealedUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "royaltyPayout", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_revealed", "type": "string" } ], "name": "setRevealed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_payoutAddress", "type": "address" } ], "name": "setRoyaltyPayoutAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "timeStamp", "type": "uint256" } ], "name": "setStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint96", "name": "_royalties", "type": "uint96" } ], "name": "setTokenRoyalties", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTime", "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": [ { "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": [], "name": "tokenRoyalties", "outputs": [ { "internalType": "uint96", "name": "", "type": "uint96" } ], "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" } ]
610140604052601180546001600160a01b03199081167353877df168057a513108039d3d8c4dfdf6b0abd1908117909255601280548216735e069c8e72b7a0b3f18cb262d2cbc7461d2b0270179055601380549091169091179055601580546001600160601b0319166102b21790556016805460ff191660011790556364345cb06017556103e86018556709935f581f050000601955348015620000a257600080fd5b5060405180606001604052806021815260200162003e9460219139604051806040016040528060018152602001603160f81b81525060405180606001604052806021815260200162003e94602191396040518060400160405280600681526020016543435131323360d01b81525081600090805190602001906200012892919062000410565b5080516200013e90600190602084019062000410565b5050825160208085019190912083518483012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c0019052805194019390932091935091906080523060c052610120525050601154620001ec9250600091506001600160a01b03166200025d565b62000203601b6200030260201b620017481760201c565b60125460155462000227916001600160a01b0316906001600160601b03166200030b565b601254601580546001600160601b03166001600160a01b039092166c0100000000000000000000000002919091179055620004f2565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff16620002fe576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620002bd3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b80546001019055565b6127106001600160601b03821611156200037f5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620003d75760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000376565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b8280546200041e90620004b6565b90600052602060002090601f0160209004810192826200044257600085556200048d565b82601f106200045d57805160ff19168380011785556200048d565b828001600101855582156200048d579182015b828111156200048d57825182559160200191906001019062000470565b506200049b9291506200049f565b5090565b5b808211156200049b5760008155600101620004a0565b600181811c90821680620004cb57607f821691505b602082108103620004ec57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e0516101005161012051613952620005426000396000611c5201526000611ca101526000611c7c01526000611bd501526000611bff01526000611c2901526139526000f3fe6080604052600436106102ff5760003560e01c80636352211e11610190578063a035b1fe116100dc578063c87b56dd11610095578063d5abeb011161006f578063d5abeb011461091a578063e985e9c514610930578063ee55efee14610979578063fbbf8cc31461098e57600080fd5b8063c87b56dd146108c5578063d3ba9427146108e5578063d547741f146108fa57600080fd5b8063a035b1fe14610827578063a0712d681461083d578063a217fddf14610850578063a22cb46514610865578063b88d4fde14610885578063c3cda520146108a557600080fd5b80638b584eeb1161014957806391d148541161012357806391d14854146107b257806395d89b41146107d257806398fabd3a146107e75780639ab24eb01461080757600080fd5b80638b584eeb1461074b5780638da5cb5b146107725780638e539e8c1461079257600080fd5b80636352211e146106a057806370a08231146106c057806378e97925146106e0578063794100b9146106f65780637ecebe0014610716578063895fc7881461073657600080fd5b80632a55205a1161024f5780633a46b1a81161020857806345aeefde116101e257806345aeefde146106075780634f6ccce714610627578063587cde1e146106475780635c19a95c1461068057600080fd5b80633a46b1a8146105a75780633e0a322d146105c757806342842e0e146105e757600080fd5b80632a55205a146104bb5780632dff8423146104fa5780632f2ff15d146105325780632f745c59146105525780633644e5151461057257806336568abe1461058757600080fd5b806318160ddd116102bc57806323b872dd1161029657806323b872dd14610431578063248a9ca31461045157806324bbd049146104815780632a0acc6a1461049b57600080fd5b806318160ddd146103ea5780631b1ece3c146104095780631ebdcaae1461041157600080fd5b806301ffc9a71461030457806306fdde0314610339578063081812fc1461035b578063095ea7b31461039357806313af4035146103b5578063167ff46f146103d5575b600080fd5b34801561031057600080fd5b5061032461031f36600461325b565b6109bb565b60405190151581526020015b60405180910390f35b34801561034557600080fd5b5061034e6109cc565b60405161033091906132d0565b34801561036757600080fd5b5061037b6103763660046132e3565b610a5e565b6040516001600160a01b039091168152602001610330565b34801561039f57600080fd5b506103b36103ae366004613318565b610a85565b005b3480156103c157600080fd5b506103b36103d0366004613342565b610b9f565b3480156103e157600080fd5b506103b3610bcd565b3480156103f657600080fd5b506008545b604051908152602001610330565b6103b3610be8565b34801561041d57600080fd5b506103b361042c36600461335d565b610c1a565b34801561043d57600080fd5b506103b361044c366004613386565b610c67565b34801561045d57600080fd5b506103fb61046c3660046132e3565b6000908152600a602052604090206001015490565b34801561048d57600080fd5b506016546103249060ff1681565b3480156104a757600080fd5b5060115461037b906001600160a01b031681565b3480156104c757600080fd5b506104db6104d63660046133c2565b610c98565b604080516001600160a01b039093168352602083019190915201610330565b34801561050657600080fd5b5060155461051a906001600160601b031681565b6040516001600160601b039091168152602001610330565b34801561053e57600080fd5b506103b361054d3660046133e4565b610d44565b34801561055e57600080fd5b506103fb61056d366004613318565b610d69565b34801561057e57600080fd5b506103fb610dff565b34801561059357600080fd5b506103b36105a23660046133e4565b610e0e565b3480156105b357600080fd5b506103fb6105c2366004613318565b610e88565b3480156105d357600080fd5b506103b36105e23660046132e3565b610eb1565b3480156105f357600080fd5b506103b3610602366004613386565b610ec2565b34801561061357600080fd5b506103b3610622366004613342565b610edd565b34801561063357600080fd5b506103fb6106423660046132e3565b610f21565b34801561065357600080fd5b5061037b610662366004613342565b6001600160a01b039081166000908152600d60205260409020541690565b34801561068c57600080fd5b506103b361069b366004613342565b610fb4565b3480156106ac57600080fd5b5061037b6106bb3660046132e3565b610fbf565b3480156106cc57600080fd5b506103fb6106db366004613342565b61101f565b3480156106ec57600080fd5b506103fb60175481565b34801561070257600080fd5b506103b361071136600461349c565b6110a5565b34801561072257600080fd5b506103fb610731366004613342565b6110c3565b34801561074257600080fd5b506103b36110e1565b34801561075757600080fd5b5060155461037b90600160601b90046001600160a01b031681565b34801561077e57600080fd5b5060135461037b906001600160a01b031681565b34801561079e57600080fd5b506103fb6107ad3660046132e3565b61110c565b3480156107be57600080fd5b506103246107cd3660046133e4565b611168565b3480156107de57600080fd5b5061034e611193565b3480156107f357600080fd5b5060125461037b906001600160a01b031681565b34801561081357600080fd5b506103fb610822366004613342565b6111a2565b34801561083357600080fd5b506103fb60195481565b6103b361084b3660046132e3565b6111d2565b34801561085c57600080fd5b506103fb600081565b34801561087157600080fd5b506103b36108803660046134e5565b6113fc565b34801561089157600080fd5b506103b36108a0366004613521565b611407565b3480156108b157600080fd5b506103b36108c036600461359d565b61143f565b3480156108d157600080fd5b5061034e6108e03660046132e3565b61156c565b3480156108f157600080fd5b5061034e61167d565b34801561090657600080fd5b506103b36109153660046133e4565b61170b565b34801561092657600080fd5b506103fb60185481565b34801561093c57600080fd5b5061032461094b3660046135fd565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561098557600080fd5b506103b3611730565b34801561099a57600080fd5b506103fb6109a9366004613342565b601a6020526000908152604090205481565b60006109c682611751565b92915050565b6060600080546109db90613627565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0790613627565b8015610a545780601f10610a2957610100808354040283529160200191610a54565b820191906000526020600020905b815481529060010190602001808311610a3757829003601f168201915b5050505050905090565b6000610a6982611776565b506000908152600460205260409020546001600160a01b031690565b6000610a9082610fbf565b9050806001600160a01b0316836001600160a01b031603610b025760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610b1e5750610b1e813361094b565b610b905760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610af9565b610b9a83836117d5565b505050565b6000610baa81611843565b50601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bd881611843565b506016805460ff19166001179055565b6000610bf381611843565b60405133904780156108fc02916000818181858888f19350505050610c1757600080fd5b50565b6000610c2581611843565b601580546bffffffffffffffffffffffff19166001600160601b03841690811791829055610c6391600160601b90046001600160a01b03169061184d565b5050565b610c71338261194a565b610c8d5760405162461bcd60e51b8152600401610af99061365b565b610b9a8383836119c9565b6000828152600c602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610d0d575060408051808201909152600b546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610d2c906001600160601b0316876136be565b610d3691906136f3565b915196919550909350505050565b6000828152600a6020526040902060010154610d5f81611843565b610b9a8383611b42565b6000610d748361101f565b8210610dd65760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610af9565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6000610e09611bc8565b905090565b6001600160a01b0381163314610e7e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610af9565b610c638282611cef565b6001600160a01b0382166000908152600e60205260408120610eaa9083611d56565b9392505050565b6000610ebc81611843565b50601755565b610b9a83838360405180602001604052806000815250611407565b6000610ee881611843565b601580546001600160601b03908116600160601b6001600160a01b03868116820283811795869055610c6395929092041692161761184d565b6000610f2c60085490565b8210610f8f5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610af9565b60088281548110610fa257610fa2613715565b90600052602060002001549050919050565b33610c638183611e72565b6000818152600260205260408120546001600160a01b0316806109c65760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610af9565b60006001600160a01b0382166110895760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610af9565b506001600160a01b031660009081526003602052604090205490565b60006110b081611843565b8151610b9a9060149060208501906131b5565b6001600160a01b0381166000908152601060205260408120546109c6565b60006110ec81611843565b6110fe336110f9601b5490565b611ee4565b610c17601b80546001019055565b600043821061115d5760405162461bcd60e51b815260206004820152601a60248201527f566f7465733a20626c6f636b206e6f7420796574206d696e65640000000000006044820152606401610af9565b6109c6600f83611d56565b6000918252600a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600180546109db90613627565b6001600160a01b0381166000908152600e602052604081206111c390612087565b6001600160e01b031692915050565b3233146112215760405162461bcd60e51b815260206004820152601e60248201527f5468652063616c6c657220697320616e6f7468657220636f6e747261637400006044820152606401610af9565b60165460ff1615156001146112665760405162461bcd60e51b815260206004820152600b60248201526a1b5a5b9d0818db1bdcd95960aa1b6044820152606401610af9565b60175442116112a35760405162461bcd60e51b8152602060048201526009602482015268746f6f206561726c7960b81b6044820152606401610af9565b6019546112b090826136be565b3410156112f35760405162461bcd60e51b815260206004820152601160248201527039b2b7321036b7b932903932b231b7b4b760791b6044820152606401610af9565b336000908152601a60205260408120805483929061131290849061372b565b9091555050336000908152601a60205260409020546014101561136b5760405162461bcd60e51b81526020600482015260116024820152700616c7265616479206d696e74656420323607c1b6044820152606401610af9565b60185461137990600161372b565b81611383601b5490565b61138d919061372b565b11156113c65760405162461bcd60e51b815260206004820152600860248201526714dbdb190813dd5d60c21b6044820152606401610af9565b60005b81811015610c63576113de336110f9601b5490565b6113ec601b80546001019055565b6113f581613743565b90506113c9565b610c633383836120c1565b611411338361194a565b61142d5760405162461bcd60e51b8152600401610af99061365b565b6114398484848461218f565b50505050565b8342111561148f5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610af9565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611509906115019060a001604051602081830303815290604052805190602001206121c2565b858585612210565b905061151481612238565b86146115595760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610af9565b6115638188611e72565b50505050505050565b6000818152600260205260409020546060906001600160a01b03166115eb5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610af9565b601480546115f890613627565b80601f016020809104026020016040519081016040528092919081815260200182805461162490613627565b80156116715780601f1061164657610100808354040283529160200191611671565b820191906000526020600020905b81548152906001019060200180831161165457829003601f168201915b50505050509050919050565b6014805461168a90613627565b80601f01602080910402602001604051908101604052809291908181526020018280546116b690613627565b80156117035780601f106116d857610100808354040283529160200191611703565b820191906000526020600020905b8154815290600101906020018083116116e657829003601f168201915b505050505081565b6000828152600a602052604090206001015461172681611843565b610b9a8383611cef565b600061173b81611843565b506016805460ff19169055565b80546001019055565b60006001600160e01b0319821663152a902d60e11b14806109c657506109c682612260565b6000818152600260205260409020546001600160a01b0316610c175760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610af9565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061180a82610fbf565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610c178133612285565b6127106001600160601b03821611156118bb5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610af9565b6001600160a01b0382166119115760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610af9565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b60008061195683610fbf565b9050806001600160a01b0316846001600160a01b0316148061199d57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806119c15750836001600160a01b03166119b684610a5e565b6001600160a01b0316145b949350505050565b826001600160a01b03166119dc82610fbf565b6001600160a01b031614611a025760405162461bcd60e51b8152600401610af99061375c565b6001600160a01b038216611a645760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610af9565b611a7183838360016122de565b826001600160a01b0316611a8482610fbf565b6001600160a01b031614611aaa5760405162461bcd60e51b8152600401610af99061375c565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610b9a83838360016122ea565b611b4c8282611168565b610c63576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611b843390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611c2157507f000000000000000000000000000000000000000000000000000000000000000046145b15611c4b57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b611cf98282611168565b15610c63576000828152600a602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000438210611da75760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610af9565b6000611db2836122f6565b84549091506000816005811115611e10576000611dce8461235f565b611dd890856137a1565b60008981526020902090915081015463ffffffff9081169086161015611e0057809150611e0e565b611e0b81600161372b565b92505b505b6000611e1e88868585612447565b90508015611e5a57611e4388611e356001846137a1565b600091825260209091200190565b5464010000000090046001600160e01b0316611e5d565b60005b6001600160e01b031698975050505050505050565b6001600160a01b038281166000818152600d602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610b9a8183611edf866124a5565b6124b0565b6001600160a01b038216611f3a5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610af9565b6000818152600260205260409020546001600160a01b031615611f9f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610af9565b611fad6000838360016122de565b6000818152600260205260409020546001600160a01b0316156120125760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610af9565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610c636000838360016122ea565b805460009080156120b8576120a183611e356001846137a1565b5464010000000090046001600160e01b0316610eaa565b60009392505050565b816001600160a01b0316836001600160a01b0316036121225760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610af9565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61219a8484846119c9565b6121a6848484846125ed565b6114395760405162461bcd60e51b8152600401610af9906137b8565b60006109c66121cf611bc8565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000612221878787876126eb565b9150915061222e816127af565b5095945050505050565b6001600160a01b03811660009081526010602052604090208054600181018255905b50919050565b60006001600160e01b03198216637965db0b60e01b14806109c657506109c6826128f9565b61228f8282611168565b610c635761229c8161291e565b6122a7836020612930565b6040516020016122b892919061380a565b60408051601f198184030181529082905262461bcd60e51b8252610af9916004016132d0565b61143984848484612acc565b61143984848484612c00565b600063ffffffff82111561235b5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610af9565b5090565b60008160000361237157506000919050565b6000600161237e84612c10565b901c6001901b90506001818481612397576123976136dd565b048201901c905060018184816123af576123af6136dd565b048201901c905060018184816123c7576123c76136dd565b048201901c905060018184816123df576123df6136dd565b048201901c905060018184816123f7576123f76136dd565b048201901c9050600181848161240f5761240f6136dd565b048201901c90506001818481612427576124276136dd565b048201901c9050610eaa81828581612441576124416136dd565b04612ca4565b60005b8183101561249d57600061245e8484612cba565b60008781526020902090915063ffffffff86169082015463ffffffff16111561248957809250612497565b61249481600161372b565b93505b5061244a565b509392505050565b60006109c68261101f565b816001600160a01b0316836001600160a01b0316141580156124d25750600081115b15610b9a576001600160a01b03831615612560576001600160a01b0383166000908152600e60205260408120819061250d90612cd585612ce1565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612555929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610b9a576001600160a01b0382166000908152600e60205260408120819061259690612d1985612ce1565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516125de929190918252602082015260400190565b60405180910390a25050505050565b60006001600160a01b0384163b156126e357604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061263190339089908890889060040161387f565b6020604051808303816000875af192505050801561266c575060408051601f3d908101601f19168201909252612669918101906138bc565b60015b6126c9573d80801561269a576040519150601f19603f3d011682016040523d82523d6000602084013e61269f565b606091505b5080516000036126c15760405162461bcd60e51b8152600401610af9906137b8565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119c1565b5060016119c1565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561272257506000905060036127a6565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612776573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661279f576000600192509250506127a6565b9150600090505b94509492505050565b60008160048111156127c3576127c36138d9565b036127cb5750565b60018160048111156127df576127df6138d9565b0361282c5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610af9565b6002816004811115612840576128406138d9565b0361288d5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610af9565b60038160048111156128a1576128a16138d9565b03610c175760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610af9565b60006001600160e01b0319821663780e9d6360e01b14806109c657506109c682612d25565b60606109c66001600160a01b03831660145b6060600061293f8360026136be565b61294a90600261372b565b67ffffffffffffffff81111561296257612962613410565b6040519080825280601f01601f19166020018201604052801561298c576020820181803683370190505b509050600360fc1b816000815181106129a7576129a7613715565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106129d6576129d6613715565b60200101906001600160f81b031916908160001a90535060006129fa8460026136be565b612a0590600161372b565b90505b6001811115612a7d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612a3957612a39613715565b1a60f81b828281518110612a4f57612a4f613715565b60200101906001600160f81b031916908160001a90535060049490941c93612a76816138ef565b9050612a08565b508315610eaa5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610af9565b6001811115612b3b5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610af9565b816001600160a01b038516612b9757612b9281600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612bba565b836001600160a01b0316856001600160a01b031614612bba57612bba8582612d75565b6001600160a01b038416612bd657612bd181612e12565b612bf9565b846001600160a01b0316846001600160a01b031614612bf957612bf98482612ec1565b5050505050565b612c0b848483612f05565b611439565b600080608083901c15612c2557608092831c92015b604083901c15612c3757604092831c92015b602083901c15612c4957602092831c92015b601083901c15612c5b57601092831c92015b600883901c15612c6d57600892831c92015b600483901c15612c7f57600492831c92015b600283901c15612c9157600292831c92015b600183901c156109c65760010192915050565b6000818310612cb35781610eaa565b5090919050565b6000612cc960028484186136f3565b610eaa9084841661372b565b6000610eaa82846137a1565b600080612d0c85612d07612cf488612087565b6001600160e01b0316868863ffffffff16565b612f75565b915091505b935093915050565b6000610eaa828461372b565b60006001600160e01b031982166380ac58cd60e01b1480612d5657506001600160e01b03198216635b5e139f60e01b145b806109c657506301ffc9a760e01b6001600160e01b03198316146109c6565b60006001612d828461101f565b612d8c91906137a1565b600083815260076020526040902054909150808214612ddf576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612e24906001906137a1565b60008381526009602052604081205460088054939450909284908110612e4c57612e4c613715565b906000526020600020015490508060088381548110612e6d57612e6d613715565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612ea557612ea5613906565b6001900381819060005260206000200160009055905550505050565b6000612ecc8361101f565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b038316612f2457612f21600f612d1983612ce1565b50505b6001600160a01b038216612f4357612f40600f612cd583612ce1565b50505b6001600160a01b038381166000908152600d6020526040808220548584168352912054610b9a929182169116836124b0565b600080612f9384612f85436122f6565b612f8e86612fa9565b613012565b6001600160e01b03918216969116945092505050565b60006001600160e01b0382111561235b5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610af9565b82546000908190801561315b57600061303087611e356001856137a1565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156130b25760405162461bcd60e51b815260206004820152601760248201527f436865636b706f696e743a20696e76616c6964206b65790000000000000000006044820152606401610af9565b805163ffffffff8088169116036130fb57846130d388611e356001866137a1565b80546001600160e01b03929092166401000000000263ffffffff90921691909117905561314b565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b602001519250839150612d119050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612d11565b8280546131c190613627565b90600052602060002090601f0160209004810192826131e35760008555613229565b82601f106131fc57805160ff1916838001178555613229565b82800160010185558215613229579182015b8281111561322957825182559160200191906001019061320e565b5061235b9291505b8082111561235b5760008155600101613231565b6001600160e01b031981168114610c1757600080fd5b60006020828403121561326d57600080fd5b8135610eaa81613245565b60005b8381101561329357818101518382015260200161327b565b838111156114395750506000910152565b600081518084526132bc816020860160208601613278565b601f01601f19169290920160200192915050565b602081526000610eaa60208301846132a4565b6000602082840312156132f557600080fd5b5035919050565b80356001600160a01b038116811461331357600080fd5b919050565b6000806040838503121561332b57600080fd5b613334836132fc565b946020939093013593505050565b60006020828403121561335457600080fd5b610eaa826132fc565b60006020828403121561336f57600080fd5b81356001600160601b0381168114610eaa57600080fd5b60008060006060848603121561339b57600080fd5b6133a4846132fc565b92506133b2602085016132fc565b9150604084013590509250925092565b600080604083850312156133d557600080fd5b50508035926020909101359150565b600080604083850312156133f757600080fd5b82359150613407602084016132fc565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561344157613441613410565b604051601f8501601f19908116603f0116810190828211818310171561346957613469613410565b8160405280935085815286868601111561348257600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156134ae57600080fd5b813567ffffffffffffffff8111156134c557600080fd5b8201601f810184136134d657600080fd5b6119c184823560208401613426565b600080604083850312156134f857600080fd5b613501836132fc565b91506020830135801515811461351657600080fd5b809150509250929050565b6000806000806080858703121561353757600080fd5b613540856132fc565b935061354e602086016132fc565b925060408501359150606085013567ffffffffffffffff81111561357157600080fd5b8501601f8101871361358257600080fd5b61359187823560208401613426565b91505092959194509250565b60008060008060008060c087890312156135b657600080fd5b6135bf876132fc565b95506020870135945060408701359350606087013560ff811681146135e357600080fd5b9598949750929560808101359460a0909101359350915050565b6000806040838503121561361057600080fd5b613619836132fc565b9150613407602084016132fc565b600181811c9082168061363b57607f821691505b60208210810361225a57634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156136d8576136d86136a8565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261371057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000821982111561373e5761373e6136a8565b500190565b600060018201613755576137556136a8565b5060010190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6000828210156137b3576137b36136a8565b500390565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613842816017850160208801613278565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613873816028840160208801613278565b01602801949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906138b2908301846132a4565b9695505050505050565b6000602082840312156138ce57600080fd5b8151610eaa81613245565b634e487b7160e01b600052602160045260246000fd5b6000816138fe576138fe6136a8565b506000190190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220465b64b2cddbdef949a6e8d24d1752fffd66fe3fe1a5af27782abc488f57f74c64736f6c634300080d003354686520436f6d6d756e69747920436f6c6c656374696f6e3a2051312032303233