1 tx
441 calls
constructor
constructor(address _usdcAddress)
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
currentTokenId
viewfunction currentTokenId() view returns (uint256)
feeOwnerAddress
viewfunction feeOwnerAddress() view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
owner
viewfunction owner() view returns (address)
ownerAddress
viewfunction ownerAddress() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenPrices
viewfunction tokenPrices(uint256) view returns (uint256)
tokenURIs
viewfunction tokenURIs(uint256) view returns (string)
uri
viewfunction uri(uint256 tokenId) view returns (string)
usdc
viewfunction usdc() view returns (address)
mintAfterPayment
nonpayablefunction mintAfterPayment(address to, uint256 tokenId, address vendorAddress, uint256 amount, uint256 fee, uint256 quantity)
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)
setFeeOwner
nonpayablefunction setFeeOwner(address newFeeOwner)
setOwner
nonpayablefunction setOwner(address newOwner)
setTokenType
nonpayablefunction setTokenType(uint256 price, string tokenUri) returns (uint256)
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)
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)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60806040525f600755348015610013575f80fd5b50604051613828380380613828833981810160405281019061003591906104dc565b3360405180602001604052805f8152506100548161038060201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100c5575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100bc9190610516565b60405180910390fd5b6100d48161039360201b60201c565b508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012361045660201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061017061045660201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550624c4b4060085f8081526020019081526020015f208190555060405180602001604052805f81525060095f8081526020019081526020015f2090816101f49190610769565b506298968060085f600181526020019081526020015f208190555060405180602001604052805f81525060095f600181526020019081526020015f20908161023c9190610769565b506301312d0060085f600281526020019081526020015f208190555060405180602001604052805f81525060095f600281526020019081526020015f2090816102859190610769565b5063017d784060085f600381526020019081526020015f208190555060405180602001604052805f81525060095f600381526020019081526020015f2090816102ce9190610769565b506302faf08060085f600481526020019081526020015f208190555060405180602001604052805f81525060095f600481526020019081526020015f2090816103179190610769565b506305f5e10060085f600581526020019081526020015f208190555060405180602001604052805f81525060095f600581526020019081526020015f2090816103609190610769565b50600660075f8282546103739190610865565b9250508190555050610898565b806002908161038f9190610769565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104ab82610482565b9050919050565b6104bb816104a1565b81146104c5575f80fd5b50565b5f815190506104d6816104b2565b92915050565b5f602082840312156104f1576104f061047e565b5b5f6104fe848285016104c8565b91505092915050565b610510816104a1565b82525050565b5f6020820190506105295f830184610507565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806105aa57607f821691505b6020821081036105bd576105bc610566565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261061f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826105e4565b61062986836105e4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61066d61066861066384610641565b61064a565b610641565b9050919050565b5f819050919050565b61068683610653565b61069a61069282610674565b8484546105f0565b825550505050565b5f90565b6106ae6106a2565b6106b981848461067d565b505050565b5b818110156106dc576106d15f826106a6565b6001810190506106bf565b5050565b601f821115610721576106f2816105c3565b6106fb846105d5565b8101602085101561070a578190505b61071e610716856105d5565b8301826106be565b50505b505050565b5f82821c905092915050565b5f6107415f1984600802610726565b1980831691505092915050565b5f6107598383610732565b9150826002028217905092915050565b6107728261052f565b67ffffffffffffffff81111561078b5761078a610539565b5b6107958254610593565b6107a08282856106e0565b5f60209050601f8311600181146107d1575f84156107bf578287015190505b6107c9858261074e565b865550610830565b601f1984166107df866105c3565b5f5b82811015610806578489015182556001820191506020850194506020810190506107e1565b86831015610823578489015161081f601f891682610732565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61086f82610641565b915061087a83610641565b925082820190508082111561089257610891610838565b5b92915050565b612f83806108a55f395ff3fe608060405234801561000f575f80fd5b5060043610610133575f3560e01c80634e1273f4116100b65780638f84aa091161007a5780638f84aa0914610349578063a22cb46514610367578063e5afe3e614610383578063e985e9c5146103b3578063f242432a146103e3578063f2fde38b146103ff57610133565b80634e1273f4146102915780636c8b703f146102c1578063715018a6146102f15780637b378f95146102fb5780638da5cb5b1461032b57610133565b806313af4035116100fd57806313af4035146102015780632eb2c2d61461021d57806337bb0603146102395780633e413bee146102575780634b104eff1461027557610133565b80629a9b7b14610137578062fdd58e1461015557806301ffc9a714610185578063092df9d9146101b55780630e89341c146101d1575b5f80fd5b61013f61041b565b60405161014c9190611d84565b60405180910390f35b61016f600480360381019061016a9190611e32565b610421565b60405161017c9190611d84565b60405180910390f35b61019f600480360381019061019a9190611ec5565b610476565b6040516101ac9190611f0a565b60405180910390f35b6101cf60048036038101906101ca9190611f23565b610557565b005b6101eb60048036038101906101e69190611fac565b61062b565b6040516101f89190612047565b60405180910390f35b61021b60048036038101906102169190612067565b6106cc565b005b61023760048036038101906102329190612282565b6107de565b005b610241610885565b60405161024e919061235c565b60405180910390f35b61025f6108aa565b60405161026c91906123d0565b60405180910390f35b61028f600480360381019061028a9190612067565b6108cf565b005b6102ab60048036038101906102a691906124a9565b6109e1565b6040516102b891906125d6565b60405180910390f35b6102db60048036038101906102d69190611fac565b610ae8565b6040516102e89190612047565b60405180910390f35b6102f9610b83565b005b61031560048036038101906103109190612694565b610b96565b6040516103229190611d84565b60405180910390f35b610333610bfa565b604051610340919061235c565b60405180910390f35b610351610c22565b60405161035e919061235c565b60405180910390f35b610381600480360381019061037c9190612718565b610c47565b005b61039d60048036038101906103989190611fac565b610c5d565b6040516103aa9190611d84565b60405180910390f35b6103cd60048036038101906103c89190612756565b610c72565b6040516103da9190611f0a565b60405180910390f35b6103fd60048036038101906103f89190612794565b610d00565b005b61041960048036038101906104149190612067565b610da7565b005b60075481565b5f805f8381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061054057507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610550575061054f82610e2b565b5b9050919050565b5f8390505f81905061056884610e94565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3388846040518463ffffffff1660e01b81526004016105c693929190612827565b6020604051808303815f875af11580156105e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106069190612870565b5061062188888560405180602001604052805f815250611033565b5050505050505050565b606060095f8381526020019081526020015f208054610649906128c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610675906128c8565b80156106c05780601f10610697576101008083540402835291602001916106c0565b820191905f5260205f20905b8154815290600101906020018083116106a357829003601f168201915b50505050509050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361073a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073190612942565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610759610bfa565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6107e76110c8565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561082c575061082a8682610c72565b155b156108705780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610867929190612960565b60405180910390fd5b61087d86868686866110cf565b505050505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361093d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093490612942565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661095c610bfa565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60608151835114610a2d57815183516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401610a24929190612987565b60405180910390fd5b5f835167ffffffffffffffff811115610a4957610a48612096565b5b604051908082528060200260200182016040528015610a775781602001602082028036833780820191505090505b5090505f5b8451811015610add57610ab3610a9b82876111c390919063ffffffff16565b610aae83876111d690919063ffffffff16565b610421565b828281518110610ac657610ac56129ae565b5b602002602001018181525050806001019050610a7c565b508091505092915050565b6009602052805f5260405f205f915090508054610b04906128c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610b30906128c8565b8015610b7b5780601f10610b5257610100808354040283529160200191610b7b565b820191905f5260205f20905b815481529060010190602001808311610b5e57829003601f168201915b505050505081565b610b8b6111e9565b610b945f611270565b565b5f610b9f6111e9565b8260085f60075481526020019081526020015f20819055508160095f60075481526020019081526020015f209081610bd79190612b6f565b5060075f815480929190610bea90612c6b565b9190505550600754905092915050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c59610c526110c8565b8383611333565b5050565b6008602052805f5260405f205f915090505481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f610d096110c8565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610d4e5750610d4c8682610c72565b155b15610d925780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610d89929190612960565b60405180910390fd5b610d9f868686868661149c565b505050505050565b610daf6111e9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e1f575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610e16919061235c565b60405180910390fd5b610e2881611270565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b621e848081106110305760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16621e84806040518463ffffffff1660e01b8152600401610f2093929190612ceb565b6020604051808303815f875af1158015610f3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f609190612870565b5060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16621e848085610fd09190612d20565b6040518463ffffffff1660e01b8152600401610fee93929190612827565b6020604051808303815f875af115801561100a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102e9190612870565b505b50565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110a3575f6040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161109a919061235c565b60405180910390fd5b5f806110af85856115a2565b915091506110c05f878484876115d2565b505050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361113f575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611136919061235c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036111af575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016111a6919061235c565b60405180910390fd5b6111bc85858585856115d2565b5050505050565b5f60208202602084010151905092915050565b5f60208202602084010151905092915050565b6111f16110c8565b73ffffffffffffffffffffffffffffffffffffffff1661120f610bfa565b73ffffffffffffffffffffffffffffffffffffffff161461126e576112326110c8565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611265919061235c565b60405180910390fd5b565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a3575f6040517fced3e10000000000000000000000000000000000000000000000000000000000815260040161139a919061235c565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161148f9190611f0a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361150c575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611503919061235c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361157c575f6040517f01a83514000000000000000000000000000000000000000000000000000000008152600401611573919061235c565b60405180910390fd5b5f8061158885856115a2565b9150915061159987878484876115d2565b50505050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b6115de8585858561167e565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611677575f61161a6110c8565b90506001845103611666575f6116395f866111d690919063ffffffff16565b90505f61164f5f866111d690919063ffffffff16565b905061165f838989858589611a0e565b5050611675565b611674818787878787611bbd565b5b505b5050505050565b80518251146116c857815181516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016116bf929190612987565b60405180910390fd5b5f6116d16110c8565b90505f5b83518110156118cd575f6116f282866111d690919063ffffffff16565b90505f61170883866111d690919063ffffffff16565b90505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461182b575f805f8481526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156117d757888183856040517f03dee4c50000000000000000000000000000000000000000000000000000000081526004016117ce9493929190612d53565b60405180910390fd5b8181035f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146118c057805f808481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546118b89190612d96565b925050819055505b50508060010190506116d5565b506001835103611988575f6118eb5f856111d690919063ffffffff16565b90505f6119015f856111d690919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611979929190612987565b60405180910390a45050611a07565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516119fe929190612dc9565b60405180910390a45b5050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611bb5578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401611a6e959493929190612e50565b6020604051808303815f875af1925050508015611aa957506040513d601f19601f82011682018060405250810190611aa69190612ebc565b60015b611b2a573d805f8114611ad7576040519150601f19603f3d011682016040523d82523d5f602084013e611adc565b606091505b505f815103611b2257846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611b19919061235c565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611bb357846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611baa919061235c565b60405180910390fd5b505b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1115611d64578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611c1d959493929190612ee7565b6020604051808303815f875af1925050508015611c5857506040513d601f19601f82011682018060405250810190611c559190612ebc565b60015b611cd9573d805f8114611c86576040519150601f19603f3d011682016040523d82523d5f602084013e611c8b565b606091505b505f815103611cd157846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611cc8919061235c565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611d6257846040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611d59919061235c565b60405180910390fd5b505b505050505050565b5f819050919050565b611d7e81611d6c565b82525050565b5f602082019050611d975f830184611d75565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dd782611dae565b9050919050565b611de781611dcd565b8114611df1575f80fd5b50565b5f81359050611e0281611dde565b92915050565b611e1181611d6c565b8114611e1b575f80fd5b50565b5f81359050611e2c81611e08565b92915050565b5f8060408385031215611e4857611e47611da6565b5b5f611e5585828601611df4565b9250506020611e6685828601611e1e565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ea481611e70565b8114611eae575f80fd5b50565b5f81359050611ebf81611e9b565b92915050565b5f60208284031215611eda57611ed9611da6565b5b5f611ee784828501611eb1565b91505092915050565b5f8115159050919050565b611f0481611ef0565b82525050565b5f602082019050611f1d5f830184611efb565b92915050565b5f805f805f8060c08789031215611f3d57611f3c611da6565b5b5f611f4a89828a01611df4565b9650506020611f5b89828a01611e1e565b9550506040611f6c89828a01611df4565b9450506060611f7d89828a01611e1e565b9350506080611f8e89828a01611e1e565b92505060a0611f9f89828a01611e1e565b9150509295509295509295565b5f60208284031215611fc157611fc0611da6565b5b5f611fce84828501611e1e565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61201982611fd7565b6120238185611fe1565b9350612033818560208601611ff1565b61203c81611fff565b840191505092915050565b5f6020820190508181035f83015261205f818461200f565b905092915050565b5f6020828403121561207c5761207b611da6565b5b5f61208984828501611df4565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6120cc82611fff565b810181811067ffffffffffffffff821117156120eb576120ea612096565b5b80604052505050565b5f6120fd611d9d565b905061210982826120c3565b919050565b5f67ffffffffffffffff82111561212857612127612096565b5b602082029050602081019050919050565b5f80fd5b5f61214f61214a8461210e565b6120f4565b9050808382526020820190506020840283018581111561217257612171612139565b5b835b8181101561219b57806121878882611e1e565b845260208401935050602081019050612174565b5050509392505050565b5f82601f8301126121b9576121b8612092565b5b81356121c984826020860161213d565b91505092915050565b5f80fd5b5f67ffffffffffffffff8211156121f0576121ef612096565b5b6121f982611fff565b9050602081019050919050565b828183375f83830152505050565b5f612226612221846121d6565b6120f4565b905082815260208101848484011115612242576122416121d2565b5b61224d848285612206565b509392505050565b5f82601f83011261226957612268612092565b5b8135612279848260208601612214565b91505092915050565b5f805f805f60a0868803121561229b5761229a611da6565b5b5f6122a888828901611df4565b95505060206122b988828901611df4565b945050604086013567ffffffffffffffff8111156122da576122d9611daa565b5b6122e6888289016121a5565b935050606086013567ffffffffffffffff81111561230757612306611daa565b5b612313888289016121a5565b925050608086013567ffffffffffffffff81111561233457612333611daa565b5b61234088828901612255565b9150509295509295909350565b61235681611dcd565b82525050565b5f60208201905061236f5f83018461234d565b92915050565b5f819050919050565b5f61239861239361238e84611dae565b612375565b611dae565b9050919050565b5f6123a98261237e565b9050919050565b5f6123ba8261239f565b9050919050565b6123ca816123b0565b82525050565b5f6020820190506123e35f8301846123c1565b92915050565b5f67ffffffffffffffff82111561240357612402612096565b5b602082029050602081019050919050565b5f612426612421846123e9565b6120f4565b9050808382526020820190506020840283018581111561244957612448612139565b5b835b81811015612472578061245e8882611df4565b84526020840193505060208101905061244b565b5050509392505050565b5f82601f8301126124905761248f612092565b5b81356124a0848260208601612414565b91505092915050565b5f80604083850312156124bf576124be611da6565b5b5f83013567ffffffffffffffff8111156124dc576124db611daa565b5b6124e88582860161247c565b925050602083013567ffffffffffffffff81111561250957612508611daa565b5b612515858286016121a5565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61255181611d6c565b82525050565b5f6125628383612548565b60208301905092915050565b5f602082019050919050565b5f6125848261251f565b61258e8185612529565b935061259983612539565b805f5b838110156125c95781516125b08882612557565b97506125bb8361256e565b92505060018101905061259c565b5085935050505092915050565b5f6020820190508181035f8301526125ee818461257a565b905092915050565b5f67ffffffffffffffff8211156126105761260f612096565b5b61261982611fff565b9050602081019050919050565b5f612638612633846125f6565b6120f4565b905082815260208101848484011115612654576126536121d2565b5b61265f848285612206565b509392505050565b5f82601f83011261267b5761267a612092565b5b813561268b848260208601612626565b91505092915050565b5f80604083850312156126aa576126a9611da6565b5b5f6126b785828601611e1e565b925050602083013567ffffffffffffffff8111156126d8576126d7611daa565b5b6126e485828601612667565b9150509250929050565b6126f781611ef0565b8114612701575f80fd5b50565b5f81359050612712816126ee565b92915050565b5f806040838503121561272e5761272d611da6565b5b5f61273b85828601611df4565b925050602061274c85828601612704565b9150509250929050565b5f806040838503121561276c5761276b611da6565b5b5f61277985828601611df4565b925050602061278a85828601611df4565b9150509250929050565b5f805f805f60a086880312156127ad576127ac611da6565b5b5f6127ba88828901611df4565b95505060206127cb88828901611df4565b94505060406127dc88828901611e1e565b93505060606127ed88828901611e1e565b925050608086013567ffffffffffffffff81111561280e5761280d611daa565b5b61281a88828901612255565b9150509295509295909350565b5f60608201905061283a5f83018661234d565b612847602083018561234d565b6128546040830184611d75565b949350505050565b5f8151905061286a816126ee565b92915050565b5f6020828403121561288557612884611da6565b5b5f6128928482850161285c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128df57607f821691505b6020821081036128f2576128f161289b565b5b50919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61292c600f83611fe1565b9150612937826128f8565b602082019050919050565b5f6020820190508181035f83015261295981612920565b9050919050565b5f6040820190506129735f83018561234d565b612980602083018461234d565b9392505050565b5f60408201905061299a5f830185611d75565b6129a76020830184611d75565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612a377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826129fc565b612a4186836129fc565b95508019841693508086168417925050509392505050565b5f612a73612a6e612a6984611d6c565b612375565b611d6c565b9050919050565b5f819050919050565b612a8c83612a59565b612aa0612a9882612a7a565b848454612a08565b825550505050565b5f90565b612ab4612aa8565b612abf818484612a83565b505050565b5b81811015612ae257612ad75f82612aac565b600181019050612ac5565b5050565b601f821115612b2757612af8816129db565b612b01846129ed565b81016020851015612b10578190505b612b24612b1c856129ed565b830182612ac4565b50505b505050565b5f82821c905092915050565b5f612b475f1984600802612b2c565b1980831691505092915050565b5f612b5f8383612b38565b9150826002028217905092915050565b612b7882611fd7565b67ffffffffffffffff811115612b9157612b90612096565b5b612b9b82546128c8565b612ba6828285612ae6565b5f60209050601f831160018114612bd7575f8415612bc5578287015190505b612bcf8582612b54565b865550612c36565b601f198416612be5866129db565b5f5b82811015612c0c57848901518255600182019150602085019450602081019050612be7565b86831015612c295784890151612c25601f891682612b38565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c7582611d6c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ca757612ca6612c3e565b5b600182019050919050565b5f819050919050565b5f612cd5612cd0612ccb84612cb2565b612375565b611d6c565b9050919050565b612ce581612cbb565b82525050565b5f606082019050612cfe5f83018661234d565b612d0b602083018561234d565b612d186040830184612cdc565b949350505050565b5f612d2a82611d6c565b9150612d3583611d6c565b9250828203905081811115612d4d57612d4c612c3e565b5b92915050565b5f608082019050612d665f83018761234d565b612d736020830186611d75565b612d806040830185611d75565b612d8d6060830184611d75565b95945050505050565b5f612da082611d6c565b9150612dab83611d6c565b9250828201905080821115612dc357612dc2612c3e565b5b92915050565b5f6040820190508181035f830152612de1818561257a565b90508181036020830152612df5818461257a565b90509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612e2282612dfe565b612e2c8185612e08565b9350612e3c818560208601611ff1565b612e4581611fff565b840191505092915050565b5f60a082019050612e635f83018861234d565b612e70602083018761234d565b612e7d6040830186611d75565b612e8a6060830185611d75565b8181036080830152612e9c8184612e18565b90509695505050505050565b5f81519050612eb681611e9b565b92915050565b5f60208284031215612ed157612ed0611da6565b5b5f612ede84828501612ea8565b91505092915050565b5f60a082019050612efa5f83018861234d565b612f07602083018761234d565b8181036040830152612f19818661257a565b90508181036060830152612f2d818561257a565b90508181036080830152612f418184612e18565b9050969550505050505056fea26469706673582212202f927177f0274b94c9f6441052002f9c8f3a06b0e261725f4a4ca29f763a414c64736f6c634300081a0033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913