[ { "inputs": [ { "internalType": "address", "name": "initialOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC1155InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC1155InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "idsLength", "type": "uint256" }, { "internalType": "uint256", "name": "valuesLength", "type": "uint256" } ], "name": "ERC1155InvalidArrayLength", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC1155InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC1155InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC1155MissingApprovalForAll", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "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": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "TokensMinted", "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": "uint256", "name": "id", "type": "uint256" }, { "internalType": "string", "name": "title", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "svgArt", "type": "string" } ], "name": "InitialToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "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": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "burnBatch", "outputs": [], "stateMutability": "nonpayable", "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": "isLocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isMintPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "isTokenMintPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "lockToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "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": "value", "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": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "string", "name": "title", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" } ], "name": "setTitleDescription", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "togglePause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "togglePauseToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "tokenInformation", "outputs": [ { "components": [ { "internalType": "string", "name": "title", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "svgArt", "type": "string" } ], "internalType": "struct PanesOE.TokenMetadata", "name": "", "type": "tuple" }, { "components": [ { "internalType": "bool", "name": "locked", "type": "bool" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" } ], "internalType": "struct PanesOE.TokenInfo", "name": "", "type": "tuple" } ], "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": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "string", "name": "svgArt", "type": "string" } ], "name": "uploadArt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60c0604052601e60809081527f50616e6573204f70656e2045646974696f6e206279205472756564726577000060a05260059061003c90826101f3565b506040805180820190915260068082526550414e454f4560d01b60208301529061006690826101f3565b506009805460ff1916600117905534801561007f575f5ffd5b50604051612c3e380380612c3e83398101604081905261009e916102ad565b60408051602081019091525f815281906100b7816100fa565b506001600160a01b0381166100e557604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100ee8161010a565b505060016004556102da565b600261010682826101f3565b5050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061018357607f821691505b6020821081036101a157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101ee57805f5260205f20601f840160051c810160208510156101cc5750805b601f840160051c820191505b818110156101eb575f81556001016101d8565b50505b505050565b81516001600160401b0381111561020c5761020c61015b565b6102208161021a845461016f565b846101a7565b6020601f821160018114610252575f831561023b5750848201515b5f19600385901b1c1916600184901b1784556101eb565b5f84815260208120601f198516915b828110156102815787850151825560209485019460019092019101610261565b508482101561029e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156102bd575f5ffd5b81516001600160a01b03811681146102d3575f5ffd5b9392505050565b612957806102e75f395ff3fe608060405234801561000f575f5ffd5b50600436106101a0575f3560e01c80636b20c454116100f3578063bd85b03911610093578063f242432a1161006e578063f242432a1461039d578063f2fde38b146103b0578063f5298aca146103c3578063f6aacfb1146103d6575f5ffd5b8063bd85b03914610360578063c4ae316814610382578063e985e9c51461038a575f5ffd5b80638ce1f391116100ce5780638ce1f391146103035780638da5cb5b1461032a57806395d89b4114610345578063a22cb4651461034d575f5ffd5b80636b20c454146102d5578063715018a6146102e857806380f20363146102f0575f5ffd5b80631f22d3831161015e5780632eb2c2d6116101395780632eb2c2d61461027c5780634e1273f41461028f57806359fc1f89146102af5780636862193d146102c2575f5ffd5b80631f22d383146102355780632ca0a895146102485780632d00ff471461025b575f5ffd5b8062fdd58e146101a457806301ffc9a7146101ca57806306fdde03146101ed5780630e89341c14610202578063156e29f61461021557806315839b301461022a575b5f5ffd5b6101b76101b2366004611e7c565b6103f8565b6040519081526020015b60405180910390f35b6101dd6101d8366004611eb9565b61041f565b60405190151581526020016101c1565b6101f561046e565b6040516101c19190611f09565b6101f5610210366004611f1b565b6104fa565b610228610223366004611f32565b6107ba565b005b60095460ff166101dd565b610228610243366004611f1b565b6109f3565b610228610256366004612017565b610a23565b61026e610269366004611f1b565b610ca2565b6040516101c192919061205a565b61022861028a366004612166565b610ef1565b6102a261029d366004612212565b610f58565b6040516101c19190612303565b6102286102bd366004612315565b611022565b6102286102d0366004612380565b6111c7565b6102286102e3366004612415565b611314565b610228611373565b6102286102fe366004611f1b565b611386565b6101dd610311366004611f1b565b5f90815260086020526040902054610100900460ff1690565b6003546040516001600160a01b0390911681526020016101c1565b6101f5611406565b61022861035b36600461247d565b611413565b6101b761036e366004611f1b565b5f9081526008602052604090206001015490565b610228611422565b6101dd6103983660046124b6565b61143e565b6102286103ab3660046124e7565b61146b565b6102286103be36600461253a565b6114ca565b6102286103d1366004611f32565b611507565b6101dd6103e4366004611f1b565b5f9081526008602052604090205460ff1690565b5f818152602081815260408083206001600160a01b03861684529091529020545b92915050565b5f6001600160e01b03198216636cdb3d1360e11b148061044f57506001600160e01b031982166303a24d0760e21b145b8061041957506301ffc9a760e01b6001600160e01b0319831614610419565b6005805461047b90612553565b80601f01602080910402602001604051908101604052809291908181526020018280546104a790612553565b80156104f25780601f106104c9576101008083540402835291602001916104f2565b820191905f5260205f20905b8154815290600101906020018083116104d557829003601f168201915b505050505081565b5f8181526007602052604081206002018054606092919061051a90612553565b9050116105635760405162461bcd60e51b8152602060048201526012602482015271151bdad95b881251081b9bdd08199bdd5b9960721b60448201526064015b60405180910390fd5b5f8281526007602052604080822081516060810190925280548290829061058990612553565b80601f01602080910402602001604051908101604052809291908181526020018280546105b590612553565b80156106005780601f106105d757610100808354040283529160200191610600565b820191905f5260205f20905b8154815290600101906020018083116105e357829003601f168201915b5050505050815260200160018201805461061990612553565b80601f016020809104026020016040519081016040528092919081815260200182805461064590612553565b80156106905780601f1061066757610100808354040283529160200191610690565b820191905f5260205f20905b81548152906001019060200180831161067357829003601f168201915b505050505081526020016002820180546106a990612553565b80601f01602080910402602001604051908101604052809291908181526020018280546106d590612553565b80156107205780601f106106f757610100808354040283529160200191610720565b820191905f5260205f20905b81548152906001019060200180831161070357829003601f168201915b50505050508152505090505f816040015160405160200161074191906125a2565b60405160208183030381529060405290505f825f015183602001516107658461153d565b604051602001610777939291906125ad565b60405160208183030381529060405290506107918161153d565b6040516020016107a19190612658565b6040516020818303038152906040529350505050919050565b6107c261169b565b60095460ff16156108235760405162461bcd60e51b815260206004820152602560248201527f4d696e74696e672069732070617573656420666f72207468697320636f6c6c6560448201526431ba34b7b760d91b606482015260840161055a565b5f82815260086020526040902054610100900460ff16156108865760405162461bcd60e51b815260206004820181905260248201527f4d696e74696e672069732070617573656420666f72207468697320746f6b656e604482015260640161055a565b5f82815260076020526040812060020180546108a190612553565b9050116108ff5760405162461bcd60e51b815260206004820152602660248201527f417274776f726b206e6f742075706c6f6164656420666f72207468697320746f6044820152651ad95b88125160d21b606482015260840161055a565b5f8111801561090e5750606581105b6109655760405162461bcd60e51b815260206004820152602260248201527f5175616e74697479206d757374206265206265747765656e203120616e642031604482015261030360f41b606482015260840161055a565b61097f83838360405180602001604052805f8152506116f4565b5f828152600860205260408120600101805483929061099f90849061269d565b909155505060405181815282906001600160a01b038516907f2e8ac5177a616f2aec08c3048f5021e4e9743ece034e8d83ba5caf76688bb4759060200160405180910390a36109ee6001600455565b505050565b6109fb61174f565b5f908152600860205260409020805461ff001981166101009182900460ff1615909102179055565b610a2b61174f565b5f8281526008602052604090205460ff1615610a9a5760405162461bcd60e51b815260206004820152602860248201527f417274776f726b206973206c6f636b656420616e642063616e6e6f74206265206044820152671b5bd91a599a595960c21b606482015260840161055a565b5f815111610ae05760405162461bcd60e51b81526020600482015260136024820152725356472063616e6e6f7420626520656d70747960681b604482015260640161055a565b604080516060810182525f8481526007602052919091208054829190610b0590612553565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3190612553565b8015610b7c5780601f10610b5357610100808354040283529160200191610b7c565b820191905f5260205f20905b815481529060010190602001808311610b5f57829003601f168201915b5050505050815260200160075f8581526020019081526020015f206001018054610ba590612553565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd190612553565b8015610c1c5780601f10610bf357610100808354040283529160200191610c1c565b820191905f5260205f20905b815481529060010190602001808311610bff57829003601f168201915b505050918352505060209081018390525f84815260079091526040902081518190610c4790826126f4565b5060208201516001820190610c5c90826126f4565b5060408201516002820190610c7190826126f4565b50506040518391507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7905f90a25050565b610cc660405180606001604052806060815260200160608152602001606081525090565b604080516060810182525f80825260208201819052918101919091525f838152600760209081526040808320600890925291829020825160608101909352815491929091839082908290610d1990612553565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4590612553565b8015610d905780601f10610d6757610100808354040283529160200191610d90565b820191905f5260205f20905b815481529060010190602001808311610d7357829003601f168201915b50505050508152602001600182018054610da990612553565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd590612553565b8015610e205780601f10610df757610100808354040283529160200191610e20565b820191905f5260205f20905b815481529060010190602001808311610e0357829003601f168201915b50505050508152602001600282018054610e3990612553565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6590612553565b8015610eb05780601f10610e8757610100808354040283529160200191610eb0565b820191905f5260205f20905b815481529060010190602001808311610e9357829003601f168201915b50505091909252505060408051606081018252845460ff80821615158352610100909104161515602082015260019094015490840152509590945092505050565b336001600160a01b0386168114801590610f125750610f10868261143e565b155b15610f435760405163711bec9160e11b81526001600160a01b0380831660048301528716602482015260440161055a565b610f50868686868661177c565b505050505050565b60608151835114610f895781518351604051635b05999160e01b81526004810192909252602482015260440161055a565b5f83516001600160401b03811115610fa357610fa3611f62565b604051908082528060200260200182016040528015610fcc578160200160208202803683370190505b5090505f5b845181101561101a57602080820286010151610ff5906020808402870101516103f8565b828281518110611007576110076127ae565b6020908102919091010152600101610fd1565b509392505050565b61102a61174f565b5f8381526008602052604090205460ff161561109a5760405162461bcd60e51b815260206004820152602960248201527f4d65746164617461206973206c6f636b656420616e642063616e6e6f74206265604482015268081b5bd91a599a595960ba1b606482015260840161055a565b604051806060016040528083815260200182815260200160075f8681526020019081526020015f2060020180546110d090612553565b80601f01602080910402602001604051908101604052809291908181526020018280546110fc90612553565b80156111475780601f1061111e57610100808354040283529160200191611147565b820191905f5260205f20905b81548152906001019060200180831161112a57829003601f168201915b5050509190925250505f8481526007602052604090208151819061116b90826126f4565b506020820151600182019061118090826126f4565b506040820151600282019061119590826126f4565b50506040518491507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7905f90a2505050565b6111cf61174f565b5f84815260076020526040902060020180546111ea90612553565b1590506112305760405162461bcd60e51b8152602060048201526014602482015273546f6b656e20616c72656164792065786973747360601b604482015260640161055a565b6040805160608101825284815260208082018590528183018490525f8781526007909152919091208151819061126690826126f4565b506020820151600182019061127b90826126f4565b506040820151600282019061129090826126f4565b5050604080516060810182525f808252600160208084018281528486018481528b8552600890925285842094518554915161ffff1990921690151561ff00191617610100911515919091021784555192019190915590518692507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79190a250505050565b6001600160a01b03831633148015906113345750611332833361143e565b155b1561136857335b60405163711bec9160e11b81526001600160a01b039182166004820152908416602482015260440161055a565b6109ee8383836117e1565b61137b61174f565b6113845f611824565b565b61138e61174f565b5f8181526008602052604090205460ff16156113ec5760405162461bcd60e51b815260206004820152601760248201527f546f6b656e20697320616c7265616479206c6f636b6564000000000000000000604482015260640161055a565b5f908152600860205260409020805460ff19166001179055565b6006805461047b90612553565b61141e338383611875565b5050565b61142a61174f565b6009805460ff19811660ff90911615179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b336001600160a01b038616811480159061148c575061148a868261143e565b155b156114bd5760405163711bec9160e11b81526001600160a01b0380831660048301528716602482015260440161055a565b610f508686868686611909565b6114d261174f565b6001600160a01b0381166114fb57604051631e4fbdf760e01b81525f600482015260240161055a565b61150481611824565b50565b6001600160a01b03831633148015906115275750611525833361143e565b155b15611532573361133b565b6109ee838383611995565b606081515f0361155a57505060408051602081019091525f815290565b5f6040518060600160405280604081526020016128e26040913990505f600384516002611587919061269d565b61159191906127c2565b61159c9060046127e1565b90505f6115aa82602061269d565b6001600160401b038111156115c1576115c1611f62565b6040519080825280601f01601f1916602001820160405280156115eb576020820181803683370190505b509050818152600183018586518101602084015b81831015611657576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f81168501518253506001016115ff565b60038951066001811461167157600281146116825761168d565b613d3d60f01b60011983015261168d565b603d60f81b5f198301525b509398975050505050505050565b6002600454036116ed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161055a565b6002600455565b6001600160a01b03841661171d57604051632bfa23e760e11b81525f600482015260240161055a565b60408051600180825260208201869052818301908152606082018590526080820190925290610f505f878484876119f7565b6003546001600160a01b031633146113845760405163118cdaa760e01b815233600482015260240161055a565b6001600160a01b0384166117a557604051632bfa23e760e11b81525f600482015260240161055a565b6001600160a01b0385166117cd57604051626a0d4560e21b81525f600482015260240161055a565b6117da85858585856119f7565b5050505050565b6001600160a01b03831661180957604051626a0d4560e21b81525f600482015260240161055a565b6109ee835f848460405180602001604052805f8152506119f7565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b03821661189d5760405162ced3e160e81b81525f600482015260240161055a565b6001600160a01b038381165f81815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661193257604051632bfa23e760e11b81525f600482015260240161055a565b6001600160a01b03851661195a57604051626a0d4560e21b81525f600482015260240161055a565b6040805160018082526020820186905281830190815260608201859052608082019092529061198c87878484876119f7565b50505050505050565b6001600160a01b0383166119bd57604051626a0d4560e21b81525f600482015260240161055a565b604080516001808252602082018590528183019081526060820184905260a082019092525f608082018181529192916117da918791859085905b611a0385858585611a4a565b6001600160a01b038416156117da5782513390600103611a3c5760208481015190840151611a35838989858589611c59565b5050610f50565b610f50818787878787611d7a565b8051825114611a795781518151604051635b05999160e01b81526004810192909252602482015260440161055a565b335f5b8351811015611b7b576020818102858101820151908501909101516001600160a01b03881615611b2d575f828152602081815260408083206001600160a01b038c16845290915290205481811015611b07576040516303dee4c560e01b81526001600160a01b038a16600482015260248101829052604481018390526064810184905260840161055a565b5f838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615611b71575f828152602081815260408083206001600160a01b038b16845290915281208054839290611b6b90849061269d565b90915550505b5050600101611a7c565b508251600103611bfb5760208301515f906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611bec929190918252602082015260400190565b60405180910390a450506117da565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611c4a9291906127f8565b60405180910390a45050505050565b6001600160a01b0384163b15610f505760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611c9d9089908990889088908890600401612825565b6020604051808303815f875af1925050508015611cd7575060408051601f3d908101601f19168201909252611cd491810190612869565b60015b611d3e573d808015611d04576040519150601f19603f3d011682016040523d82523d5f602084013e611d09565b606091505b5080515f03611d3657604051632bfa23e760e11b81526001600160a01b038616600482015260240161055a565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b1461198c57604051632bfa23e760e11b81526001600160a01b038616600482015260240161055a565b6001600160a01b0384163b15610f505760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611dbe9089908990889088908890600401612884565b6020604051808303815f875af1925050508015611df8575060408051601f3d908101601f19168201909252611df591810190612869565b60015b611e25573d808015611d04576040519150601f19603f3d011682016040523d82523d5f602084013e611d09565b6001600160e01b0319811663bc197c8160e01b1461198c57604051632bfa23e760e11b81526001600160a01b038616600482015260240161055a565b80356001600160a01b0381168114611e77575f5ffd5b919050565b5f5f60408385031215611e8d575f5ffd5b611e9683611e61565b946020939093013593505050565b6001600160e01b031981168114611504575f5ffd5b5f60208284031215611ec9575f5ffd5b8135611ed481611ea4565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611ed46020830184611edb565b5f60208284031215611f2b575f5ffd5b5035919050565b5f5f5f60608486031215611f44575f5ffd5b611f4d84611e61565b95602085013595506040909401359392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611f9e57611f9e611f62565b604052919050565b5f82601f830112611fb5575f5ffd5b8135602083015f5f6001600160401b03841115611fd457611fd4611f62565b50601f8301601f1916602001611fe981611f76565b915050828152858383011115611ffd575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215612028575f5ffd5b8235915060208301356001600160401b03811115612044575f5ffd5b61205085828601611fa6565b9150509250929050565b608081525f83516060608084015261207560e0840182611edb565b90506020850151607f198483030160a08501526120928282611edb565b9150506040850151607f198483030160c08501526120b08282611edb565b92505050825115156020830152602083015115156040830152604083015160608301529392505050565b5f6001600160401b038211156120f2576120f2611f62565b5060051b60200190565b5f82601f83011261210b575f5ffd5b813561211e612119826120da565b611f76565b8082825260208201915060208360051b86010192508583111561213f575f5ffd5b602085015b8381101561215c578035835260209283019201612144565b5095945050505050565b5f5f5f5f5f60a0868803121561217a575f5ffd5b61218386611e61565b945061219160208701611e61565b935060408601356001600160401b038111156121ab575f5ffd5b6121b7888289016120fc565b93505060608601356001600160401b038111156121d2575f5ffd5b6121de888289016120fc565b92505060808601356001600160401b038111156121f9575f5ffd5b61220588828901611fa6565b9150509295509295909350565b5f5f60408385031215612223575f5ffd5b82356001600160401b03811115612238575f5ffd5b8301601f81018513612248575f5ffd5b8035612256612119826120da565b8082825260208201915060208360051b850101925087831115612277575f5ffd5b6020840193505b828410156122a05761228f84611e61565b82526020938401939091019061227e565b945050505060208301356001600160401b038111156122bd575f5ffd5b612050858286016120fc565b5f8151808452602084019350602083015f5b828110156122f95781518652602095860195909101906001016122db565b5093949350505050565b602081525f611ed460208301846122c9565b5f5f5f60608486031215612327575f5ffd5b8335925060208401356001600160401b03811115612343575f5ffd5b61234f86828701611fa6565b92505060408401356001600160401b0381111561236a575f5ffd5b61237686828701611fa6565b9150509250925092565b5f5f5f5f60808587031215612393575f5ffd5b8435935060208501356001600160401b038111156123af575f5ffd5b6123bb87828801611fa6565b93505060408501356001600160401b038111156123d6575f5ffd5b6123e287828801611fa6565b92505060608501356001600160401b038111156123fd575f5ffd5b61240987828801611fa6565b91505092959194509250565b5f5f5f60608486031215612427575f5ffd5b61243084611e61565b925060208401356001600160401b0381111561244a575f5ffd5b612456868287016120fc565b92505060408401356001600160401b03811115612471575f5ffd5b612376868287016120fc565b5f5f6040838503121561248e575f5ffd5b61249783611e61565b9150602083013580151581146124ab575f5ffd5b809150509250929050565b5f5f604083850312156124c7575f5ffd5b6124d083611e61565b91506124de60208401611e61565b90509250929050565b5f5f5f5f5f60a086880312156124fb575f5ffd5b61250486611e61565b945061251260208701611e61565b9350604086013592506060860135915060808601356001600160401b038111156121f9575f5ffd5b5f6020828403121561254a575f5ffd5b611ed482611e61565b600181811c9082168061256757607f821691505b60208210810361258557634e487b7160e01b5f52602260045260245ffd5b50919050565b5f81518060208401855e5f93019283525090919050565b5f611ed4828461258b565b693d913730b6b2911d101160b11b81525f6125cb600a83018661258b565b61088b60f21b81526f113232b9b1b934b83a34b7b7111d101160811b60028201526125f9601282018661258b565b61088b60f21b81527f22696d616765223a2022646174613a696d6167652f7376672b786d6c3b626173600282015263194d8d0b60e21b60228201529050612643602682018561258b565b61227d60f01b81526002019695505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081525f611ed4601d83018461258b565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561041957610419612689565b601f8211156109ee57805f5260205f20601f840160051c810160208510156126d55750805b601f840160051c820191505b818110156117da575f81556001016126e1565b81516001600160401b0381111561270d5761270d611f62565b6127218161271b8454612553565b846126b0565b6020601f821160018114612753575f831561273c5750848201515b5f19600385901b1c1916600184901b1784556117da565b5f84815260208120601f198516915b828110156127825787850151825560209485019460019092019101612762565b508482101561279f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b5f826127dc57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761041957610419612689565b604081525f61280a60408301856122c9565b828103602084015261281c81856122c9565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061285e90830184611edb565b979650505050505050565b5f60208284031215612879575f5ffd5b8151611ed481611ea4565b6001600160a01b0386811682528516602082015260a0604082018190525f906128af908301866122c9565b82810360608401526128c181866122c9565b905082810360808401526128d58185611edb565b9897505050505050505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220818fa0a2bb234de76f3a5b98a3f6ecb663e498eacde26524840ea51a9c7533b864736f6c634300081c0033000000000000000000000000b333449fd966227cf3af0ffd3aaf9d4ff6f7c3e4