0 txs
39 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
contractURI
viewfunction contractURI() view returns (string)
exists
viewfunction exists(uint256 id) view returns (bool)
getMinters
viewfunction getMinters() view returns (address[])
getTokenDetails
viewfunction getTokenDetails(uint256 tokenId) view returns (tuple)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
isMinter
viewfunction isMinter(address minter) view returns (bool)
isTokenMintable
viewfunction isTokenMintable(uint256 tokenId) view returns (bool)
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenDetails
viewfunction tokenDetails(uint256) view returns (uint248 maxSupply, bool exists, string overridingTokenUri)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupply
viewfunction totalSupply(uint256 id) view returns (uint256)
uri
viewfunction uri(uint256 tokenId) view returns (string)
addMinter
nonpayablefunction addMinter(address minter)
burn
nonpayablefunction burn(address account, uint256 id, uint256 value)
burnBatch
nonpayablefunction burnBatch(address account, uint256[] ids, uint256[] values)
create
nonpayablefunction create(uint256 tokenId, uint248 maxSupply, string metadataUri)
createWithFixedPriceSale
nonpayablefunction createWithFixedPriceSale(uint256 tokenId, uint248 maxSupply, string metadataUri, tuple sale, address sftMintManager)
initialize
nonpayablefunction initialize(string uri_, address initialOwner, address initialMinter, string contractURI_)
mint
nonpayablefunction mint(address to, uint256 id, uint256 amount, bytes data)
mintBatch
nonpayablefunction mintBatch(address to, uint256[] ids, uint256[] amounts, bytes data)
removeMinter
nonpayablefunction removeMinter(address minter)
renounceOwnership
nonpayablefunction renounceOwnership()
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] values, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setContractURI
nonpayablefunction setContractURI(string newContractURI)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMaxSupply
nonpayablefunction updateMaxSupply(uint256 tokenId, uint248 newMaxSupply)
updateTokenDetails
nonpayablefunction updateTokenDetails(uint256 tokenId, uint248 newMaxSupply, string newTokenURI)
updateTokenURI
nonpayablefunction updateTokenURI(uint256 tokenId, string newTokenURI)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Initialized
event Initialized(uint64 version)
MinterAdded
event MinterAdded(address indexed minter)
MinterRemoved
event MinterRemoved(address indexed minter)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokenCreated
event TokenCreated(uint256 indexed tokenId, uint256 maxSupply)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
URI
event URI(string value, uint256 indexed id)
errors
ERC1155InsufficientBalance
error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId)
ERC1155InvalidApprover
error ERC1155InvalidApprover(address approver)
ERC1155InvalidArrayLength
error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength)
ERC1155InvalidOperator
error ERC1155InvalidOperator(address operator)
ERC1155InvalidReceiver
error ERC1155InvalidReceiver(address receiver)
ERC1155InvalidSender
error ERC1155InvalidSender(address sender)
ERC1155MissingApprovalForAll
error ERC1155MissingApprovalForAll(address operator, address owner)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x6080806040523460d2577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c1660c1576002600160401b03196001600160401b03821601605c575b604051612fd990816100d88239f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880604d565b63f92ee8a960e01b60005260046000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8062fdd58e1461022657806301ffc9a714610221578063077ddf981461021c5780630e89341c1461021757806318160ddd1461021257806318e97fd11461020d5780631f7fdffa146102085780632eb2c2d6146102035780633092afd5146101fe5780634e1273f4146101f95780634f558e79146101f4578063516bad81146101ef57806354aa3ea1146101ea5780636b20c454146101e55780636b32810b146101e05780636c43f183146101db578063715018a6146101d6578063731133e9146101d15780638da5cb5b146101cc578063938e3d7b146101c7578063983b2d56146101c2578063a22cb465146101bd578063aa271e1a146101b8578063ab03657c146101b3578063bd85b039146101ae578063c1e03728146101a9578063d6e7045d146101a4578063e8a3d4851461019f578063e985e9c51461019a578063f242432a14610195578063f2fde38b14610190578063f5298aca1461018b5763fc314e311461018657600080fd5b611826565b611780565b611757565b611688565b61164b565b611575565b6112d5565b611256565b6111e1565b6110b8565b61107e565b610fd0565b610f98565b610e7f565b610e49565b610d6a565b610d00565b610cc0565b610c3d565b610b2b565b610ae4565b610aad565b610a72565b6109b3565b6108d2565b610848565b6106b9565b610512565b6104e7565b6104a5565b61042c565b61031f565b6102b3565b600435906001600160a01b038216820361024157565b600080fd5b602435906001600160a01b038216820361024157565b61010435906001600160a01b038216820361024157565b606435906001600160a01b038216820361024157565b604435906001600160a01b038216820361024157565b35906001600160a01b038216820361024157565b346102415760403660031901126102415760206103046102d161022b565b602435600052600080516020612f04833981519152835260406000209060018060a01b0316600052602052604060002090565b54604051908152f35b6001600160e01b031981160361024157565b3461024157602036600319011261024157602060043561033e8161030d565b63ffffffff60e01b16636cdb3d1360e11b811490811561037c575b811561036b575b506040519015158152f35b6301ffc9a760e01b14905038610360565b6303a24d0760e21b81149150610359565b602435906001600160f81b038216820361024157565b60c435906001600160f81b038216820361024157565b9181601f84011215610241578235916001600160401b038311610241576020838186019501011161024157565b606060031982011261024157600435916024356001600160f81b03811681036102415791604435906001600160401b03821161024157610428916004016103b9565b9091565b346102415761044e61043d366103e6565b92610449929192612096565b6121f3565b005b919082519283825260005b84811061047c575050826000602080949584010152601f8019910116010190565b8060208092840101518282860101520161045b565b9060206104a2928181520190610450565b90565b34610241576020366003190112610241576104d86104c46004356118f7565b604051918291602083526020830190610450565b0390f35b600091031261024157565b34610241576000366003190112610241576020600080516020612f4483398151915254604051908152f35b34610241576040366003190112610241576024356004356001600160401b0382116102415761054861044e9236906004016103b9565b91610551612096565b80600052600360205261056b60406000205460f81c611a1d565b6122de565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176105a157604052565b610570565b90601f801991011681019081106001600160401b038211176105a157604052565b604051906105d66060836105a6565b565b6001600160401b0381116105a15760051b60200190565b9080601f83011215610241578135610606816105d8565b9261061460405194856105a6565b81845260208085019260051b82010192831161024157602001905b82821061063c5750505090565b813581526020918201910161062f565b6001600160401b0381116105a157601f01601f191660200190565b9291926106738261064c565b9161068160405193846105a6565b829481845281830111610241578281602093846000960137010152565b9080601f83011215610241578160206104a293359101610667565b34610241576080366003190112610241576106d261022b565b6024356001600160401b038111610241576106f19036906004016105ef565b906044356001600160401b038111610241576107119036906004016105ef565b6064356001600160401b0381116102415761073090369060040161069e565b61074f61074a336000526002602052604060002054151590565b611a60565b60005b845181101561083c578061078861078361076e60019489611abb565b51600052600360205260406000205460f81c90565b611ad4565b6107c56107b96107ac61079b848a611abb565b516000526003602052604060002090565b546001600160f81b031690565b6001600160f81b031690565b1580156107dc575b6107d690611b3d565b01610752565b506107d661082061080f6107f0848a611abb565b51600052600080516020612f2483398151915260205260406000205490565b6108198488611abb565b5190611b2b565b6108336107b96107ac61079b868c611abb565b101590506107cd565b50919261044e936123b2565b346102415760a03660031901126102415761086161022b565b610869610246565b906044356001600160401b038111610241576108899036906004016105ef565b6064356001600160401b038111610241576108a89036906004016105ef565b90608435936001600160401b038511610241576108cc61044e95369060040161069e565b93611b7e565b34610241576020366003190112610241576108eb61022b565b6108f3612096565b6001600160a01b03166109058161290f565b15610931577fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692600080a2005b60405162461bcd60e51b8152602060048201526015602482015274135a5b9d195c88191bd95cc81b9bdd08195e1a5cdd605a1b6044820152606490fd5b906020808351928381520192019060005b81811061098c5750505090565b825184526020938401939092019160010161097f565b9060206104a292818152019061096e565b34610241576040366003190112610241576004356001600160401b0381116102415736602382011215610241578060040135906109ef826105d8565b916109fd60405193846105a6565b8083526024602084019160051b8301019136831161024157602401905b828210610a5a57836024356001600160401b038111610241576104d891610a48610a4e9236906004016105ef565b90611bcf565b604051918291826109a2565b60208091610a678461029f565b815201910190610a1a565b3461024157602036600319011261024157600435600052600080516020612f2483398151915260205260206040600020541515604051908152f35b34610241576020366003190112610241576020610ada600435600052600360205260406000205460f81c90565b6040519015158152f35b346102415760403660031901126102415761044e600435610b0361038d565b90610b0c612096565b806000526003602052610b2660406000205460f81c611a1d565b61247a565b3461024157606036600319011261024157610b4461022b565b6024356001600160401b03811161024157610b639036906004016105ef565b906044356001600160401b03811161024157610b839036906004016105ef565b6001600160a01b0382163381141580610be9575b610bd15715610bbc5761044e9260405192610bb36020856105a6565b60008452612695565b626a0d4560e21b600052600060045260246000fd5b63711bec9160e11b6000523360045260245260446000fd5b50610bf4338461200c565b15610b97565b602060408183019282815284518094520192019060005b818110610c1e5750505090565b82516001600160a01b0316845260209384019390920191600101610c11565b346102415760003660031901126102415760405180602060015491828152019060016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69060005b818110610caa576104d885610c9e818703826105a6565b60405191829182610bfa565b8254845260209093019260019283019201610c87565b346102415761044e61056b610cd4366103e6565b93909291610ce0612096565b826000526003602052610cfa60406000205460f81c611a1d565b8261247a565b3461024157600036600319011261024157610d19612096565b600080516020612ee483398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461024157608036600319011261024157610d8361022b565b606435906044356024356001600160401b03841161024157610dac61044e94369060040161069e565b92610dc761074a336000526002602052604060002054151590565b816000526003602052610de160406000205460f81c611ad4565b6000828152600360205260409020546001600160f81b0316158015610e0f575b610e0a90611b3d565b612545565b50610e0a610e2684610e2085611809565b54611b2b565b610e406107b96107ac866000526003602052604060002090565b10159050610e01565b3461024157600036600319011261024157600080516020612ee4833981519152546040516001600160a01b039091168152602090f35b34610241576020366003190112610241576004356001600160401b03811161024157610eaf90369060040161069e565b610eb7612096565b80516001600160401b0381116105a157610edb81610ed6600054611499565b611c85565b602091601f8211600114610f1b57610f0b9260009183610f10575b50508160011b916000199060031b1c19161790565b600055005b015190503880610ef6565b60008052601f198216927f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639160005b858110610f8057508360019510610f67575b505050811b01600055005b015160001960f88460031b161c19169055388080610f5c565b91926020600181928685015181550194019201610f4a565b346102415760203660031901126102415761044e610fb461022b565b610fbc612096565b6125c2565b60e43590811515820361024157565b3461024157604036600319011261024157610fe961022b565b6024358015158103610241576001600160a01b0382169182156110695761102a9061101333611885565b9060018060a01b0316600052602052604060002090565b9015159060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b62ced3e160e81b600052600060045260246000fd5b34610241576020366003190112610241576020610ada6001600160a01b036110a461022b565b166000526002602052604060002054151590565b3461024157610120366003190112610241576004356110d561038d565b6044356001600160401b038111610241576110f49036906004016103b9565b60a03660631901126102415761111b9161110c61025c565b93611115612096565b856121f3565b6001600160a01b031690813b156102415760405163297adcc360e01b8152306004820152602481019190915290600090829060e490829084906001600160a01b03611164610273565b16604484015265ffffffffffff611179611e64565b16606484015265ffffffffffff61118e611e79565b1660848401526001600160f81b036111a46103a3565b1660a48401526111b2610fc1565b151560c48401525af180156111dc576111c757005b806111d6600061044e936105a6565b806104dc565b611e8e565b34610241576020366003190112610241576020611218600435600052600080516020612f2483398151915260205260406000205490565b604051908152f35b608060406104a2936020845260018060f81b03815116602085015260208101511515828501520151916060808201520190610450565b346102415760203660031901126102415760043560606040805161127981610586565b6000815260006020820152015260005260036020526104d860406000206112c46001604051926112a884610586565b8054828060f81b038116855260f81c15156020850152016114d3565b604082015260405191829182611220565b34610241576080366003190112610241576004356001600160401b0381116102415761130590369060040161069e565b61130d610246565b90611316610289565b6064356001600160401b0381116102415761133590369060040161069e565b90600080516020612f6483398151915254936001600160401b036113746113676113638860ff9060401c1690565b1590565b966001600160401b031690565b1680159081611491575b6001149081611487575b15908161147e575b5061146d576113d593856113cc60016001600160401b0319600080516020612f64833981519152541617600080516020612f6483398151915255565b61143657611e9a565b6113db57005b61140760ff60401b19600080516020612f648339815191525416600080516020612f6483398151915255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b611468600160401b60ff60401b19600080516020612f64833981519152541617600080516020612f6483398151915255565b611e9a565b63f92ee8a960e01b60005260046000fd5b90501538611390565b303b159150611388565b86915061137e565b90600182811c921680156114c9575b60208310146114b357565b634e487b7160e01b600052602260045260246000fd5b91607f16916114a8565b90604051918260008254926114e784611499565b8084529360018116908115611553575060011461150c575b506105d6925003836105a6565b90506000929192526020600020906000915b8183106115375750509060206105d692820101386114ff565b602091935080600191548385890101520191019091849261151e565b9050602092506105d694915060ff191682840152151560051b820101386114ff565b34610241576000366003190112610241576040516000805461159681611499565b808452906001811690811561162757506001146115ca575b6104d8836115be818503826105a6565b60405191829182610491565b60008080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b80821061160d575090915081016020016115be6115ae565b9192600181602092548385880101520191019092916115f5565b60ff191660208086019190915291151560051b840190910191506115be90506115ae565b3461024157604036600319011261024157602060ff61167c61166b61022b565b611013611676610246565b91611885565b54166040519015158152f35b346102415760a0366003190112610241576116a161022b565b6116a9610246565b60443590606435926084356001600160401b038111610241576116d090369060040161069e565b926001600160a01b0382163381141580611746575b610bd1576001600160a01b038416156117305715610bbc5761044e9461172860405192600184526020840152604083019160018352606084015260808301604052565b929091612773565b632bfa23e760e11b600052600060045260246000fd5b50611751338461200c565b156116e5565b346102415760203660031901126102415761044e61177361022b565b61177b612096565b612020565b346102415760603660031901126102415761179961022b565b604435906024356001600160a01b03821633811415806117f8575b610bd15715610bbc5761044e926117e860405192600184526020840152604083019160018352606084015260808301604052565b9060405192610bb36020856105a6565b50611803338461200c565b156117b4565b600052600080516020612f24833981519152602052604060002090565b3461024157602036600319011261024157600435600052600360205260406000206118556001825492016114d3565b906104d860405192839260018060f81b038116845260f81c15156020840152606060408401526060830190610450565b6001600160a01b031660009081527f88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c45016020526040902090565b6118f391600052600080516020612f0483398151915260205260406000209060018060a01b0316600052602052604060002090565b5490565b80600052600360205260406000205460f81c806119fb575b6119e35750604051600080516020612f848339815191525481600061193383611499565b80835292600181169081156119c45750600114611957575b6104a2925003826105a6565b50600080516020612f84833981519152600090815290917ff429cb5e2ec84cbb765e76b31964a56ccde03e7a6122d6cc4afb19edc55edeed5b8183106119a85750509060206104a29282010161194b565b6020919350806001915483858801015201910190918392611990565b602092506104a294915060ff191682840152151560051b82010161194b565b60005260036020526104a260016040600020016114d3565b50806000526003602052611a16600160406000200154611499565b151561190f565b15611a2457565b60405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b15611a6757565b60405162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba10309036b4b73a32b960511b6044820152606490fd5b634e487b7160e01b600052603260045260246000fd5b8051821015611acf5760209160051b010190565b611aa5565b15611adb57565b60405162461bcd60e51b8152602060048201526012602482015271546f6b656e206e6f74206d696e7461626c6560701b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b91908201809211611b3857565b611b15565b15611b4457565b60405162461bcd60e51b815260206004820152601260248201527145786365656473206d617820737570706c7960701b6044820152606490fd5b939291906001600160a01b0385163381141580611bb7575b610bd1576001600160a01b038216156117305715610bbc576105d694612773565b5060ff611bc73361101389611885565b541615611b96565b91909180518351808203611c50575050805190611beb826105d8565b91611bf960405193846105a6565b808352611c08601f19916105d8565b0136602084013760005b8151811015611c495780611c3860019260051b60208082870101519189010151906118be565b611c428286611abb565b5201611c12565b5090925050565b635b05999160e01b60005260045260245260446000fd5b91611c819183549060031b91821b91600019901b19161790565b9055565b601f8111611c91575050565b600080526020600020906020601f840160051c83019310611ccd575b601f0160051c01905b818110611cc1575050565b60008155600101611cb6565b9091508190611cad565b601f8111611ce3575050565b600080516020612f848339815191526000526020600020906020601f840160051c83019310611d2d575b601f0160051c01905b818110611d21575050565b60008155600101611d16565b9091508190611d0d565b601f8211611d4457505050565b6000526020600020906020601f840160051c83019310611d7f575b601f0160051c01905b818110611d73575050565b60008155600101611d68565b9091508190611d5f565b9081516001600160401b0381116105a157611db081611da9600054611499565b6000611d37565b602092601f8211600114611de657611de192938291600092610f105750508160011b916000199060031b1c19161790565b600055565b60008052601f198216937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639160005b868110611e4c5750836001959610611e33575b505050811b01600055565b015160001960f88460031b161c19169055388080611e28565b91926020600181928685015181550194019201611e15565b6084359065ffffffffffff8216820361024157565b60a4359065ffffffffffff8216820361024157565b6040513d6000823e3d90fd5b9392919093611ea76129b7565b611eaf6129b7565b8051906001600160401b0382116105a157611ee182611edc600080516020612f8483398151915254611499565b611cd7565b602090601f8311600114611f645782611f40936105d6979893611f1a93600092610f105750508160011b916000199060031b1c19161790565b600080516020612f84833981519152555b611f336129b7565b611f3b6129b7565b612681565b6001600160a01b038116611f55575b50611d89565b611f5e906125c2565b38611f4f565b600080516020612f84833981519152600052601f19831691907ff429cb5e2ec84cbb765e76b31964a56ccde03e7a6122d6cc4afb19edc55edeed9260005b818110611ff45750926001928592611f40966105d69a9b9610611fdb575b505050811b01600080516020612f8483398151915255611f2b565b015160001960f88460031b161c19169055388080611fc0565b92936020600181928786015181550195019301611fa2565b60ff9161101361201b92611885565b541690565b6001600160a01b0316801561208057600080516020612ee483398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b600080516020612ee4833981519152546001600160a01b031633036120b757565b63118cdaa760e01b6000523360045260246000fd5b156120d357565b60405162461bcd60e51b8152602060048201526009602482015268456d7074792075726960b81b6044820152606490fd5b81516020830151151560f81b6001600160f81b0319166001600160f81b039091161781556040909101518051909291600101906001600160401b0381116105a157612159816121538454611499565b84611d37565b6020601f821160011461218a578190611c81939495600092610f105750508160011b916000199060031b1c19161790565b601f1982169061219f84600052602060002090565b9160005b8181106121db575095836001959697106121c2575b505050811b019055565b015160001960f88460031b161c191690553880806121b8565b9192602060018192868b0151815501940192016121a3565b929083600052600360205260406000205460f81c6122a257612283826122657f52922827b9438aa2e63a37e11aa3ae44e0536c26374251088fbc3a47589aed7b9561224261229d9615156120cc565b61224a6105c7565b6001600160f81b038616815292600160208501523691610667565b604082015261227e866000526003602052604060002090565b612104565b6040516001600160f81b0390911681529081906020820190565b0390a2565b60405162461bcd60e51b8152602060048201526014602482015273546f6b656e20616c72656164792065786973747360601b6044820152606490fd5b9291909260005260036020526001604060002001906001600160401b0381116105a15761230f816121538454611499565b6000601f821160011461234b578190611c819394956000926123405750508160011b916000199060031b1c19161790565b013590503880610ef6565b601f1982169461236084600052602060002090565b91805b87811061239a57508360019596971061238057505050811b019055565b0135600019600384901b60f8161c191690553880806121b8565b90926020600181928686013581550194019101612363565b939091906001600160a01b03851615611730576123d28284876000612cf6565b600094855b845187101561241a576124126001918860051b90612400602080848a010151938a010151611809565b61240b838254611b2b565b9055611b2b565b9601956123d7565b61244e91959492965061243c90600080516020612f4483398151915254611b2b565b600080516020612f4483398151915255565b805160010361246e57906020806105d69593015191015191600033612bb2565b6105d693600033612a7d565b6000818152600360205260409020549091906001600160f81b03166124d0575b6124b16105d6926000526003602052604060002090565b80546001600160f81b0319166001600160f81b03909216919091179055565b6000828152600080516020612f2483398151915260209081526040808320546003909252909120546001600160f81b0316101561249a5760405162461bcd60e51b815260206004820152601660248201527513995dc81b585e081cdd5c1c1b1e481a5b9d985b1a5960521b6044820152606490fd5b93916001600160a01b038516156117305761257d60405192600184526020840152604083019160018352606084015260808301604052565b909161258c8284876000612cf6565b600094855b845187101561241a576125ba6001918860051b90612400602080848a010151938a010151611809565b960195612591565b6001600160a01b03168015612643576125da81612c52565b15612606577f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6600080a2565b60405162461bcd60e51b81526020600482015260156024820152744d696e74657220616c72656164792065786973747360581b6044820152606490fd5b60405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606490fd5b6105d69061268d6129b7565b61177b6129b7565b90919392506126a78483600084612cf6565b6001600160a01b03161561271b575b6000805b82518210156126ef576001908260051b906126e0602080848a0101519387010151611809565b828154039055019101906126ba565b9150506105d6919250600080516020612f448339815191525403600080516020612f4483398151915255565b6000805b8251821015612750576127486001918360051b90612400602080848b0101519388010151611809565b91019061271f565b61276e915061243c90600080516020612f4483398151915254611b2b565b6126b6565b9193929061278382868386612cf6565b6001600160a01b03831615612858575b6001600160a01b03811615806127e8575b156127b1575b5050505050565b84516001036127d7576020806127cd9601519201519233612bb2565b38808080806127aa565b6127e394919233612a7d565b6127cd565b94936000939091845b8651861015612826576001908660051b90612817602080848a010151938b010151611809565b828154039055019501946127f1565b61285391939697929550600080516020612f448339815191525403600080516020612f4483398151915255565b6127a4565b9392600092835b8551851015612890576128886001918660051b90612400602080848a010151938b010151611809565b94019361285f565b6128b391945061243c9096929596600080516020612f4483398151915254611b2b565b612793565b8054821015611acf5760005260206000200190600090565b805480156128f95760001901906128e782826128b8565b8154906000199060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b6000818152600260205260409020549081156129b057600019820190828211611b3857600154600019810193908411611b3857838360009561296f9503612975575b50505061295e60016128d0565b600290600052602052604060002090565b55600190565b61295e6129a19161299761298d6129a79560016128b8565b90549060031b1c90565b92839160016128b8565b90611c67565b55388080612951565b5050600090565b60ff600080516020612f648339815191525460401c16156129d457565b631afcd79f60e31b60005260046000fd5b9081602091031261024157516104a28161030d565b6001600160a01b0391821681529116602082015260a0604082018190526104a29491939192612a3f9291612a31919086019061096e565b90848203606086015261096e565b916080818403910152610450565b3d15612a78573d90612a5e8261064c565b91612a6c60405193846105a6565b82523d6000602084013e565b606090565b9091949293853b612a91575b505050505050565b602093612ab391604051968795869563bc197c8160e01b8752600487016129fa565b038160006001600160a01b0387165af160009181612b48575b50612b085750612ada612a4d565b8051919082612b0157632bfa23e760e11b6000526001600160a01b03821660045260246000fd5b9050602001fd5b6001600160e01b0319166343e6837f60e01b01612b2b5750388080808080612a89565b632bfa23e760e11b6000526001600160a01b031660045260246000fd5b612b6b91925060203d602011612b72575b612b6381836105a6565b8101906129e5565b9038612acc565b503d612b59565b6001600160a01b039182168152911660208201526040810191909152606081019190915260a0608082018190526104a292910190610450565b9091949293853b612bc557505050505050565b602093612be791604051968795869563f23a6e6160e01b875260048701612b79565b038160006001600160a01b0387165af160009181612c31575b50612c0e5750612ada612a4d565b6001600160e01b031916630dc5919f60e01b01612b2b5750388080808080612a89565b612c4b91925060203d602011612b7257612b6381836105a6565b9038612c00565b80600052600260205260406000205415600014612ccb57600154600160401b8110156105a157600181016001556000600154821015611acf57600190527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601819055600154906000526002602052604060002055600190565b50600090565b9091612ce86104a29360408452604084019061096e565b91602081840391015261096e565b9392918051835190818103612ecc57505060005b8151811015612e26578060051b90602080838501015192860101518460018060a01b038916612d89575b6001936001600160a01b038216612d4f575b50505001612d0a565b612d7f91611013612d7792600052600080516020612f04833981519152602052604060002090565b918254611b2b565b9055388481612d46565b509091612db18861101383600052600080516020612f04833981519152602052604060002090565b54828110612def57829160019493879203612de78b61101384600052600080516020612f04833981519152602052604060002090565b559350612d34565b6040516303dee4c560e01b81526001600160a01b038a16600482015260248101919091526044810183905260648101829052608490fd5b508051939493919291600103612e89576020908101519181015160408051938452918301526001600160a01b03928316939092169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291819081015b0390a4565b6040516001600160a01b03938416949093169233927f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb928291612e849183612cd1565b635b05999160e01b60005260045260245260446000fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930088be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c45004a593662ee04d27b6a00ebb31be7fe0c102c2ade82a7c5d764f2df05dc4e28004a593662ee04d27b6a00ebb31be7fe0c102c2ade82a7c5d764f2df05dc4e2801f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0088be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c4502a264697066735822122065a933fcff70e8ca387bd5d8653e42b992df6fb4c04ff34c79996a85b35704fa64736f6c634300081b0033