/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides, BigNumberish, } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { SignatureMint1155, SignatureMint1155Interface, } from "../SignatureMint1155"; const _abi = [ { inputs: [ { internalType: "string", name: "_contractURI", type: "string", }, { internalType: "address payable", name: "_controlCenter", type: "address", }, { internalType: "address", name: "_trustedForwarder", type: "address", }, { internalType: "address", name: "_nativeTokenWrapper", type: "address", }, { internalType: "address", name: "_saleRecipient", type: "address", }, { internalType: "uint128", name: "_royaltyBps", type: "uint128", }, { internalType: "uint128", name: "_feeBps", type: "uint128", }, ], stateMutability: "nonpayable", type: "constructor", }, { 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: "address", name: "signer", type: "address", }, { indexed: true, internalType: "address", name: "mintedTo", type: "address", }, { indexed: true, internalType: "uint256", name: "tokenIdMinted", type: "uint256", }, { components: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "tokenId", type: "uint256", }, { internalType: "string", name: "uri", type: "string", }, { internalType: "uint256", name: "quantity", type: "uint256", }, { internalType: "uint256", name: "pricePerToken", type: "uint256", }, { internalType: "address", name: "currency", type: "address", }, { internalType: "uint128", name: "validityStartTimestamp", type: "uint128", }, { internalType: "uint128", name: "validityEndTimestamp", type: "uint128", }, { internalType: "bytes32", name: "uid", type: "bytes32", }, ], indexed: false, internalType: "struct ISignatureMint1155.MintRequest", name: "mintRequest", type: "tuple", }, ], name: "MintWithSignature", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "recipient", type: "address", }, ], name: "NewDefaultSaleRecipient", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "prevOwner", type: "address", }, { indexed: false, internalType: "address", name: "newOwner", type: "address", }, ], name: "NewOwner", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "recipient", type: "address", }, { indexed: true, internalType: "uint256", name: "_tokenId", type: "uint256", }, { indexed: false, internalType: "bool", name: "isDefaultRecipient", type: "bool", }, ], name: "NewSaleRecipient", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "newFeeBps", type: "uint256", }, ], name: "PrimarySalesFeeUpdates", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "newRoyaltyBps", type: "uint256", }, ], name: "RoyaltyUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "mintedTo", type: "address", }, { indexed: true, internalType: "uint256", name: "tokenIdMinted", type: "uint256", }, { indexed: false, internalType: "string", name: "uri", type: "string", }, { indexed: false, internalType: "uint256", name: "quantityMinted", type: "uint256", }, ], name: "TokenMinted", 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: "bool", name: "restricted", type: "bool", }, ], name: "TransfersRestricted", 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: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "MINTER_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "TRANSFER_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", 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: [], name: "contractURI", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "defaultSaleRecipient", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "feeBps", outputs: [ { internalType: "uint120", name: "", type: "uint120", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "uint256", name: "index", type: "uint256", }, ], name: "getRoleMember", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleMemberCount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], 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: "address", name: "forwarder", type: "address", }, ], name: "isTrustedForwarder", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_to", type: "address", }, { internalType: "uint256", name: "_tokenId", type: "uint256", }, { internalType: "string", name: "_uri", type: "string", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "mintTo", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { components: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "tokenId", type: "uint256", }, { internalType: "string", name: "uri", type: "string", }, { internalType: "uint256", name: "quantity", type: "uint256", }, { internalType: "uint256", name: "pricePerToken", type: "uint256", }, { internalType: "address", name: "currency", type: "address", }, { internalType: "uint128", name: "validityStartTimestamp", type: "uint128", }, { internalType: "uint128", name: "validityEndTimestamp", type: "uint128", }, { internalType: "bytes32", name: "uid", type: "bytes32", }, ], internalType: "struct ISignatureMint1155.MintRequest", name: "_req", type: "tuple", }, { internalType: "bytes", name: "_signature", type: "bytes", }, ], name: "mintWithSignature", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "bytes[]", name: "data", type: "bytes[]", }, ], name: "multicall", outputs: [ { internalType: "bytes[]", name: "results", type: "bytes[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "nativeTokenWrapper", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "nextTokenIdToMint", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "royaltyBps", outputs: [ { internalType: "uint64", name: "", type: "uint64", }, ], 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: "uint256", name: "", type: "uint256", }, ], name: "saleRecipient", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "operator", type: "address", }, { internalType: "bool", name: "approved", type: "bool", }, ], name: "setApprovalForAll", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "_uri", type: "string", }, ], name: "setContractURI", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_saleRecipient", type: "address", }, ], name: "setDefaultSaleRecipient", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_feeBps", type: "uint256", }, ], name: "setFeeBps", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_newOwner", type: "address", }, ], name: "setOwner", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "_restrictedTransfer", type: "bool", }, ], name: "setRestrictedTransfer", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_royaltyBps", type: "uint256", }, ], name: "setRoyaltyBps", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_tokenId", type: "uint256", }, { internalType: "address", name: "_saleRecipient", type: "address", }, ], name: "setSaleRecipient", 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: [ { internalType: "uint256", name: "_tokenId", type: "uint256", }, ], name: "tokenURI", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], name: "totalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "transfersRestricted", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_tokenId", type: "uint256", }, ], name: "uri", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { components: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "tokenId", type: "uint256", }, { internalType: "string", name: "uri", type: "string", }, { internalType: "uint256", name: "quantity", type: "uint256", }, { internalType: "uint256", name: "pricePerToken", type: "uint256", }, { internalType: "address", name: "currency", type: "address", }, { internalType: "uint128", name: "validityStartTimestamp", type: "uint128", }, { internalType: "uint128", name: "validityEndTimestamp", type: "uint128", }, { internalType: "bytes32", name: "uid", type: "bytes32", }, ], internalType: "struct ISignatureMint1155.MintRequest", name: "_req", type: "tuple", }, { internalType: "bytes", name: "_signature", type: "bytes", }, ], name: "verify", outputs: [ { internalType: "bool", name: "", type: "bool", }, { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x6101606040523480156200001257600080fd5b506040516200596a3803806200596a833981016040819052620000359162000530565b84604051806040016040528060118152602001705369676e61747572654d696e743131353560781b815250604051806040016040528060018152602001603160f81b815250604051806020016040528060008152506200009b816200026660201b60201c565b50815160208084019190912082518383012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c00190528051940193909320919290916080523060c052610120525050600580546001600160a01b03199081166001600160a01b03958616179091556001600655600c805482168b8616179055878416610140526009805490911693871693909317909255505086516200018a90600b9060208a01906200043f565b5060098054600160a01b600160e01b031916600160a01b6001600160401b03851602179055600a80546001600160781b0319166001600160781b0383161790556000620001d66200027f565b600880546001600160a01b0319166001600160a01b0383161790559050620002006000826200029b565b6200022c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826200029b565b620002587f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c826200029b565b5050505050505050620006bb565b80516200027b9060029060208401906200043f565b5050565b600062000296620002a760201b62001ba41760201c565b905090565b6200027b8282620002e0565b6005546000906001600160a01b0316331415620002cb575060131936013560601c90565b620002966200032360201b62001bcf1760201c565b620002f782826200032760201b62001bd31760201c565b60008281526004602090815260409091206200031e91839062001c76620003cd821b17901c565b505050565b3390565b60008281526003602090815260408083206001600160a01b038516845290915290205460ff166200027b5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620003896200027f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000620003e4836001600160a01b038416620003ed565b90505b92915050565b60008181526001830160205260408120546200043657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620003e7565b506000620003e7565b8280546200044d906200067e565b90600052602060002090601f016020900481019282620004715760008555620004bc565b82601f106200048c57805160ff1916838001178555620004bc565b82800160010185558215620004bc579182015b82811115620004bc5782518255916020019190600101906200049f565b50620004ca929150620004ce565b5090565b5b80821115620004ca5760008155600101620004cf565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200051357600080fd5b919050565b80516001600160801b03811681146200051357600080fd5b600080600080600080600060e0888a0312156200054c57600080fd5b87516001600160401b03808211156200056457600080fd5b818a0191508a601f8301126200057957600080fd5b8151818111156200058e576200058e620004e5565b604051601f8201601f19908116603f01168101908382118183101715620005b957620005b9620004e5565b81604052828152602093508d84848701011115620005d657600080fd5b600091505b82821015620005fa5784820184015181830185015290830190620005db565b828211156200060c5760008484830101525b9a506200061e9150508a8201620004fb565b975050506200063060408901620004fb565b94506200064060608901620004fb565b93506200065060808901620004fb565b92506200066060a0890162000518565b91506200067060c0890162000518565b905092959891949750929550565b600181811c908216806200069357607f821691505b60208210811415620006b557634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610120516101405161523862000732600039600081816109aa015281816134630152818161355e01528181613d510152613dc8015260006139360152600061398501526000613960015260006138b9015260006138e30152600061390d01526152386000f3fe6080604052600436106102e65760003560e01c80638423df7911610184578063c63adb2b116100d6578063d547741f1161008a578063f242432a11610064578063f242432a14610958578063f5298aca14610978578063f9ea29cb1461099857600080fd5b8063d547741f146108da578063e8a3d485146108fa578063e985e9c51461090f57600080fd5b8063c87b56dd116100bb578063c87b56dd1461034e578063ca15c87314610886578063d5391393146108a657600080fd5b8063c63adb2b1461080f578063c7337d6b1461085057600080fd5b8063938e3d7b11610138578063ac9650d811610112578063ac9650d814610795578063b03f4528146107c2578063bd85b039146107e257600080fd5b8063938e3d7b14610740578063a217fddf14610760578063a22cb4651461077557600080fd5b80638da5cb5b116101695780638da5cb5b146106c55780639010d07c146106da57806391d14854146106fa57600080fd5b80638423df79146106845780638ba448c2146106a557600080fd5b80632eb2c2d61161023d5780634d4529a0116101f1578063605b7711116101cb578063605b7711146106315780636b20c4541461064457806372c27b621461066457600080fd5b80634d4529a0146105b55780634e1273f4146105d5578063572b6c051461060257600080fd5b806332052e641161022257806332052e641461054057806336568abe1461057f5780633b1475a71461059f57600080fd5b80632eb2c2d6146105005780632f2ff15d1461052057600080fd5b80631f72d8311161029f578063248a9ca311610279578063248a9ca31461044957806324a9d853146104795780632a55205a146104c157600080fd5b80631f72d831146103bd578063206b60f9146103dd578063246b436b1461041157600080fd5b80630e89341c116102d05780630e89341c1461034e57806313af40351461037b5780631490ee761461039d57600080fd5b8062fdd58e146102eb57806301ffc9a71461031e575b600080fd5b3480156102f757600080fd5b5061030b6103063660046142ba565b6109cc565b6040519081526020015b60405180910390f35b34801561032a57600080fd5b5061033e6103393660046142fc565b610a78565b6040519015158152602001610315565b34801561035a57600080fd5b5061036e610369366004614319565b610abe565b604051610315919061438a565b34801561038757600080fd5b5061039b61039636600461439d565b610b60565b005b3480156103a957600080fd5b5061039b6103b836600461439d565b610ca2565b3480156103c957600080fd5b5061039b6103d8366004614319565b610d46565b3480156103e957600080fd5b5061030b7f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c81565b34801561041d57600080fd5b50600954610431906001600160a01b031681565b6040516001600160a01b039091168152602001610315565b34801561045557600080fd5b5061030b610464366004614319565b60009081526003602052604090206001015490565b34801561048557600080fd5b50600a546104a1906effffffffffffffffffffffffffffff1681565b6040516effffffffffffffffffffffffffffff9091168152602001610315565b3480156104cd57600080fd5b506104e16104dc3660046143ba565b610e46565b604080516001600160a01b039093168352602083019190915201610315565b34801561050c57600080fd5b5061039b61051b366004614552565b610efe565b34801561052c57600080fd5b5061039b61053b366004614600565b610fb2565b34801561054c57600080fd5b5061056061055b366004614672565b610fe4565b6040805192151583526001600160a01b03909116602083015201610315565b34801561058b57600080fd5b5061039b61059a366004614600565b61105e565b3480156105ab57600080fd5b5061030b60075481565b3480156105c157600080fd5b5061039b6105d0366004614600565b6110fa565b3480156105e157600080fd5b506105f56105f03660046146e4565b6111b9565b60405161031591906147ec565b34801561060e57600080fd5b5061033e61061d36600461439d565b6005546001600160a01b0391821691161490565b61039b61063f366004614672565b6112f7565b34801561065057600080fd5b5061039b61065f3660046147ff565b611498565b34801561067057600080fd5b5061039b61067f366004614319565b611530565b34801561069057600080fd5b50600a5461033e90600160781b900460ff1681565b3480156106b157600080fd5b5061039b6106c0366004614883565b61161a565b3480156106d157600080fd5b506104316116c0565b3480156106e657600080fd5b506104316106f53660046143ba565b611719565b34801561070657600080fd5b5061033e610715366004614600565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561074c57600080fd5b5061039b61075b3660046148a0565b611738565b34801561076c57600080fd5b5061030b600081565b34801561078157600080fd5b5061039b6107903660046148e2565b611791565b3480156107a157600080fd5b506107b56107b0366004614910565b6117a3565b6040516103159190614985565b3480156107ce57600080fd5b5061039b6107dd3660046149e7565b611898565b3480156107ee57600080fd5b5061030b6107fd366004614319565b600f6020526000908152604090205481565b34801561081b57600080fd5b5060095461083790600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610315565b34801561085c57600080fd5b5061043161086b366004614319565b6010602052600090815260409020546001600160a01b031681565b34801561089257600080fd5b5061030b6108a1366004614319565b611992565b3480156108b257600080fd5b5061030b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b3480156108e657600080fd5b5061039b6108f5366004614600565b6119a9565b34801561090657600080fd5b5061036e6119d1565b34801561091b57600080fd5b5061033e61092a366004614a4b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561096457600080fd5b5061039b610973366004614a79565b611a5f565b34801561098457600080fd5b5061039b610993366004614ae2565b611b0c565b3480156109a457600080fd5b506104317f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160a01b038316610a4f5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f206164647265737300000000000000000000000000000000000000000060648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b6000610a8382611c8b565b80610a9e57506001600160e01b03198216636cdb3d1360e11b145b80610a7257506001600160e01b0319821663152a902d60e11b1492915050565b6000818152600e60205260409020805460609190610adb90614b17565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0790614b17565b8015610b545780601f10610b2957610100808354040283529160200191610b54565b820191906000526020600020905b815481529060010190602001808311610b3757829003601f168201915b50505050509050919050565b610b6d6000610715611cb0565b610bad5760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b6001600160a01b03811660009081527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff602052604090205460ff16610c345760405162461bcd60e51b815260206004820152601b60248201527f6e6577206f776e6572206e6f74206d6f64756c652061646d696e2e00000000006044820152606401610a46565b600880546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff1983168117909355604080519190921680825260208201939093527f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b2364910160405180910390a15050565b610caf6000610715611cb0565b610cef5760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517fed7c53958229df192be89db848f5fe293dac272a385cea89cc8a4cd1ea5fd9d290600090a250565b610d536000610715611cb0565b610d935760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b612710811115610dd55760405162461bcd60e51b815260206004820152600d60248201526c313839901e1e9018981818181760991b6044820152606401610a46565b600980547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b67ffffffffffffffff8416021790556040518181527f244ea8d7627f5a08f4299862bd5a45752842c183aee5b0fb0d1e4887bfa605b3906020015b60405180910390a150565b600c5460405163f2aab4b360e01b815230600482015260009182916001600160a01b039091169063f2aab4b39060240160206040518083038186803b158015610e8e57600080fd5b505afa158015610ea2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec69190614b52565b60095490925061271090610eeb90600160a01b900467ffffffffffffffff1685614b85565b610ef59190614ba4565b90509250929050565b610f06611cb0565b6001600160a01b0316856001600160a01b03161480610f2c5750610f2c8561092a611cb0565b610f9e5760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006064820152608401610a46565b610fab8585858585611cba565b5050505050565b600082815260036020526040902060010154610fd581610fd0611cb0565b611f29565b610fdf8383611fa9565b505050565b6000806000610ff4868686611fcb565b6101008701356000908152600d602052604090205490915060ff1615801561105357506001600160a01b03811660009081527f5562e70da342db81569f3094d36be279beaca7ad8e08f434ea188e79d2bfe10c602052604090205460ff165b969095509350505050565b611066611cb0565b6001600160a01b0316816001600160a01b0316146110ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610a46565b6110f68282612136565b5050565b6111076000610715611cb0565b6111475760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b6000828152601060209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0386169081179091559051928352849290917fdfa24b2c84f4b56930965774ade10cc0167141522e42b2863e191e8426fdc7d3910160405180910390a35050565b606081518351146112325760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610a46565b6000835167ffffffffffffffff81111561124e5761124e6143dc565b604051908082528060200260200182016040528015611277578160200160208202803683370190505b50905060005b84518110156112ef576112c285828151811061129b5761129b614bc6565b60200260200101518583815181106112b5576112b5614bc6565b60200260200101516109cc565b8282815181106112d4576112d4614bc6565b60209081029190910101526112e881614bdc565b905061127d565b509392505050565b6002600654141561134a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a46565b6002600655600061135c848484612158565b905060008061136e602087018761439d565b6001600160a01b03161461138e57611389602086018661439d565b611396565b611396611cb0565b90506000600019866020013514156113c85750600780549060019060006113bd8385614bf7565b909155506114119050565b60075486602001351061140a5760405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b6044820152606401610a46565b5060208501355b61142d826114226040890189614c0f565b848a6060013561226f565b61143f61143987614c6d565b82612370565b80826001600160a01b0316846001600160a01b03167f3d1fde64e4f3b7cd1f129ce857793f3cfebb27164fc623e44bdf6d8a2909fdb5896040516114839190614d91565b60405180910390a45050600160065550505050565b6114a0611cb0565b6001600160a01b0316836001600160a01b031614806114c657506114c68361092a611cb0565b6115255760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f726044820152691030b8383937bb32b21760b11b6064820152608401610a46565b610fdf83838361253a565b61153d6000610715611cb0565b61157d5760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b6127108111156115bf5760405162461bcd60e51b815260206004820152600d60248201526c313839901e1e9018981818181760991b6044820152606401610a46565b600a80546effffffffffffffffffffffffffffff19166effffffffffffffffffffffffffffff83161790556040518181527f2440645f96173394eb0d508ef9d0c95e3ddc41c6a10ef86e547fc738df9ecce290602001610e3b565b6116276000610715611cb0565b6116675760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b600a8054821515600160781b026fff000000000000000000000000000000199091161790556040517f2ebd4f59eaa9d49c5dcd06a0afa8b39bf09928fbd60111acee2f986fa485d09890610e3b90831515815260200190565b6008546001600160a01b031660009081527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff602052604081205460ff166117075750600090565b6008546001600160a01b03165b905090565b60008281526004602052604081206117319083612788565b9392505050565b6117456000610715611cb0565b6117855760405162461bcd60e51b81526020600482015260116024820152703737ba1036b7b23ab6329030b236b4b71760791b6044820152606401610a46565b610fdf600b83836141fc565b6110f661179c611cb0565b8383612794565b60608167ffffffffffffffff8111156117be576117be6143dc565b6040519080825280602002602001820160405280156117f157816020015b60608152602001906001900390816117dc5790505b50905060005b82811015611891576118613085858481811061181557611815614bc6565b90506020028101906118279190614c0f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061288992505050565b82828151811061187357611873614bc6565b6020026020010181905250808061188990614bdc565b9150506117f7565b5092915050565b6118c47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610715611cb0565b6119105760405162461bcd60e51b815260206004820152600b60248201527f6e6f74206d696e7465722e0000000000000000000000000000000000000000006044820152606401610a46565b600060001985141561193c5750600780549060019060006119318385614bf7565b9091555061197d9050565b600754851061197a5760405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b6044820152606401610a46565b50835b61198a868585848661226f565b505050505050565b6000818152600460205260408120610a72906128ae565b6000828152600360205260409020600101546119c781610fd0611cb0565b610fdf8383612136565b600b80546119de90614b17565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b17565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b505050505081565b611a67611cb0565b6001600160a01b0316856001600160a01b03161480611a8d5750611a8d8561092a611cb0565b611aff5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201527f20617070726f76656400000000000000000000000000000000000000000000006064820152608401610a46565b610fab85858585856128b8565b611b14611cb0565b6001600160a01b0316836001600160a01b03161480611b3a5750611b3a8361092a611cb0565b611b995760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f726044820152691030b8383937bb32b21760b11b6064820152608401610a46565b610fdf838383612a70565b6005546000906001600160a01b0316331415611bc7575060131936013560601c90565b503390565b90565b3390565b60008281526003602090815260408083206001600160a01b038516845290915290205460ff166110f65760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611c32611cb0565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611731836001600160a01b038416612bf4565b60006001600160e01b03198216635a05180f60e01b1480610a725750610a7282612c43565b6000611714611ba4565b8151835114611d1c5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610a46565b6001600160a01b038416611d805760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610a46565b6000611d8a611cb0565b9050611d9a818787878787612c68565b60005b8451811015611ec3576000858281518110611dba57611dba614bc6565b602002602001015190506000858381518110611dd857611dd8614bc6565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015611e6b5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610a46565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611ea8908490614bf7565b9250508190555050505080611ebc90614bdc565b9050611d9d565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611f13929190614e6b565b60405180910390a461198a818787878787612e83565b60008281526003602090815260408083206001600160a01b038516845290915290205460ff166110f657611f67816001600160a01b03166014613038565b611f72836020613038565b604051602001611f83929190614e99565b60408051601f198184030181529082905262461bcd60e51b8252610a469160040161438a565b611fb38282611bd3565b6000828152600460205260409020610fdf9082611c76565b600061212e83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061212892507fca10dfeb2b35bb1971ef5de464f3b3a8cf90267bc61b3ad244a18e6a7048b2a3915061203a9050602089018961439d565b602089013561204c60408b018b614c0f565b60405161205a929190614f1a565b60405190819003902060608b013560808c013561207d60c08e0160a08f0161439d565b8d60c00160208101906120909190614f2a565b8e60e00160208101906120a39190614f2a565b60408051602081019a909a526001600160a01b03988916908a01526060890196909652608088019490945260a087019290925260c086015290921660e08401526001600160801b0391821661010080850191909152911661012083015288013561014082015261016001604051602081830303815290604052805190602001206131e1565b9061322f565b949350505050565b612140828261324b565b6000828152600460205260409020610fdf90826132ec565b6000806000612168868686610fe4565b91509150816121b95760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964207369676e61747572650000000000000000000000000000006044820152606401610a46565b426121ca60e0880160c08901614f2a565b6001600160801b0316111580156121fa5750426121ee610100880160e08901614f2a565b6001600160801b031610155b6122465760405162461bcd60e51b815260206004820152600f60248201527f72657175657374206578706972656400000000000000000000000000000000006044820152606401610a46565b6101008601356000908152600d60205260409020805460ff191660011790559150509392505050565b6000828152600e60205260409020805461228890614b17565b151590506122f857826122dd5760405162461bcd60e51b815260206004820152600a60248201527f656d707479207572692e000000000000000000000000000000000000000000006044820152606401610a46565b6000828152600e602052604090206122f69085856141fc565b505b61231385838360405180602001604052806000815250613301565b81856001600160a01b03167faaabadf30377b070ea448b56e05e18337b24c16080fd4d7cac341320baa8b65a600e600086815260200190815260200160002084604051612361929190614f45565b60405180910390a35050505050565b608082015161237d575050565b6000826060015183608001516123939190614b85565b600a54909150600090612710906123bb906effffffffffffffffffffffffffffff1684614b85565b6123c59190614ba4565b60a08501519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415612440578134146124405760405162461bcd60e51b815260206004820152601660248201527f6d7573742073656e6420746f74616c2070726963652e000000000000000000006044820152606401610a46565b6000838152601060205260408120546001600160a01b03161561247a576000848152601060205260409020546001600160a01b0316612487565b6009546001600160a01b03165b905061251a8560a00151612499611cb0565b600c5460405163f2aab4b360e01b81523060048201526001600160a01b039091169063f2aab4b39060240160206040518083038186803b1580156124dc57600080fd5b505afa1580156124f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125149190614b52565b8561340d565b610fab8560a0015161252a611cb0565b836125358688614ff5565b61340d565b6001600160a01b03831661259c5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610a46565b80518251146125fe5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610a46565b6000612608611cb0565b905061262881856000868660405180602001604052806000815250612c68565b60005b835181101561272957600084828151811061264857612648614bc6565b60200260200101519050600084838151811061266657612666614bc6565b602090810291909101810151600084815280835260408082206001600160a01b038c1683529093529190912054909150818110156126f25760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610a46565b6000928352602083815260408085206001600160a01b038b168652909152909220910390558061272181614bdc565b91505061262b565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161277a929190614e6b565b60405180910390a450505050565b600061173183836135f1565b816001600160a01b0316836001600160a01b0316141561281c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610a46565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606061173183836040518060600160405280602781526020016152056027913961361b565b6000610a72825490565b6001600160a01b03841661291c5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610a46565b6000612926611cb0565b905061294681878761293788613706565b61294088613706565b87612c68565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156129ca5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610a46565b6000858152602081815260408083206001600160a01b038b8116855292528083208785039055908816825281208054869290612a07908490614bf7565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612a67828888888888613751565b50505050505050565b6001600160a01b038316612ad25760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610a46565b6000612adc611cb0565b9050612b0c81856000612aee87613706565b612af787613706565b60405180602001604052806000815250612c68565b6000838152602081815260408083206001600160a01b038816845290915290205482811015612b895760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610a46565b6000848152602081815260408083206001600160a01b03898116808652918452828520888703905582518981529384018890529092908616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6000818152600183016020526040812054612c3b57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a72565b506000610a72565b60006001600160e01b03198216637965db0b60e01b1480610a725750610a728261385c565b600a54600160781b900460ff168015612c8957506001600160a01b03851615155b8015612c9d57506001600160a01b03841615155b15612d77576001600160a01b03851660009081527fd42b1f43d615c6e11d7128c3dc0271972190d90aa8fbf570ea51e7ace340fbbb602052604090205460ff1680612d1f57506001600160a01b03841660009081527fd42b1f43d615c6e11d7128c3dc0271972190d90aa8fbf570ea51e7ace340fbbb602052604090205460ff165b612d775760405162461bcd60e51b8152602060048201526024808201527f7265737472696374656420746f205452414e534645525f524f4c4520686f6c6460448201526332b9399760e11b6064820152608401610a46565b6001600160a01b038516612dfe5760005b8351811015612dfc57828181518110612da357612da3614bc6565b6020026020010151600f6000868481518110612dc157612dc1614bc6565b602002602001015181526020019081526020016000206000828254612de69190614bf7565b90915550612df5905081614bdc565b9050612d88565b505b6001600160a01b03841661198a5760005b8351811015612a6757828181518110612e2a57612e2a614bc6565b6020026020010151600f6000868481518110612e4857612e48614bc6565b602002602001015181526020019081526020016000206000828254612e6d9190614ff5565b90915550612e7c905081614bdc565b9050612e0f565b6001600160a01b0384163b1561198a5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612ec7908990899088908890889060040161500c565b602060405180830381600087803b158015612ee157600080fd5b505af1925050508015612f11575060408051601f3d908101601f19168201909252612f0e9181019061506a565b60015b612fc757612f1d615087565b806308c379a01415612f575750612f326150a2565b80612f3d5750612f59565b8060405162461bcd60e51b8152600401610a46919061438a565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610a46565b6001600160e01b0319811663bc197c8160e01b14612a675760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610a46565b60606000613047836002614b85565b613052906002614bf7565b67ffffffffffffffff81111561306a5761306a6143dc565b6040519080825280601f01601f191660200182016040528015613094576020820181803683370190505b509050600360fc1b816000815181106130af576130af614bc6565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106130de576130de614bc6565b60200101906001600160f81b031916908160001a9053506000613102846002614b85565b61310d906001614bf7565b90505b6001811115613192577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061314e5761314e614bc6565b1a60f81b82828151811061316457613164614bc6565b60200101906001600160f81b031916908160001a90535060049490941c9361318b8161512c565b9050613110565b5083156117315760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a46565b6000610a726131ee6138ac565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061323e85856139d3565b915091506112ef81613a43565b60008281526003602090815260408083206001600160a01b038516845290915290205460ff16156110f65760008281526003602090815260408083206001600160a01b03851684529091529020805460ff191690556132a8611cb0565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000611731836001600160a01b038416613c01565b6001600160a01b0384166133615760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610a46565b600061336b611cb0565b905061337d8160008761293788613706565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906133ad908490614bf7565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610fab81600087878787613751565b80613417576135eb565b6001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156135df576001600160a01b0383163014156134d657604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156134af57600080fd5b505af11580156134c3573d6000803e3d6000fd5b505050506134d18282613cf4565b6135eb565b6001600160a01b0382163014156135d55734811461355c5760405162461bcd60e51b815260206004820152602d60248201527f6e617469766520746f6b656e2076616c756520646f6573206e6f74206d61746360448201527f682062696420616d6f756e742e000000000000000000000000000000000000006064820152608401610a46565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156135b757600080fd5b505af11580156135cb573d6000803e3d6000fd5b50505050506135eb565b6134d18282613cf4565b6135eb84848484613deb565b50505050565b600082600001828154811061360857613608614bc6565b9060005260206000200154905092915050565b6060833b6136915760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610a46565b600080856001600160a01b0316856040516136ac9190615143565b600060405180830381855af49150503d80600081146136e7576040519150601f19603f3d011682016040523d82523d6000602084013e6136ec565b606091505b50915091506136fc82828661408e565b9695505050505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061374057613740614bc6565b602090810291909101015292915050565b6001600160a01b0384163b1561198a5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190613795908990899088908890889060040161515f565b602060405180830381600087803b1580156137af57600080fd5b505af19250505080156137df575060408051601f3d908101601f191682019092526137dc9181019061506a565b60015b6137eb57612f1d615087565b6001600160e01b0319811663f23a6e6160e01b14612a675760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610a46565b60006001600160e01b03198216636cdb3d1360e11b148061388d57506001600160e01b031982166303a24d0760e21b145b80610a7257506301ffc9a760e01b6001600160e01b0319831614610a72565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561390557507f000000000000000000000000000000000000000000000000000000000000000046145b1561392f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600080825160411415613a0a5760208301516040840151606085015160001a6139fe878285856140c7565b94509450505050613a3c565b825160401415613a345760208301516040840151613a298683836141b4565b935093505050613a3c565b506000905060025b9250929050565b6000816004811115613a5757613a576151a2565b1415613a605750565b6001816004811115613a7457613a746151a2565b1415613ac25760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a46565b6002816004811115613ad657613ad66151a2565b1415613b245760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a46565b6003816004811115613b3857613b386151a2565b1415613b915760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610a46565b6004816004811115613ba557613ba56151a2565b1415613bfe5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610a46565b50565b60008181526001830160205260408120548015613cea576000613c25600183614ff5565b8554909150600090613c3990600190614ff5565b9050818114613c9e576000866000018281548110613c5957613c59614bc6565b9060005260206000200154905080876000018481548110613c7c57613c7c614bc6565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613caf57613caf6151b8565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610a72565b6000915050610a72565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613d41576040519150601f19603f3d011682016040523d82523d6000602084013e613d46565b606091505b5050905080610fdf577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613daa57600080fd5b505af1158015613dbe573d6000803e3d6000fd5b5050505050610fdf7f00000000000000000000000000000000000000000000000000000000000000003085855b816001600160a01b0316836001600160a01b03161415613e0a576135eb565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908616906370a082319060240160206040518083038186803b158015613e4f57600080fd5b505afa158015613e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e8791906151ce565b905060006001600160a01b0385163014613f2a576040516323b872dd60e01b81526001600160a01b0386811660048301528581166024830152604482018590528716906323b872dd90606401602060405180830381600087803b158015613eed57600080fd5b505af1158015613f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2591906151e7565b613fac565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905287169063a9059cbb90604401602060405180830381600087803b158015613f7457600080fd5b505af1158015613f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fac91906151e7565b6040516370a0823160e01b81526001600160a01b0386811660048301529192506000918816906370a082319060240160206040518083038186803b158015613ff357600080fd5b505afa158015614007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402b91906151ce565b9050818015614042575061403f8484614bf7565b81145b612a675760405162461bcd60e51b815260206004820152601c60248201527f6661696c656420746f207472616e736665722063757272656e63792e000000006044820152606401610a46565b6060831561409d575081611731565b8251156140ad5782518084602001fd5b8160405162461bcd60e51b8152600401610a46919061438a565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156140fe57506000905060036141ab565b8460ff16601b1415801561411657508460ff16601c14155b1561412757506000905060046141ab565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561417b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166141a4576000600192509250506141ab565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831660ff84901c601b016141ee878288856140c7565b935093505050935093915050565b82805461420890614b17565b90600052602060002090601f01602090048101928261422a5760008555614270565b82601f106142435782800160ff19823516178555614270565b82800160010185558215614270579182015b82811115614270578235825591602001919060010190614255565b5061427c929150614280565b5090565b5b8082111561427c5760008155600101614281565b6001600160a01b0381168114613bfe57600080fd5b80356142b581614295565b919050565b600080604083850312156142cd57600080fd5b82356142d881614295565b946020939093013593505050565b6001600160e01b031981168114613bfe57600080fd5b60006020828403121561430e57600080fd5b8135611731816142e6565b60006020828403121561432b57600080fd5b5035919050565b60005b8381101561434d578181015183820152602001614335565b838111156135eb5750506000910152565b60008151808452614376816020860160208601614332565b601f01601f19169290920160200192915050565b602081526000611731602083018461435e565b6000602082840312156143af57600080fd5b813561173181614295565b600080604083850312156143cd57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715614418576144186143dc565b6040525050565b604051610120810167ffffffffffffffff81118282101715614443576144436143dc565b60405290565b600067ffffffffffffffff821115614463576144636143dc565b5060051b60200190565b600082601f83011261447e57600080fd5b8135602061448b82614449565b60405161449882826143f2565b83815260059390931b85018201928281019150868411156144b857600080fd5b8286015b848110156144d357803583529183019183016144bc565b509695505050505050565b600082601f8301126144ef57600080fd5b813567ffffffffffffffff811115614509576145096143dc565b604051614520601f8301601f1916602001826143f2565b81815284602083860101111561453557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561456a57600080fd5b853561457581614295565b9450602086013561458581614295565b9350604086013567ffffffffffffffff808211156145a257600080fd5b6145ae89838a0161446d565b945060608801359150808211156145c457600080fd5b6145d089838a0161446d565b935060808801359150808211156145e657600080fd5b506145f3888289016144de565b9150509295509295909350565b6000806040838503121561461357600080fd5b82359150602083013561462581614295565b809150509250929050565b60008083601f84011261464257600080fd5b50813567ffffffffffffffff81111561465a57600080fd5b602083019150836020828501011115613a3c57600080fd5b60008060006040848603121561468757600080fd5b833567ffffffffffffffff8082111561469f57600080fd5b9085019061012082880312156146b457600080fd5b909350602085013590808211156146ca57600080fd5b506146d786828701614630565b9497909650939450505050565b600080604083850312156146f757600080fd5b823567ffffffffffffffff8082111561470f57600080fd5b818501915085601f83011261472357600080fd5b8135602061473082614449565b60405161473d82826143f2565b83815260059390931b850182019282810191508984111561475d57600080fd5b948201945b8386101561478457853561477581614295565b82529482019490820190614762565b9650508601359250508082111561479a57600080fd5b506147a78582860161446d565b9150509250929050565b600081518084526020808501945080840160005b838110156147e1578151875295820195908201906001016147c5565b509495945050505050565b60208152600061173160208301846147b1565b60008060006060848603121561481457600080fd5b833561481f81614295565b9250602084013567ffffffffffffffff8082111561483c57600080fd5b6148488783880161446d565b9350604086013591508082111561485e57600080fd5b5061486b8682870161446d565b9150509250925092565b8015158114613bfe57600080fd5b60006020828403121561489557600080fd5b813561173181614875565b600080602083850312156148b357600080fd5b823567ffffffffffffffff8111156148ca57600080fd5b6148d685828601614630565b90969095509350505050565b600080604083850312156148f557600080fd5b823561490081614295565b9150602083013561462581614875565b6000806020838503121561492357600080fd5b823567ffffffffffffffff8082111561493b57600080fd5b818501915085601f83011261494f57600080fd5b81358181111561495e57600080fd5b8660208260051b850101111561497357600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156149da57603f198886030184526149c885835161435e565b945092850192908501906001016149ac565b5092979650505050505050565b6000806000806000608086880312156149ff57600080fd5b8535614a0a81614295565b945060208601359350604086013567ffffffffffffffff811115614a2d57600080fd5b614a3988828901614630565b96999598509660600135949350505050565b60008060408385031215614a5e57600080fd5b8235614a6981614295565b9150602083013561462581614295565b600080600080600060a08688031215614a9157600080fd5b8535614a9c81614295565b94506020860135614aac81614295565b93506040860135925060608601359150608086013567ffffffffffffffff811115614ad657600080fd5b6145f3888289016144de565b600080600060608486031215614af757600080fd5b8335614b0281614295565b95602085013595506040909401359392505050565b600181811c90821680614b2b57607f821691505b60208210811415614b4c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614b6457600080fd5b815161173181614295565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615614b9f57614b9f614b6f565b500290565b600082614bc157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600019821415614bf057614bf0614b6f565b5060010190565b60008219821115614c0a57614c0a614b6f565b500190565b6000808335601e19843603018112614c2657600080fd5b83018035915067ffffffffffffffff821115614c4157600080fd5b602001915036819003821315613a3c57600080fd5b80356001600160801b03811681146142b557600080fd5b60006101208236031215614c8057600080fd5b614c8861441f565b614c91836142aa565b815260208301356020820152604083013567ffffffffffffffff811115614cb757600080fd5b614cc3368286016144de565b6040830152506060830135606082015260808301356080820152614ce960a084016142aa565b60a0820152614cfa60c08401614c56565b60c0820152614d0b60e08401614c56565b60e082015261010092830135928101929092525090565b6000808335601e19843603018112614d3957600080fd5b830160208101925035905067ffffffffffffffff811115614d5957600080fd5b803603831315613a3c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152614db260208201614da5846142aa565b6001600160a01b03169052565b602082013560408201526000614dcb6040840184614d22565b610120806060860152614de361014086018385614d68565b925060608601356080860152608086013560a0860152614e0560a087016142aa565b6001600160a01b03811660c08701529150614e2260c08701614c56565b6001600160801b03811660e08701529150614e3f60e08701614c56565b9150610100614e58818701846001600160801b03169052565b9590950135939094019290925250919050565b604081526000614e7e60408301856147b1565b8281036020840152614e9081856147b1565b95945050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614ed1816017850160208801614332565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614f0e816028840160208801614332565b01602801949350505050565b8183823760009101908152919050565b600060208284031215614f3c57600080fd5b61173182614c56565b60408152600080845481600182811c915080831680614f6557607f831692505b6020808410821415614f8557634e487b7160e01b86526022600452602486fd5b6040880184905260608801828015614fa45760018114614fb557614fe0565b60ff19871682528282019750614fe0565b60008c81526020902060005b87811015614fda57815484820152908601908401614fc1565b83019850505b50509690960196909652509095945050505050565b60008282101561500757615007614b6f565b500390565b60006001600160a01b03808816835280871660208401525060a0604083015261503860a08301866147b1565b828103606084015261504a81866147b1565b9050828103608084015261505e818561435e565b98975050505050505050565b60006020828403121561507c57600080fd5b8151611731816142e6565b600060033d1115611bcc5760046000803e5060005160e01c90565b600060443d10156150b05790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156150e057505050505090565b82850191508151818111156150f85750505050505090565b843d87010160208285010111156151125750505050505090565b615121602082860101876143f2565b509095945050505050565b60008161513b5761513b614b6f565b506000190190565b60008251615155818460208701614332565b9190910192915050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a0608083015261519760a083018461435e565b979650505050505050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000602082840312156151e057600080fd5b5051919050565b6000602082840312156151f957600080fd5b81516117318161487556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000809000a"; type SignatureMint1155ConstructorParams = | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: SignatureMint1155ConstructorParams ): xs is ConstructorParameters => xs.length > 1; export class SignatureMint1155__factory extends ContractFactory { constructor(...args: SignatureMint1155ConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } deploy( _contractURI: string, _controlCenter: string, _trustedForwarder: string, _nativeTokenWrapper: string, _saleRecipient: string, _royaltyBps: BigNumberish, _feeBps: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy( _contractURI, _controlCenter, _trustedForwarder, _nativeTokenWrapper, _saleRecipient, _royaltyBps, _feeBps, overrides || {} ) as Promise; } getDeployTransaction( _contractURI: string, _controlCenter: string, _trustedForwarder: string, _nativeTokenWrapper: string, _saleRecipient: string, _royaltyBps: BigNumberish, _feeBps: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction( _contractURI, _controlCenter, _trustedForwarder, _nativeTokenWrapper, _saleRecipient, _royaltyBps, _feeBps, overrides || {} ); } attach(address: string): SignatureMint1155 { return super.attach(address) as SignatureMint1155; } connect(signer: Signer): SignatureMint1155__factory { return super.connect(signer) as SignatureMint1155__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): SignatureMint1155Interface { return new utils.Interface(_abi) as SignatureMint1155Interface; } static connect( address: string, signerOrProvider: Signer | Provider ): SignatureMint1155 { return new Contract(address, _abi, signerOrProvider) as SignatureMint1155; } }