0 txs
0 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseTokenURI
viewfunction baseTokenURI() view returns (string)
explicitOwnershipOf
viewfunction explicitOwnershipOf(uint256 tokenId) view returns (tuple)
explicitOwnershipsOf
viewfunction explicitOwnershipsOf(uint256[] tokenIds) view returns (tuple[])
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isPublicSaleActive
viewfunction isPublicSaleActive() view returns (bool)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
metadataFrozen
viewfunction metadataFrozen() view returns (bool)
name
viewfunction name() view returns (string)
numberMinted
viewfunction numberMinted(address owner) view returns (uint256)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
paused
viewfunction paused() view returns (bool)
payoutAddresses
viewfunction payoutAddresses(uint256) view returns (address)
payoutAddressesFrozen
viewfunction payoutAddressesFrozen() view returns (bool)
payoutBasisPoints
viewfunction payoutBasisPoints(uint256) view returns (uint256)
publicMintsAllowedPerAddress
viewfunction publicMintsAllowedPerAddress() view returns (uint256)
publicMintsAllowedPerTransaction
viewfunction publicMintsAllowedPerTransaction() view returns (uint256)
publicPrice
viewfunction publicPrice() view returns (uint256)
royaltyAddress
viewfunction royaltyAddress() view returns (address)
royaltyFee
viewfunction royaltyFee() view returns (uint96)
royaltyInfo
viewfunction royaltyInfo(uint256 _tokenId, uint256 _salePrice) view returns (address, uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokensOfOwner
viewfunction tokensOfOwner(address owner) view returns (uint256[])
tokensOfOwnerIn
viewfunction tokensOfOwnerIn(address owner, uint256 start, uint256 stop) view returns (uint256[])
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
userExpires
viewfunction userExpires(uint256 tokenId) view returns (uint256)
userOf
viewfunction userOf(uint256 tokenId) view returns (address)
approve
nonpayablefunction approve(address to, uint256 tokenId)
freezeMetadata
nonpayablefunction freezeMetadata()
freezePayoutAddresses
nonpayablefunction freezePayoutAddresses()
gift
nonpayablefunction gift(address[] receivers, uint256[] mintNumber)
mint
payablefunction mint(uint256 numTokens) payable
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string _newBaseURI)
setPublicMintsAllowedPerAddress
nonpayablefunction setPublicMintsAllowedPerAddress(uint256 _mintsAllowed)
setPublicMintsAllowedPerTransaction
nonpayablefunction setPublicMintsAllowedPerTransaction(uint256 _mintsAllowed)
setPublicPrice
nonpayablefunction setPublicPrice(uint256 _publicPrice)
setPublicSaleState
nonpayablefunction setPublicSaleState(bool _saleActiveState)
setRoyaltyAddress
nonpayablefunction setRoyaltyAddress(address _royaltyAddress)
setRoyaltyFee
nonpayablefunction setRoyaltyFee(uint96 _feeNumerator)
setUser
nonpayablefunction setUser(uint256 tokenId, address user, uint64 expires)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updatePayoutAddressesAndBasisPoints
nonpayablefunction updatePayoutAddressesAndBasisPoints(address[] _payoutAddresses, uint256[] _payoutBasisPoints)
withdraw
nonpayablefunction withdraw()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ConsecutiveTransfer
event ConsecutiveTransfer(uint256 indexed fromTokenId, uint256 toTokenId, address indexed from, address indexed to)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Unpaused
event Unpaused(address account)
UpdateUser
event UpdateUser(uint256 indexed tokenId, address indexed user, uint64 expires)
errors
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
ApproveToCaller
error ApproveToCaller()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
InvalidQueryRange
error InvalidQueryRange()
MintERC2309QuantityExceedsLimit
error MintERC2309QuantityExceedsLimit()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
OwnershipNotInitializedForExtraData
error OwnershipNotInitializedForExtraData()
SetUserCallerNotOwnerNorApproved
error SetUserCallerNotOwnerNorApproved()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
URIQueryForNonexistentToken
error URIQueryForNonexistentToken()
creation bytecode
0x600d80546001600160a01b031916731ea565809cc3883548f2e5f7a429e0cc88fdd6fb90811790915560a060405260809081526200004290600e90600162000405565b50600f805462ffffff19169055604080516080810190915260438082526200373c60208301396010906200007790826200056f565b5060056011819055601255600060135560408051602081019091526127108152620000a79060149060016200046f565b50601580546001600160601b0319169055348015620000c557600080fd5b506040518060400160405280600c81526020016b2337b7ba10313c9020b737b760a11b815250604051806040016040528060078152602001661193d3d513919560ca1b81525081600290816200011c91906200056f565b5060036200012b82826200056f565b50506001600055506200013e33620002b2565b6009805460ff60a01b191690556001600a55600d5460155462000174916001600160a01b0316906001600160601b031662000304565b601454600e5414620001f35760405162461bcd60e51b815260206004820152603c60248201527f5041594f55545f4144445245535345535f414e445f5041594f55545f4241534960448201527f535f504f494e54535f4d5553545f42455f53414d455f4c454e4754480000000060648201526084015b60405180910390fd5b6000805b6014548110156200024757601481815481106200021857620002186200063b565b90600052602060002001548262000230919062000667565b9150806200023e8162000683565b915050620001f7565b508061271014620002ab5760405162461bcd60e51b815260206004820152602760248201527f544f54414c5f5041594f55545f42415349535f504f494e54535f4d5553545f426044820152660455f31303030360cc1b6064820152608401620001ea565b506200069f565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b0382161115620003745760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401620001ea565b6001600160a01b038216620003cc5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401620001ea565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b8280548282559060005260206000209081019282156200045d579160200282015b828111156200045d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000426565b506200046b929150620004b3565b5090565b8280548282559060005260206000209081019282156200045d579160200282015b828111156200045d578251829061ffff1690559160200191906001019062000490565b5b808211156200046b5760008155600101620004b4565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004f557607f821691505b6020821081036200051657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200056a57600081815260208120601f850160051c81016020861015620005455750805b601f850160051c820191505b81811015620005665782815560010162000551565b5050505b505050565b81516001600160401b038111156200058b576200058b620004ca565b620005a3816200059c8454620004e0565b846200051c565b602080601f831160018114620005db5760008415620005c25750858301515b600019600386901b1c1916600185901b17855562000566565b600085815260208120601f198616915b828110156200060c57888601518255948401946001909101908401620005eb565b50858210156200062b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156200067d576200067d62000651565b92915050565b60006001820162000698576200069862000651565b5060010190565b61308d80620006af6000396000f3fe6080604052600436106103355760003560e01c80638834e93b116101ab578063c23dc68f116100f7578063dc33e68111610095578063e985e9c51161006f578063e985e9c5146109a2578063f2fde38b146109eb578063f487077414610a0b578063fb3cc6c214610a2b57600080fd5b8063dc33e68114610942578063e030565e14610962578063e03aaae61461098257600080fd5b8063c872d0e8116100d1578063c872d0e8146108d8578063c87b56dd146108f8578063d111515d14610918578063d547cfb71461092d57600080fd5b8063c23dc68f14610857578063c2f1f14a14610884578063c6275255146108b857600080fd5b8063a0712d6811610164578063ad2f852a1161013e578063ad2f852a146107bf578063b88d4fde146107df578063b8997a97146107ff578063ba7529891461083757600080fd5b8063a0712d6814610776578063a22cb46514610789578063a945bf80146107a957600080fd5b80638834e93b146106b35780638da5cb5b146106d35780638fc88c48146106f15780639293a5c71461072157806395d89b411461074157806399a2557a1461075657600080fd5b80633f4ba83a116102855780636dd00f27116102235780637705f9b5116101fd5780637705f9b51461063b5780638456cb591461065b5780638462151c14610670578063858179ff1461069d57600080fd5b80636dd00f27146105f057806370a0823114610606578063715018a61461062657600080fd5b806355f804b31161025f57806355f804b3146105645780635bbb2177146105845780635c975abb146105b15780636352211e146105d057600080fd5b80633f4ba83a1461050f57806342842e0e146105245780634e00c6671461054457600080fd5b806318160ddd116102f25780632a55205a116102cc5780632a55205a1461048657806331faafb4146104c557806332cb6b0c146104e55780633ccfd60b146104fa57600080fd5b806318160ddd146104205780631e84c4131461044c57806323b872dd1461046657600080fd5b806301ffc9a71461033a57806304ff2d071461036f57806306d254da1461038657806306fdde03146103a6578063081812fc146103c8578063095ea7b314610400575b600080fd5b34801561034657600080fd5b5061035a610355366004612860565b610a4a565b60405190151581526020015b60405180910390f35b34801561037b57600080fd5b50610384610a79565b005b34801561039257600080fd5b506103846103a1366004612899565b610af2565b3480156103b257600080fd5b506103bb610b31565b6040516103669190612904565b3480156103d457600080fd5b506103e86103e3366004612917565b610bc3565b6040516001600160a01b039091168152602001610366565b34801561040c57600080fd5b5061038461041b366004612930565b610c07565b34801561042c57600080fd5b5061043e600154600054036000190190565b604051908152602001610366565b34801561045857600080fd5b50600f5461035a9060ff1681565b34801561047257600080fd5b5061038461048136600461295a565b610ca7565b34801561049257600080fd5b506104a66104a1366004612996565b610e4d565b604080516001600160a01b039093168352602083019190915201610366565b3480156104d157600080fd5b506103846104e03660046129b8565b610efb565b3480156104f157600080fd5b5061043e606481565b34801561050657600080fd5b50610384610f3e565b34801561051b57600080fd5b5061038461109d565b34801561053057600080fd5b5061038461053f36600461295a565b6110af565b34801561055057600080fd5b5061038461055f366004612917565b6110cf565b34801561057057600080fd5b5061038461057f3660046129e1565b6110dc565b34801561059057600080fd5b506105a461059f366004612a96565b611149565b6040516103669190612b13565b3480156105bd57600080fd5b50600954600160a01b900460ff1661035a565b3480156105dc57600080fd5b506103e86105eb366004612917565b611214565b3480156105fc57600080fd5b5061043e60115481565b34801561061257600080fd5b5061043e610621366004612899565b61121f565b34801561063257600080fd5b5061038461126d565b34801561064757600080fd5b50610384610656366004612b55565b61127f565b34801561066757600080fd5b506103846113f4565b34801561067c57600080fd5b5061069061068b366004612899565b611404565b6040516103669190612bc0565b3480156106a957600080fd5b5061043e60125481565b3480156106bf57600080fd5b5061043e6106ce366004612917565b61150c565b3480156106df57600080fd5b506009546001600160a01b03166103e8565b3480156106fd57600080fd5b5061043e61070c366004612917565b60009081526008602052604090205460a01c90565b34801561072d57600080fd5b5061038461073c366004612c08565b61152d565b34801561074d57600080fd5b506103bb6115a2565b34801561076257600080fd5b50610690610771366004612c23565b6115b1565b610384610784366004612917565b611738565b34801561079557600080fd5b506103846107a4366004612c56565b6119e1565b3480156107b557600080fd5b5061043e60135481565b3480156107cb57600080fd5b50600d546103e8906001600160a01b031681565b3480156107eb57600080fd5b506103846107fa366004612c9f565b611a76565b34801561080b57600080fd5b5060155461081f906001600160601b031681565b6040516001600160601b039091168152602001610366565b34801561084357600080fd5b50600f5461035a9062010000900460ff1681565b34801561086357600080fd5b50610877610872366004612917565b611ac0565b6040516103669190612d7a565b34801561089057600080fd5b506103e861089f366004612917565b6000908152600860205260409020544260a01b81110290565b3480156108c457600080fd5b506103846108d3366004612917565b611b48565b3480156108e457600080fd5b506103846108f3366004612b55565b611b55565b34801561090457600080fd5b506103bb610913366004612917565b611cb4565b34801561092457600080fd5b50610384611d37565b34801561093957600080fd5b506103bb611da8565b34801561094e57600080fd5b5061043e61095d366004612899565b611e36565b34801561096e57600080fd5b5061038461097d366004612d88565b611e60565b34801561098e57600080fd5b5061038461099d366004612917565b611f30565b3480156109ae57600080fd5b5061035a6109bd366004612dd4565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156109f757600080fd5b50610384610a06366004612899565b611f3d565b348015610a1757600080fd5b506103e8610a26366004612917565b611fb3565b348015610a3757600080fd5b50600f5461035a90610100900460ff1681565b6000610a5582611fdd565b80610a645750610a648261202b565b80610a735750610a7382612060565b92915050565b610a81612088565b600f5462010000900460ff1615610adf5760405162461bcd60e51b815260206004820152601f60248201527f5041594f55545f4144445245535345535f414c52454144595f46524f5a454e0060448201526064015b60405180910390fd5b600f805462ff0000191662010000179055565b610afa612088565b600d80546001600160a01b0319166001600160a01b038316908117909155601554610b2e91906001600160601b03166120e2565b50565b606060028054610b4090612dfe565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6c90612dfe565b8015610bb95780601f10610b8e57610100808354040283529160200191610bb9565b820191906000526020600020905b815481529060010190602001808311610b9c57829003601f168201915b5050505050905090565b6000610bce826121df565b610beb576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6000610c1282611214565b9050336001600160a01b03821614610c4b57610c2e81336109bd565b610c4b576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610cb282612214565b9050836001600160a01b0316816001600160a01b031614610ce55760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b03881690911417610d3257610d1586336109bd565b610d3257604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038516610d5957604051633a954ecd60e21b815260040160405180910390fd5b610d668686866001612283565b8015610d7157600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003610e0357600184016000818152600460205260408120549003610e01576000548114610e015760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b6000828152600c602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610ec2575060408051808201909152600b546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610ee1906001600160601b031687612e4e565b610eeb9190612e65565b91519350909150505b9250929050565b610f03612088565b601580546bffffffffffffffffffffffff19166001600160601b038316908117909155600d54610b2e916001600160a01b03909116906120e2565b6002600a5403610f905760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ad6565b6002600a55610f9d612088565b60004711610fed5760405162461bcd60e51b815260206004820152601760248201527f434f4e54524143545f4841535f4e4f5f42414c414e43450000000000000000006044820152606401610ad6565b4760005b600e5481101561109457600e818154811061100e5761100e612e87565b600091825260209091200154601480546001600160a01b03909216916108fc91612710918590811061104257611042612e87565b9060005260206000200154856110589190612e4e565b6110629190612e65565b6040518115909202916000818181858888f1935050505061108257600080fd5b8061108c81612e9d565b915050610ff1565b50506001600a55565b6110a5612088565b6110ad612290565b565b6110ca83838360405180602001604052806000815250611a76565b505050565b6110d7612088565b601155565b6110e4612088565b600f54610100900460ff161561113c5760405162461bcd60e51b815260206004820152601860248201527f4d455441444154415f4841535f4245454e5f46524f5a454e00000000000000006044820152606401610ad6565b60106110ca828483612efc565b6060816000816001600160401b0381111561116657611166612c89565b6040519080825280602002602001820160405280156111b857816020015b6040805160808101825260008082526020808301829052928201819052606082015282526000199092019101816111845790505b50905060005b82811461120b576111e68686838181106111da576111da612e87565b90506020020135611ac0565b8282815181106111f8576111f8612e87565b60209081029190910101526001016111be565b50949350505050565b6000610a7382612214565b60006001600160a01b038216611248576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b611275612088565b6110ad60006122e5565b611287612088565b8281146112ed5760405162461bcd60e51b815260206004820152602e60248201527f5245434549564552535f414e445f4d494e545f4e554d424552535f4d5553545f60448201526d0848abea6829a8abe988a9c8ea8960931b6064820152608401610ad6565b6000805b828110156113315783838281811061130b5761130b612e87565b905060200201358261131d9190612fbb565b91508061132981612e9d565b9150506112f1565b50606481611346600154600054036000190190565b6113509190612fbb565b111561138f5760405162461bcd60e51b815260206004820152600e60248201526d4d494e545f544f4f5f4c4152474560901b6044820152606401610ad6565b60005b84811015610e45576113e28686838181106113af576113af612e87565b90506020020160208101906113c49190612899565b8585848181106113d6576113d6612e87565b90506020020135612337565b806113ec81612e9d565b915050611392565b6113fc612088565b6110ad612355565b606060008060006114148561121f565b90506000816001600160401b0381111561143057611430612c89565b604051908082528060200260200182016040528015611459578160200160208202803683370190505b50905061148660408051608081018252600080825260208201819052918101829052606081019190915290565b60015b8386146115005761149981612398565b915081604001516114f85781516001600160a01b0316156114b957815194505b876001600160a01b0316856001600160a01b0316036114f857808387806001019850815181106114eb576114eb612e87565b6020026020010181815250505b600101611489565b50909695505050505050565b6014818154811061151c57600080fd5b600091825260209091200154905081565b611535612088565b600f5481151560ff90911615150361158f5760405162461bcd60e51b815260206004820181905260248201527f4e45575f53544154455f4944454e544943414c5f544f5f4f4c445f53544154456044820152606401610ad6565b600f805460ff1916911515919091179055565b606060038054610b4090612dfe565b60608183106115d357604051631960ccad60e11b815260040160405180910390fd5b6000806115df60005490565b905060018510156115ef57600194505b808411156115fb578093505b60006116068761121f565b905084861015611625578585038181101561161f578091505b50611629565b5060005b6000816001600160401b0381111561164357611643612c89565b60405190808252806020026020018201604052801561166c578160200160208202803683370190505b5090508160000361168257935061173192505050565b600061168d88611ac0565b90506000816040015161169e575080515b885b8881141580156116b05750848714155b15611725576116be81612398565b9250826040015161171d5782516001600160a01b0316156116de57825191505b8a6001600160a01b0316826001600160a01b03160361171d578084888060010199508151811061171057611710612e87565b6020026020010181815250505b6001016116a0565b50505092835250909150505b9392505050565b6002600a540361178a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ad6565b6002600a553233146117e85760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f742063616c6c2066726f6d20636f6e7472616374206164647265736044820152607360f81b6064820152608401610ad6565b600f5460ff1661183a5760405162461bcd60e51b815260206004820152601960248201527f5055424c49435f53414c455f49535f4e4f545f414354495645000000000000006044820152606401610ad6565b60125481111561188c5760405162461bcd60e51b815260206004820152601960248201527f4d41585f4d494e54535f5045525f54585f4558434545444544000000000000006044820152606401610ad6565b60115433600090815260056020526040908190205483911c6001600160401b03166118b79190612fbb565b11156118fa5760405162461bcd60e51b815260206004820152601260248201527113505617d352539514d7d15610d15151115160721b6044820152606401610ad6565b60648161190e600154600054036000190190565b6119189190612fbb565b111561195c5760405162461bcd60e51b815260206004820152601360248201527213505617d4d55414131657d15610d151511151606a1b6044820152606401610ad6565b8060135461196a9190612e4e565b34146119ac5760405162461bcd60e51b81526020600482015260116024820152701410565351539517d25390d3d4949150d5607a1b6044820152606401610ad6565b6119b63382612337565b60646119c9600154600054036000190190565b106119d957600f805460ff191690555b506001600a55565b336001600160a01b03831603611a0a5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611a81848484610ca7565b6001600160a01b0383163b15611aba57611a9d848484846123d4565b611aba576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6040805160808101825260008082526020820181905291810182905260608101919091526040805160808101825260008082526020820181905291810182905260608101919091526001831080611b1957506000548310155b15611b245792915050565b611b2d83612398565b9050806040015115611b3f5792915050565b611731836124bf565b611b50612088565b601355565b611b5d612088565b600f5462010000900460ff1615611bb65760405162461bcd60e51b815260206004820152601760248201527f5041594f55545f4144445245535345535f46524f5a454e0000000000000000006044820152606401610ad6565b828114611c055760405162461bcd60e51b815260206004820152601860248201527f41525241595f4c454e475448535f4d5553545f4d4154434800000000000000006044820152606401610ad6565b6000805b82811015611c4957838382818110611c2357611c23612e87565b9050602002013582611c359190612fbb565b915080611c4181612e9d565b915050611c09565b508061271014611c9b5760405162461bcd60e51b815260206004820181905260248201527f544f54414c5f42415349535f504f494e54535f4d5553545f42455f31303030306044820152606401610ad6565b611ca7600e8686612797565b50610e45601484846127fa565b6060611cbf826121df565b611cdc57604051630a14c4b560e41b815260040160405180910390fd5b6000611ce66124f4565b90508051600003611d065760405180602001604052806000815250611731565b80611d1084612503565b604051602001611d21929190612fce565b6040516020818303038152906040529392505050565b611d3f612088565b600f54610100900460ff1615611d975760405162461bcd60e51b815260206004820181905260248201527f4d455441444154415f4841535f414c52454144595f4245454e5f46524f5a454e6044820152606401610ad6565b600f805461ff001916610100179055565b60108054611db590612dfe565b80601f0160208091040260200160405190810160405280929190818152602001828054611de190612dfe565b8015611e2e5780601f10611e0357610100808354040283529160200191611e2e565b820191906000526020600020905b815481529060010190602001808311611e1157829003601f168201915b505050505081565b6001600160a01b038116600090815260056020526040808220546001600160401b03911c16610a73565b6000611e6b84611214565b9050336001600160a01b03821614611ebc57611e8781336109bd565b611ebc5733611e9585610bc3565b6001600160a01b031614611ebc576040516309e3bb1d60e31b815260040160405180910390fd5b6000848152600860209081526040918290206001600160a01b03861660a086901b67ffffffffffffffff60a01b16811790915591516001600160401b038516815286917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe910160405180910390a350505050565b611f38612088565b601255565b611f45612088565b6001600160a01b038116611faa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad6565b610b2e816122e5565b600e8181548110611fc357600080fd5b6000918252602090912001546001600160a01b0316905081565b60006301ffc9a760e01b6001600160e01b03198316148061200e57506380ac58cd60e01b6001600160e01b03198316145b80610a735750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b0319821663152a902d60e11b1480610a7357506301ffc9a760e01b6001600160e01b0319831614610a73565b600061206b82611fdd565b80610a735750506001600160e01b031916632b424ad760e21b1490565b6009546001600160a01b031633146110ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ad6565b6127106001600160601b03821611156121505760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610ad6565b6001600160a01b0382166121a65760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610ad6565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b6000816001111580156121f3575060005482105b8015610a73575050600090815260046020526040902054600160e01b161590565b6000818060011161226a5760005481101561226a5760008181526004602052604081205490600160e01b82169003612268575b80600003611731575060001901600081815260046020526040902054612247565b505b604051636f96cda160e11b815260040160405180910390fd5b61228b61253b565b611aba565b612298612588565b6009805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6123518282604051806020016040528060008152506125d8565b5050565b61235d61253b565b6009805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122c83390565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260046020526040902054610a7390612645565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290612409903390899088908890600401612ffd565b6020604051808303816000875af1925050508015612444575060408051601f3d908101601f191682019092526124419181019061303a565b60015b6124a2573d808015612472576040519150601f19603f3d011682016040523d82523d6000602084013e612477565b606091505b50805160000361249a576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b604080516080810182526000808252602082018190529181018290526060810191909152610a736124ef83612214565b612645565b606060108054610b4090612dfe565b604080516080019081905280825b600183039250600a81066030018353600a9004806125115750819003601f19909101908152919050565b600954600160a01b900460ff16156110ad5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610ad6565b600954600160a01b900460ff166110ad5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610ad6565b6125e2838361268c565b6001600160a01b0383163b156110ca576000548281035b61260c60008683806001019450866123d4565b612629576040516368d2bf6b60e11b815260040160405180910390fd5b8181106125f957816000541461263e57600080fd5b5050505050565b604080516080810182526001600160a01b038316815260a083901c6001600160401b03166020820152600160e01b831615159181019190915260e89190911c606082015290565b60008054908290036126b15760405163b562e8dd60e01b815260040160405180910390fd5b6126be6000848385612283565b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461276d57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101612735565b508160000361278e57604051622e076360e81b815260040160405180910390fd5b60005550505050565b8280548282559060005260206000209081019282156127ea579160200282015b828111156127ea5781546001600160a01b0319166001600160a01b038435161782556020909201916001909101906127b7565b506127f6929150612835565b5090565b8280548282559060005260206000209081019282156127ea579160200282015b828111156127ea57823582559160200191906001019061281a565b5b808211156127f65760008155600101612836565b6001600160e01b031981168114610b2e57600080fd5b60006020828403121561287257600080fd5b81356117318161284a565b80356001600160a01b038116811461289457600080fd5b919050565b6000602082840312156128ab57600080fd5b6117318261287d565b60005b838110156128cf5781810151838201526020016128b7565b50506000910152565b600081518084526128f08160208601602086016128b4565b601f01601f19169290920160200192915050565b60208152600061173160208301846128d8565b60006020828403121561292957600080fd5b5035919050565b6000806040838503121561294357600080fd5b61294c8361287d565b946020939093013593505050565b60008060006060848603121561296f57600080fd5b6129788461287d565b92506129866020850161287d565b9150604084013590509250925092565b600080604083850312156129a957600080fd5b50508035926020909101359150565b6000602082840312156129ca57600080fd5b81356001600160601b038116811461173157600080fd5b600080602083850312156129f457600080fd5b82356001600160401b0380821115612a0b57600080fd5b818501915085601f830112612a1f57600080fd5b813581811115612a2e57600080fd5b866020828501011115612a4057600080fd5b60209290920196919550909350505050565b60008083601f840112612a6457600080fd5b5081356001600160401b03811115612a7b57600080fd5b6020830191508360208260051b8501011115610ef457600080fd5b60008060208385031215612aa957600080fd5b82356001600160401b03811115612abf57600080fd5b612acb85828601612a52565b90969095509350505050565b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b8181101561150057612b42838551612ad7565b9284019260809290920191600101612b2f565b60008060008060408587031215612b6b57600080fd5b84356001600160401b0380821115612b8257600080fd5b612b8e88838901612a52565b90965094506020870135915080821115612ba757600080fd5b50612bb487828801612a52565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b8181101561150057835183529284019291840191600101612bdc565b8035801515811461289457600080fd5b600060208284031215612c1a57600080fd5b61173182612bf8565b600080600060608486031215612c3857600080fd5b612c418461287d565b95602085013595506040909401359392505050565b60008060408385031215612c6957600080fd5b612c728361287d565b9150612c8060208401612bf8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612cb557600080fd5b612cbe8561287d565b9350612ccc6020860161287d565b92506040850135915060608501356001600160401b0380821115612cef57600080fd5b818701915087601f830112612d0357600080fd5b813581811115612d1557612d15612c89565b604051601f8201601f19908116603f01168101908382118183101715612d3d57612d3d612c89565b816040528281528a6020848701011115612d5657600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60808101610a738284612ad7565b600080600060608486031215612d9d57600080fd5b83359250612dad6020850161287d565b915060408401356001600160401b0381168114612dc957600080fd5b809150509250925092565b60008060408385031215612de757600080fd5b612df08361287d565b9150612c806020840161287d565b600181811c90821680612e1257607f821691505b602082108103612e3257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a7357610a73612e38565b600082612e8257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201612eaf57612eaf612e38565b5060010190565b601f8211156110ca57600081815260208120601f850160051c81016020861015612edd5750805b601f850160051c820191505b81811015610e4557828155600101612ee9565b6001600160401b03831115612f1357612f13612c89565b612f2783612f218354612dfe565b83612eb6565b6000601f841160018114612f5b5760008515612f435750838201355b600019600387901b1c1916600186901b17835561263e565b600083815260209020601f19861690835b82811015612f8c5786850135825560209485019460019092019101612f6c565b5086821015612fa95760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b80820180821115610a7357610a73612e38565b60008351612fe08184602088016128b4565b835190830190612ff48183602088016128b4565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613030908301846128d8565b9695505050505050565b60006020828403121561304c57600080fd5b81516117318161284a56fea26469706673582212205f24477bfb94fcf18688b5f56f8fd8f41bc017d199d4f20c76ab12acf34a127964736f6c63430008110033697066733a2f2f6261667962656967716b7735346e696a6161777866756232776e62636e62673579326978377069747834726b7671657265746163616d633263376d2f