[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "howManyTokens", "type": "uint256" }, { "internalType": "uint256", "name": "supplyPerToken", "type": "uint256" }, { "internalType": "string", "name": "baseURI", "type": "string" }, { "internalType": "address", "name": "royaltiesRecipient", "type": "address" }, { "internalType": "uint24", "name": "royaltiesBasispoints", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155ReceiverRejectedTokens", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "owned", "type": "uint256" }, { "internalType": "uint256", "name": "requested", "type": "uint256" } ], "name": "InsufficientTokens", "type": "error" }, { "inputs": [], "name": "InvalidAddress", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "UnauthorizedTransfer", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "uri", "type": "string" } ], "name": "BaseUriUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": false, "internalType": "uint24", "name": "amount", "type": "uint24" } ], "name": "RoyaltyInfoUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "creator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "creatorOwnershipBitMap", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "exists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "howManyTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "isOwnedByCreator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint24", "name": "basispoints", "type": "uint24" } ], "name": "reduceRoyalties", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "royalties", "outputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint24", "name": "amount", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "supplyPerToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "transferRoyaltiesRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_baseURI", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620021f0380380620021f083398101604081905262000034916200021d565b6001600055600380546001600160a01b0319163217905581818888888888600462000060868262000385565b5060056200006f858262000385565b5060066200007e828262000385565b5050600855600755506200009590508282620000a4565b50505050505050505062000451565b6127108162ffffff1611156200010e5760405162461bcd60e51b815260206004820152602560248201527f455243323938313a20726f79616c7479206261736973706f696e747320746f6f604482015264040d0d2ced60db1b606482015260840160405180910390fd5b600a805462ffffff909216600160a01b026001600160b81b03199092166001600160a01b0390931692909217179055565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200016757600080fd5b81516001600160401b03808211156200018457620001846200013f565b604051601f8301601f19908116603f01168101908282118183101715620001af57620001af6200013f565b81604052838152602092508683858801011115620001cc57600080fd5b600091505b83821015620001f05785820183015181830184015290820190620001d1565b600093810190920192909252949350505050565b805162ffffff811681146200021857600080fd5b919050565b600080600080600080600060e0888a0312156200023957600080fd5b87516001600160401b03808211156200025157600080fd5b6200025f8b838c0162000155565b985060208a01519150808211156200027657600080fd5b620002848b838c0162000155565b975060408a0151965060608a0151955060808a0151915080821115620002a957600080fd5b50620002b88a828b0162000155565b60a08a015190945090506001600160a01b0381168114620002d857600080fd5b9150620002e860c0890162000204565b905092959891949750929550565b600181811c908216806200030b57607f821691505b6020821081036200032c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200038057600081815260208120601f850160051c810160208610156200035b5750805b601f850160051c820191505b818110156200037c5782815560010162000367565b5050505b505050565b81516001600160401b03811115620003a157620003a16200013f565b620003b981620003b28454620002f6565b8462000332565b602080601f831160018114620003f15760008415620003d85750858301515b600019600386901b1c1916600185901b1785556200037c565b600085815260208120601f198616915b82811015620004225788860151825594840194600190910190840162000401565b5085821015620004415787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611d8f80620004616000396000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c80636c0360eb116100c3578063a22cb4651161007c578063a22cb465146102f5578063b789308414610308578063bd85b03914610311578063e985e9c514610324578063f053dc5c14610337578063f242432a1461037b57600080fd5b80636c0360eb1461028457806378dfc4e81461028c5780637dbd127e146102be5780637f3aa0c4146102c7578063931688cb146102da57806395d89b41146102ed57600080fd5b80630e89341c116101155780630e89341c146101ef5780632a55205a146102025780632eb2c2d61461023457806343a65f85146102475780634e1273f41461025c5780634f558e791461026f57600080fd5b8062fdd58e1461015157806301ffc9a71461017757806302d05d3f1461019a57806306fdde03146101c557806308cc197c146101da575b600080fd5b61016461015f3660046113a3565b61038e565b6040519081526020015b60405180910390f35b61018a6101853660046113e6565b610401565b604051901515815260200161016e565b6003546101ad906001600160a01b031681565b6040516001600160a01b03909116815260200161016e565b6101cd61040c565b60405161016e919061145a565b6101ed6101e836600461146d565b61049a565b005b6101cd6101fd366004611488565b610534565b6102156102103660046114a1565b6105e1565b604080516001600160a01b03909316835260208301919091520161016e565b6101ed610242366004611619565b61061f565b61024f6107c6565b60405161016e91906116fe565b61024f61026a366004611711565b6107e3565b61018a61027d366004611488565b6007541190565b6101cd61090d565b61018a61029a366004611488565b600881901c600090815260096020526040902054600160ff9092169190911b161590565b61016460075481565b6101ed6102d53660046117dc565b61091a565b6101ed6102e8366004611801565b610a20565b6101cd610a87565b6101ed610303366004611852565b610a94565b61016460085481565b61016461031f366004611488565b610aa3565b61018a61033236600461188e565b610ac3565b600a54610358906001600160a01b03811690600160a01b900462ffffff1682565b604080516001600160a01b03909316835262ffffff90911660208301520161016e565b6101ed6103893660046118b8565b610af1565b60008061039b8484610bc8565b905080156103aa5790506103fb565b6003546001600160a01b0385811691161480156103e05750600883901c600090815260096020526040902054600160ff85161b16155b156103ef5750506008546103fb565b60009150506103fb565b505b92915050565b60006103fb82610c1b565b600480546104199061191d565b80601f01602080910402602001604051908101604052809291908181526020018280546104459061191d565b80156104925780601f1061046757610100808354040283529160200191610492565b820191906000526020600020905b81548152906001019060200180831161047557829003601f168201915b505050505081565b600a546001600160a01b03163381146104c5576040516282b42960e81b815260040160405180910390fd5b600a546104df908390600160a01b900462ffffff16610c40565b600a54604080516001600160a01b0385168152600160a01b90920462ffffff1660208301527f578e3eb2d4c9089ff58a6f307429a8aa35c32a32693f6a480b217fe7e6c8035091015b60405180910390a15050565b6060610541826007541190565b6105af5760405162461bcd60e51b815260206004820152603460248201527f49455243313135354d657461646174615552493a20757269207175657279206660448201527337b9103737b732bc34b9ba32b73a103a37b5b2b760611b60648201526084015b60405180910390fd5b60066105ba83610cd6565b6040516020016105cb929190611957565b6040516020818303038152906040529050919050565b600a546001600160a01b038116906000906127109061060c90600160a01b900462ffffff1685611a13565b6106169190611a2a565b90509250929050565b610627610e02565b846001600160a01b038116331480159061064857506106468133610ac3565b155b1561066857604051639a2983a360e01b81523360048201526024016105a6565b846001600160a01b0381166106905760405163e6c4247b60e01b815260040160405180910390fd5b83518551146106f25760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016105a6565b60005b855181101561074d5761073d888888848151811061071557610715611a4c565b602002602001015188858151811061072f5761072f611a4c565b602002602001015188610e5b565b61074681611a62565b90506106f5565b50856001600160a01b0316876001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb888860405161079d929190611a7b565b60405180910390a46107b3338888888888610eff565b50506107bf6001600055565b5050505050565b60606107de600754600961101590919063ffffffff16565b905090565b606081518351146108485760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016105a6565b6000835167ffffffffffffffff811115610864576108646114c3565b60405190808252806020026020018201604052801561088d578160200160208202803683370190505b50905060005b8451811015610905576108d88582815181106108b1576108b1611a4c565b60200260200101518583815181106108cb576108cb611a4c565b602002602001015161038e565b8282815181106108ea576108ea611a4c565b60209081029190910101526108fe81611a62565b9050610893565b509392505050565b600680546104199061191d565b600a546001600160a01b0316338114610945576040516282b42960e81b815260040160405180910390fd5b600a5462ffffff600160a01b9091048116908316106109c35760405162461bcd60e51b815260206004820152603460248201527f455243323938313a207265647563656420726f79616c7479206261736973706f60448201527334b73a399036bab9ba1031329039b6b0b63632b960611b60648201526084016105a6565b600a546109d9906001600160a01b031683610c40565b600a54604080516001600160a01b03909216825262ffffff841660208301527f578e3eb2d4c9089ff58a6f307429a8aa35c32a32693f6a480b217fe7e6c803509101610528565b600a546001600160a01b0316338114610a4b576040516282b42960e81b815260040160405180910390fd5b6006610a578382611af4565b507fc35611e34b3940869a5132c8bc8ec4854192b0bfea25d0b9b38bcdeec2c09a7f82604051610528919061145a565b600580546104199061191d565b610a9f3383836110cd565b5050565b6000610ab0826007541190565b610abb5760006103fb565b505060085490565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b610af9610e02565b846001600160a01b0381163314801590610b1a5750610b188133610ac3565b155b15610b3a57604051639a2983a360e01b81523360048201526024016105a6565b846001600160a01b038116610b625760405163e6c4247b60e01b815260040160405180910390fd5b610b6f8787878787610e5b565b60408051868152602081018690526001600160a01b0380891692908a169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46107b33388888888886111ad565b6000826001600160a01b038116610bf25760405163e6c4247b60e01b815260040160405180910390fd5b505060009081526001602090815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b0319821663152a902d60e11b14806103fb57506103fb82611274565b6127108162ffffff161115610ca55760405162461bcd60e51b815260206004820152602560248201527f455243323938313a20726f79616c7479206261736973706f696e747320746f6f604482015264040d0d2ced60db1b60648201526084016105a6565b600a805462ffffff909216600160a01b026001600160b81b03199092166001600160a01b0390931692909217179055565b606081600003610cfd5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d275780610d1181611a62565b9150610d209050600a83611a2a565b9150610d01565b60008167ffffffffffffffff811115610d4257610d426114c3565b6040519080825280601f01601f191660200182016040528015610d6c576020820181803683370190505b509050815b8515610df957610d82600182611bb4565b90506000610d91600a88611a2a565b610d9c90600a611a13565b610da69088611bb4565b610db1906030611bc7565b905060008160f81b905080848481518110610dce57610dce611a4c565b60200101906001600160f81b031916908160001a905350610df0600a89611a2a565b97505050610d71565b50949350505050565b600260005403610e545760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105a6565b6002600055565b6003546001600160a01b038681169116148015610e915750600883901c600090815260096020526040902054600160ff85161b16155b15610ef257600883901c60009081526009602052604090208054600160ff86161b17905560085460008481526001602090815260408083206003546001600160a01b0316845290915281208054909190610eec908490611be0565b90915550505b6107bf8585858585611299565b6001600160a01b0384163b1561100d5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610f439089908990889088908890600401611bf3565b6020604051808303816000875af1925050508015610f7e575060408051601f3d908101601f19168201909252610f7b91810190611c51565b60015b610fcf57610f8a611c6e565b806308c379a003610fc35750610f9e611c8a565b80610fa95750610fc5565b8060405162461bcd60e51b81526004016105a6919061145a565b505b3d6000803e3d6000fd5b6001600160e01b0319811663bc197c8160e01b1461100b576040516305e02e2d60e41b81526001600160a01b03861660048201526024016105a6565b505b505050505050565b606060008260ff161161102957600061102c565b60015b61103d9060ff16600884901c611be0565b67ffffffffffffffff811115611055576110556114c3565b60405190808252806020026020018201604052801561107e578160200160208202803683370190505b50905060005b81518110156103f95760008181526020859052604090205482518390839081106110b0576110b0611a4c565b6020908102919091010152806110c581611a62565b915050611084565b816001600160a01b0316836001600160a01b0316036111405760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016105a6565b6001600160a01b03838116600081815260026020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384163b1561100d5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906111f19089908990889088908890600401611d14565b6020604051808303816000875af192505050801561122c575060408051601f3d908101601f1916820190925261122991810190611c51565b60015b61123857610f8a611c6e565b6001600160e01b0319811663f23a6e6160e01b1461100b576040516305e02e2d60e41b81526001600160a01b03861660048201526024016105a6565b60006001600160e01b031982166303a24d0760e21b14806103fb57506103fb82611352565b60008381526001602090815260408083206001600160a01b0389168452909152902054828110156112fd5760405163376c5de960e01b8152600481018590526001600160a01b038716602482015260448101829052606481018490526084016105a6565b6113078382611bb4565b60008581526001602090815260408083206001600160a01b038b81168552925280832093909355871681529081208054859290611345908490611be0565b9091555050505050505050565b60006001600160e01b03198216636cdb3d1360e11b14806103fb57506301ffc9a760e01b6001600160e01b03198316146103fb565b80356001600160a01b038116811461139e57600080fd5b919050565b600080604083850312156113b657600080fd5b6113bf83611387565b946020939093013593505050565b6001600160e01b0319811681146113e357600080fd5b50565b6000602082840312156113f857600080fd5b8135611403816113cd565b9392505050565b60005b8381101561142557818101518382015260200161140d565b50506000910152565b6000815180845261144681602086016020860161140a565b601f01601f19169290920160200192915050565b602081526000611403602083018461142e565b60006020828403121561147f57600080fd5b61140382611387565b60006020828403121561149a57600080fd5b5035919050565b600080604083850312156114b457600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156114ff576114ff6114c3565b6040525050565b600067ffffffffffffffff821115611520576115206114c3565b5060051b60200190565b600082601f83011261153b57600080fd5b8135602061154882611506565b60405161155582826114d9565b83815260059390931b850182019282810191508684111561157557600080fd5b8286015b848110156115905780358352918301918301611579565b509695505050505050565b600067ffffffffffffffff8311156115b5576115b56114c3565b6040516115cc601f8501601f1916602001826114d9565b8091508381528484840111156115e157600080fd5b83836020830137600060208583010152509392505050565b600082601f83011261160a57600080fd5b6114038383356020850161159b565b600080600080600060a0868803121561163157600080fd5b61163a86611387565b945061164860208701611387565b9350604086013567ffffffffffffffff8082111561166557600080fd5b61167189838a0161152a565b9450606088013591508082111561168757600080fd5b61169389838a0161152a565b935060808801359150808211156116a957600080fd5b506116b6888289016115f9565b9150509295509295909350565b600081518084526020808501945080840160005b838110156116f3578151875295820195908201906001016116d7565b509495945050505050565b60208152600061140360208301846116c3565b6000806040838503121561172457600080fd5b823567ffffffffffffffff8082111561173c57600080fd5b818501915085601f83011261175057600080fd5b8135602061175d82611506565b60405161176a82826114d9565b83815260059390931b850182019282810191508984111561178a57600080fd5b948201945b838610156117af576117a086611387565b8252948201949082019061178f565b965050860135925050808211156117c557600080fd5b506117d28582860161152a565b9150509250929050565b6000602082840312156117ee57600080fd5b813562ffffff8116811461140357600080fd5b60006020828403121561181357600080fd5b813567ffffffffffffffff81111561182a57600080fd5b8201601f8101841361183b57600080fd5b61184a8482356020840161159b565b949350505050565b6000806040838503121561186557600080fd5b61186e83611387565b91506020830135801515811461188357600080fd5b809150509250929050565b600080604083850312156118a157600080fd5b6118aa83611387565b915061061660208401611387565b600080600080600060a086880312156118d057600080fd5b6118d986611387565b94506118e760208701611387565b93506040860135925060608601359150608086013567ffffffffffffffff81111561191157600080fd5b6116b6888289016115f9565b600181811c9082168061193157607f821691505b60208210810361195157634e487b7160e01b600052602260045260246000fd5b50919050565b60008084546119658161191d565b6001828116801561197d5760018114611992576119c1565b60ff19841687528215158302870194506119c1565b8860005260208060002060005b858110156119b85781548a82015290840190820161199f565b50505082870194505b50602f60f81b8452865192506119dd8382860160208a0161140a565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103fb576103fb6119fd565b600082611a4757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611a7457611a746119fd565b5060010190565b604081526000611a8e60408301856116c3565b8281036020840152611aa081856116c3565b95945050505050565b601f821115611aef57600081815260208120601f850160051c81016020861015611ad05750805b601f850160051c820191505b8181101561100d57828155600101611adc565b505050565b815167ffffffffffffffff811115611b0e57611b0e6114c3565b611b2281611b1c845461191d565b84611aa9565b602080601f831160018114611b575760008415611b3f5750858301515b600019600386901b1c1916600185901b17855561100d565b600085815260208120601f198616915b82811015611b8657888601518255948401946001909101908401611b67565b5085821015611ba45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156103fb576103fb6119fd565b60ff81811683821601908111156103fb576103fb6119fd565b808201808211156103fb576103fb6119fd565b6001600160a01b0386811682528516602082015260a060408201819052600090611c1f908301866116c3565b8281036060840152611c3181866116c3565b90508281036080840152611c45818561142e565b98975050505050505050565b600060208284031215611c6357600080fd5b8151611403816113cd565b600060033d1115611c875760046000803e5060005160e01c5b90565b600060443d1015611c985790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715611cc857505050505090565b8285019150815181811115611ce05750505050505090565b843d8701016020828501011115611cfa5750505050505090565b611d09602082860101876114d9565b509095945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090611d4e9083018461142e565b97965050505050505056fea2646970667358221220944bcfa1788f8b6082b8913fe6794a9d6d5acd1cdc4c30868d46d00d32279c2364736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004766f6964000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e0a5900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b687474703a2f2f6e6f6e65000000000000000000000000000000000000000000