0 txs
1 call
constructor
constructor(string _collectionMetadata, address _usdc)
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)
currentTokenId
viewfunction currentTokenId() view returns (uint256)
getPendingAmount
viewfunction getPendingAmount(address user, uint256 tokenId) view returns (uint256)
isAdmin
viewfunction isAdmin(uint256, address) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingPayments
viewfunction pendingPayments(address, uint256) view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenConfigs
viewfunction tokenConfigs(uint256) view returns (uint256 supply, uint256 price, address royaltyPayoutAddress)
tokenUris
viewfunction tokenUris(uint256) view returns (string)
uri
viewfunction uri(uint256 tokenId) view returns (string)
USDC
viewfunction USDC() view returns (address)
mintWithSignature
nonpayablefunction mintWithSignature(uint256 tokenId, bytes signature, address referrer)
mintWithUsdc
nonpayablefunction mintWithUsdc(uint256 tokenId, uint256 usdcAmount)
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)
setTokenUri
nonpayablefunction setTokenUri(uint256 tokenId, string _uri)
setUpToken
nonpayablefunction setUpToken(tuple _tokenConfig, string _uri)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
TokenSetup
event TokenSetup(uint256 tokenId, address royaltyPayoutAddress, string uri)
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)
Unpaused
event Unpaused(address account)
URI
event URI(string value, uint256 indexed id)
errors
EnforcedPause
error EnforcedPause()
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)
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a06040525f600455348015610013575f80fd5b506040516139913803806139918339818101604052810190610035919061038f565b33826100468161011260201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b7575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100ae91906103f8565b60405180910390fd5b6100c68161012560201b60201c565b508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050816009908161010a919061061e565b5050506106ed565b8060029081610121919061061e565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61024782610201565b810181811067ffffffffffffffff8211171561026657610265610211565b5b80604052505050565b5f6102786101e8565b9050610284828261023e565b919050565b5f67ffffffffffffffff8211156102a3576102a2610211565b5b6102ac82610201565b9050602081019050919050565b8281835e5f83830152505050565b5f6102d96102d484610289565b61026f565b9050828152602081018484840111156102f5576102f46101fd565b5b6103008482856102b9565b509392505050565b5f82601f83011261031c5761031b6101f9565b5b815161032c8482602086016102c7565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61035e82610335565b9050919050565b61036e81610354565b8114610378575f80fd5b50565b5f8151905061038981610365565b92915050565b5f80604083850312156103a5576103a46101f1565b5b5f83015167ffffffffffffffff8111156103c2576103c16101f5565b5b6103ce85828601610308565b92505060206103df8582860161037b565b9150509250929050565b6103f281610354565b82525050565b5f60208201905061040b5f8301846103e9565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061045f57607f821691505b6020821081036104725761047161041b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104d47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610499565b6104de8683610499565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61052261051d610518846104f6565b6104ff565b6104f6565b9050919050565b5f819050919050565b61053b83610508565b61054f61054782610529565b8484546104a5565b825550505050565b5f90565b610563610557565b61056e818484610532565b505050565b5b81811015610591576105865f8261055b565b600181019050610574565b5050565b601f8211156105d6576105a781610478565b6105b08461048a565b810160208510156105bf578190505b6105d36105cb8561048a565b830182610573565b50505b505050565b5f82821c905092915050565b5f6105f65f19846008026105db565b1980831691505092915050565b5f61060e83836105e7565b9150826002028217905092915050565b61062782610411565b67ffffffffffffffff8111156106405761063f610211565b5b61064a8254610448565b610655828285610595565b5f60209050601f831160018114610686575f8415610674578287015190505b61067e8582610603565b8655506106e5565b601f19841661069486610478565b5f5b828110156106bb57848901518255600182019150602085019450602081019050610696565b868310156106d857848901516106d4601f8916826105e7565b8355505b6001600288020188555050505b505050505050565b60805161328561070c5f395f81816108440152610b9901526132855ff3fe608060405234801561000f575f80fd5b506004361061016f575f3560e01c80635c975abb116100dc578063ae882b6511610095578063e8a3d4851161006f578063e8a3d4851461046b578063e985e9c514610489578063f242432a146104b9578063f2fde38b146104d55761016f565b8063ae882b65146103ed578063c01bd0e91461041d578063e54ba3a61461044f5761016f565b80635c975abb14610351578063715018a61461036f57806389a30271146103795780638da5cb5b14610397578063938e3d7b146103b5578063a22cb465146103d15761016f565b8063146a29111161012e578063146a29111461026d5780632eb2c2d61461029d57806331db900f146102b95780634815d31c146102d55780634e1273f41461030557806357f7789e146103355761016f565b80629a9b7b14610173578062fdd58e1461019157806301ffc9a7146101c1578063030cd031146101f15780630d7f682a1461020d5780630e89341c1461023d575b5f80fd5b61017b6104f1565b6040516101889190611f03565b60405180910390f35b6101ab60048036038101906101a69190611fb1565b6104f7565b6040516101b89190611f03565b60405180910390f35b6101db60048036038101906101d69190612044565b61054c565b6040516101e89190612089565b60405180910390f35b61020b600480360381019061020691906121de565b61062d565b005b61022760048036038101906102229190611fb1565b610632565b6040516102349190611f03565b60405180910390f35b6102576004803603810190610252919061224a565b610688565b60405161026491906122d5565b60405180910390f35b610287600480360381019061028291906122f5565b610729565b6040516102949190612089565b60405180910390f35b6102b760048036038101906102b291906123f7565b610753565b005b6102d360048036038101906102ce91906124c2565b6107fa565b005b6102ef60048036038101906102ea9190611fb1565b610a1c565b6040516102fc9190611f03565b60405180910390f35b61031f600480360381019061031a91906125c0565b610a3c565b60405161032c91906126ed565b60405180910390f35b61034f600480360381019061034a91906127ab565b610b43565b005b610359610b6e565b6040516103669190612089565b60405180910390f35b610377610b84565b005b610381610b97565b60405161038e9190612860565b60405180910390f35b61039f610bbb565b6040516103ac9190612888565b60405180910390f35b6103cf60048036038101906103ca91906128a1565b610be3565b005b6103eb60048036038101906103e69190612912565b610bfe565b005b6104076004803603810190610402919061224a565b610c14565b60405161041491906122d5565b60405180910390f35b6104376004803603810190610432919061224a565b610caf565b60405161044693929190612950565b60405180910390f35b610469600480360381019061046491906129ea565b610cf4565b005b610473610de3565b60405161048091906122d5565b60405180910390f35b6104a3600480360381019061049e9190612a44565b610e73565b6040516104b09190612089565b60405180910390f35b6104d360048036038101906104ce9190612a82565b610f01565b005b6104ef60048036038101906104ea9190612b15565b610fa8565b005b60045481565b5f805f8381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061061657507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061062657506106258261102c565b5b9050919050565b505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b606060055f8381526020019081526020015f2080546106a690612b6d565b80601f01602080910402602001604051908101604052809291908181526020018280546106d290612b6d565b801561071d5780601f106106f45761010080835404028352916020019161071d565b820191905f5260205f20905b81548152906001019060200180831161070057829003601f168201915b50505050509050919050565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f61075c611095565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156107a1575061079f8682610e73565b155b156107e55780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016107dc929190612b9d565b60405180910390fd5b6107f2868686868661109c565b505050505050565b5f811161083c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083390612c0e565b60405180910390fd5b6108893330837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16611190909392919063ffffffff16565b8060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f8282546108e49190612c59565b925050819055505f620f424060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20546109479190612cb9565b90505f811115610a175761096b33848360405180602001604052805f815250611212565b620f424060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20546109c69190612ce9565b60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20819055505b505050565b6007602052815f5260405f20602052805f5260405f205f91509150505481565b60608151835114610a8857815183516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401610a7f929190612d19565b60405180910390fd5b5f835167ffffffffffffffff811115610aa457610aa36120ba565b5b604051908082528060200260200182016040528015610ad25781602001602082028036833780820191505090505b5090505f5b8451811015610b3857610b0e610af682876112a790919063ffffffff16565b610b0983876112ba90919063ffffffff16565b6104f7565b828281518110610b2157610b20612d40565b5b602002602001018181525050806001019050610ad7565b508091505092915050565b610b4b6112cd565b8060055f8481526020019081526020015f209081610b699190612f01565b505050565b5f600360149054906101000a900460ff16905090565b610b8c6112cd565b610b955f611354565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610beb6112cd565b8060099081610bfa9190612f01565b5050565b610c10610c09611095565b8383611417565b5050565b6005602052805f5260405f205f915090508054610c3090612b6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5c90612b6d565b8015610ca75780601f10610c7e57610100808354040283529160200191610ca7565b820191905f5260205f20905b815481529060010190602001808311610c8a57829003601f168201915b505050505081565b6006602052805f5260405f205f91509050805f015490806001015490806002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b610cfc6112cd565b5f60045f8154610d0b90612fd0565b91905081905590508160055f8381526020019081526020015f209081610d319190612f01565b508260065f8381526020019081526020015f205f820151815f0155602082015181600101556040820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507fec580694846c16c16c642bdb73c07aeedb63edf3a95f88b9b6ecf82a405350c581846040015184604051610dd693929190613017565b60405180910390a1505050565b606060098054610df290612b6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90612b6d565b8015610e695780601f10610e4057610100808354040283529160200191610e69565b820191905f5260205f20905b815481529060010190602001808311610e4c57829003601f168201915b5050505050905090565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f610f0a611095565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610f4f5750610f4d8682610e73565b155b15610f935780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610f8a929190612b9d565b60405180910390fd5b610fa08686868686611580565b505050505050565b610fb06112cd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611020575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016110179190612888565b60405180910390fd5b61102981611354565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361110c575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016111039190612888565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361117c575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016111739190612888565b60405180910390fd5b6111898585858585611686565b5050505050565b61120c848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016111c593929190613053565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611732565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611282575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016112799190612888565b60405180910390fd5b5f8061128e85856117cd565b9150915061129f5f87848487611686565b505050505050565b5f60208202602084010151905092915050565b5f60208202602084010151905092915050565b6112d5611095565b73ffffffffffffffffffffffffffffffffffffffff166112f3610bbb565b73ffffffffffffffffffffffffffffffffffffffff161461135257611316611095565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016113499190612888565b60405180910390fd5b565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611487575f6040517fced3e10000000000000000000000000000000000000000000000000000000000815260040161147e9190612888565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115739190612089565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115f0575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016115e79190612888565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611660575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016116579190612888565b60405180910390fd5b5f8061166c85856117cd565b9150915061167d8787848487611686565b50505050505050565b611692858585856117fd565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461172b575f6116ce611095565b9050600184510361171a575f6116ed5f866112ba90919063ffffffff16565b90505f6117035f866112ba90919063ffffffff16565b9050611713838989858589611b8d565b5050611729565b611728818787878787611d3c565b5b505b5050505050565b5f8060205f8451602086015f885af180611751576040513d5f823e3d81fd5b3d92505f519150505f821461176a576001811415611785565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b156117c757836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016117be9190612888565b60405180910390fd5b50505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b805182511461184757815181516040517f5b05999100000000000000000000000000000000000000000000000000000000815260040161183e929190612d19565b60405180910390fd5b5f611850611095565b90505f5b8351811015611a4c575f61187182866112ba90919063ffffffff16565b90505f61188783866112ba90919063ffffffff16565b90505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146119aa575f805f8481526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561195657888183856040517f03dee4c500000000000000000000000000000000000000000000000000000000815260040161194d9493929190613088565b60405180910390fd5b8181035f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611a3f57805f808481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611a379190612c59565b925050819055505b5050806001019050611854565b506001835103611b07575f611a6a5f856112ba90919063ffffffff16565b90505f611a805f856112ba90919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611af8929190612d19565b60405180910390a45050611b86565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611b7d9291906130cb565b60405180910390a45b5050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611d34578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401611bed959493929190613152565b6020604051808303815f875af1925050508015611c2857506040513d601f19601f82011682018060405250810190611c2591906131be565b60015b611ca9573d805f8114611c56576040519150601f19603f3d011682016040523d82523d5f602084013e611c5b565b606091505b505f815103611ca157846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611c989190612888565b60405180910390fd5b805160208201fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611d3257846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611d299190612888565b60405180910390fd5b505b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611ee3578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611d9c9594939291906131e9565b6020604051808303815f875af1925050508015611dd757506040513d601f19601f82011682018060405250810190611dd491906131be565b60015b611e58573d805f8114611e05576040519150601f19603f3d011682016040523d82523d5f602084013e611e0a565b606091505b505f815103611e5057846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611e479190612888565b60405180910390fd5b805160208201fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611ee157846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611ed89190612888565b60405180910390fd5b505b505050505050565b5f819050919050565b611efd81611eeb565b82525050565b5f602082019050611f165f830184611ef4565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f5682611f2d565b9050919050565b611f6681611f4c565b8114611f70575f80fd5b50565b5f81359050611f8181611f5d565b92915050565b611f9081611eeb565b8114611f9a575f80fd5b50565b5f81359050611fab81611f87565b92915050565b5f8060408385031215611fc757611fc6611f25565b5b5f611fd485828601611f73565b9250506020611fe585828601611f9d565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61202381611fef565b811461202d575f80fd5b50565b5f8135905061203e8161201a565b92915050565b5f6020828403121561205957612058611f25565b5b5f61206684828501612030565b91505092915050565b5f8115159050919050565b6120838161206f565b82525050565b5f60208201905061209c5f83018461207a565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6120f0826120aa565b810181811067ffffffffffffffff8211171561210f5761210e6120ba565b5b80604052505050565b5f612121611f1c565b905061212d82826120e7565b919050565b5f67ffffffffffffffff82111561214c5761214b6120ba565b5b612155826120aa565b9050602081019050919050565b828183375f83830152505050565b5f61218261217d84612132565b612118565b90508281526020810184848401111561219e5761219d6120a6565b5b6121a9848285612162565b509392505050565b5f82601f8301126121c5576121c46120a2565b5b81356121d5848260208601612170565b91505092915050565b5f805f606084860312156121f5576121f4611f25565b5b5f61220286828701611f9d565b935050602084013567ffffffffffffffff81111561222357612222611f29565b5b61222f868287016121b1565b925050604061224086828701611f73565b9150509250925092565b5f6020828403121561225f5761225e611f25565b5b5f61226c84828501611f9d565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6122a782612275565b6122b1818561227f565b93506122c181856020860161228f565b6122ca816120aa565b840191505092915050565b5f6020820190508181035f8301526122ed818461229d565b905092915050565b5f806040838503121561230b5761230a611f25565b5b5f61231885828601611f9d565b925050602061232985828601611f73565b9150509250929050565b5f67ffffffffffffffff82111561234d5761234c6120ba565b5b602082029050602081019050919050565b5f80fd5b5f61237461236f84612333565b612118565b905080838252602082019050602084028301858111156123975761239661235e565b5b835b818110156123c057806123ac8882611f9d565b845260208401935050602081019050612399565b5050509392505050565b5f82601f8301126123de576123dd6120a2565b5b81356123ee848260208601612362565b91505092915050565b5f805f805f60a086880312156124105761240f611f25565b5b5f61241d88828901611f73565b955050602061242e88828901611f73565b945050604086013567ffffffffffffffff81111561244f5761244e611f29565b5b61245b888289016123ca565b935050606086013567ffffffffffffffff81111561247c5761247b611f29565b5b612488888289016123ca565b925050608086013567ffffffffffffffff8111156124a9576124a8611f29565b5b6124b5888289016121b1565b9150509295509295909350565b5f80604083850312156124d8576124d7611f25565b5b5f6124e585828601611f9d565b92505060206124f685828601611f9d565b9150509250929050565b5f67ffffffffffffffff82111561251a576125196120ba565b5b602082029050602081019050919050565b5f61253d61253884612500565b612118565b905080838252602082019050602084028301858111156125605761255f61235e565b5b835b8181101561258957806125758882611f73565b845260208401935050602081019050612562565b5050509392505050565b5f82601f8301126125a7576125a66120a2565b5b81356125b784826020860161252b565b91505092915050565b5f80604083850312156125d6576125d5611f25565b5b5f83013567ffffffffffffffff8111156125f3576125f2611f29565b5b6125ff85828601612593565b925050602083013567ffffffffffffffff8111156126205761261f611f29565b5b61262c858286016123ca565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61266881611eeb565b82525050565b5f612679838361265f565b60208301905092915050565b5f602082019050919050565b5f61269b82612636565b6126a58185612640565b93506126b083612650565b805f5b838110156126e05781516126c7888261266e565b97506126d283612685565b9250506001810190506126b3565b5085935050505092915050565b5f6020820190508181035f8301526127058184612691565b905092915050565b5f67ffffffffffffffff821115612727576127266120ba565b5b612730826120aa565b9050602081019050919050565b5f61274f61274a8461270d565b612118565b90508281526020810184848401111561276b5761276a6120a6565b5b612776848285612162565b509392505050565b5f82601f830112612792576127916120a2565b5b81356127a284826020860161273d565b91505092915050565b5f80604083850312156127c1576127c0611f25565b5b5f6127ce85828601611f9d565b925050602083013567ffffffffffffffff8111156127ef576127ee611f29565b5b6127fb8582860161277e565b9150509250929050565b5f819050919050565b5f61282861282361281e84611f2d565b612805565b611f2d565b9050919050565b5f6128398261280e565b9050919050565b5f61284a8261282f565b9050919050565b61285a81612840565b82525050565b5f6020820190506128735f830184612851565b92915050565b61288281611f4c565b82525050565b5f60208201905061289b5f830184612879565b92915050565b5f602082840312156128b6576128b5611f25565b5b5f82013567ffffffffffffffff8111156128d3576128d2611f29565b5b6128df8482850161277e565b91505092915050565b6128f18161206f565b81146128fb575f80fd5b50565b5f8135905061290c816128e8565b92915050565b5f806040838503121561292857612927611f25565b5b5f61293585828601611f73565b9250506020612946858286016128fe565b9150509250929050565b5f6060820190506129635f830186611ef4565b6129706020830185611ef4565b61297d6040830184612879565b949350505050565b5f80fd5b5f6060828403121561299e5761299d612985565b5b6129a86060612118565b90505f6129b784828501611f9d565b5f8301525060206129ca84828501611f9d565b60208301525060406129de84828501611f73565b60408301525092915050565b5f8060808385031215612a00576129ff611f25565b5b5f612a0d85828601612989565b925050606083013567ffffffffffffffff811115612a2e57612a2d611f29565b5b612a3a8582860161277e565b9150509250929050565b5f8060408385031215612a5a57612a59611f25565b5b5f612a6785828601611f73565b9250506020612a7885828601611f73565b9150509250929050565b5f805f805f60a08688031215612a9b57612a9a611f25565b5b5f612aa888828901611f73565b9550506020612ab988828901611f73565b9450506040612aca88828901611f9d565b9350506060612adb88828901611f9d565b925050608086013567ffffffffffffffff811115612afc57612afb611f29565b5b612b08888289016121b1565b9150509295509295909350565b5f60208284031215612b2a57612b29611f25565b5b5f612b3784828501611f73565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b8457607f821691505b602082108103612b9757612b96612b40565b5b50919050565b5f604082019050612bb05f830185612879565b612bbd6020830184612879565b9392505050565b7f416d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f612bf8601d8361227f565b9150612c0382612bc4565b602082019050919050565b5f6020820190508181035f830152612c2581612bec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c6382611eeb565b9150612c6e83611eeb565b9250828201905080821115612c8657612c85612c2c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612cc382611eeb565b9150612cce83611eeb565b925082612cde57612cdd612c8c565b5b828204905092915050565b5f612cf382611eeb565b9150612cfe83611eeb565b925082612d0e57612d0d612c8c565b5b828206905092915050565b5f604082019050612d2c5f830185611ef4565b612d396020830184611ef4565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612dc97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612d8e565b612dd38683612d8e565b95508019841693508086168417925050509392505050565b5f612e05612e00612dfb84611eeb565b612805565b611eeb565b9050919050565b5f819050919050565b612e1e83612deb565b612e32612e2a82612e0c565b848454612d9a565b825550505050565b5f90565b612e46612e3a565b612e51818484612e15565b505050565b5b81811015612e7457612e695f82612e3e565b600181019050612e57565b5050565b601f821115612eb957612e8a81612d6d565b612e9384612d7f565b81016020851015612ea2578190505b612eb6612eae85612d7f565b830182612e56565b50505b505050565b5f82821c905092915050565b5f612ed95f1984600802612ebe565b1980831691505092915050565b5f612ef18383612eca565b9150826002028217905092915050565b612f0a82612275565b67ffffffffffffffff811115612f2357612f226120ba565b5b612f2d8254612b6d565b612f38828285612e78565b5f60209050601f831160018114612f69575f8415612f57578287015190505b612f618582612ee6565b865550612fc8565b601f198416612f7786612d6d565b5f5b82811015612f9e57848901518255600182019150602085019450602081019050612f79565b86831015612fbb5784890151612fb7601f891682612eca565b8355505b6001600288020188555050505b505050505050565b5f612fda82611eeb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300c5761300b612c2c565b5b600182019050919050565b5f60608201905061302a5f830186611ef4565b6130376020830185612879565b8181036040830152613049818461229d565b9050949350505050565b5f6060820190506130665f830186612879565b6130736020830185612879565b6130806040830184611ef4565b949350505050565b5f60808201905061309b5f830187612879565b6130a86020830186611ef4565b6130b56040830185611ef4565b6130c26060830184611ef4565b95945050505050565b5f6040820190508181035f8301526130e38185612691565b905081810360208301526130f78184612691565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f61312482613100565b61312e818561310a565b935061313e81856020860161228f565b613147816120aa565b840191505092915050565b5f60a0820190506131655f830188612879565b6131726020830187612879565b61317f6040830186611ef4565b61318c6060830185611ef4565b818103608083015261319e818461311a565b90509695505050505050565b5f815190506131b88161201a565b92915050565b5f602082840312156131d3576131d2611f25565b5b5f6131e0848285016131aa565b91505092915050565b5f60a0820190506131fc5f830188612879565b6132096020830187612879565b818103604083015261321b8186612691565b9050818103606083015261322f8185612691565b90508181036080830152613243818461311a565b9050969550505050505056fea2646970667358221220b1c7934f9e26fed006447d0cf9f6342c03af5d969d7777fb4a4a5b4d4ac26d6664736f6c634300081900330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000d1e4f0e7815e4b56ccb19f2558ef91f8e5b98c240000000000000000000000000000000000000000000000000000000000000045646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c65794a755957316c496a6f6959584a3061584e3049474e766247786c593352706232346966513d3d000000000000000000000000000000000000000000000000000000