@artblocks/abx-sdk 0.1.0-alpha.11 → 0.1.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abi/generated.d.ts +6491 -0
- package/dist/abi/generated.d.ts.map +1 -1
- package/dist/abi/generated.js +19 -3
- package/dist/abi/generated.js.map +1 -1
- package/dist/abi/index.d.ts +1650 -15
- package/dist/abi/index.d.ts.map +1 -1
- package/dist/abi/index.js +25 -7
- package/dist/abi/index.js.map +1 -1
- package/dist/anchors.d.ts +63 -7
- package/dist/anchors.d.ts.map +1 -1
- package/dist/anchors.js +186 -7
- package/dist/anchors.js.map +1 -1
- package/dist/create2.d.ts +13 -0
- package/dist/create2.d.ts.map +1 -1
- package/dist/create2.js +29 -1
- package/dist/create2.js.map +1 -1
- package/dist/deploy.d.ts +147 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +119 -3
- package/dist/deploy.js.map +1 -1
- package/dist/deployments.d.ts +8 -0
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +24 -0
- package/dist/deployments.js.map +1 -1
- package/dist/errors.d.ts +4 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/onchain-uri.d.ts +4 -1
- package/dist/onchain-uri.d.ts.map +1 -1
- package/dist/onchain-uri.js +25 -3
- package/dist/onchain-uri.js.map +1 -1
- package/dist/ops.d.ts +159 -2
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js +347 -7
- package/dist/ops.js.map +1 -1
- package/dist/reconstruct.d.ts +9 -0
- package/dist/reconstruct.d.ts.map +1 -1
- package/dist/reconstruct.js +120 -21
- package/dist/reconstruct.js.map +1 -1
- package/dist/service.d.ts +6 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js.map +1 -1
- package/dist/spine.d.ts +1 -0
- package/dist/spine.d.ts.map +1 -1
- package/dist/spine.js +0 -0
- package/dist/spine.js.map +1 -1
- package/dist/tokens.d.ts +14 -3
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +125 -1
- package/dist/tokens.js.map +1 -1
- package/dist/types.d.ts +30 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/abi/generated.js
CHANGED
|
@@ -10,13 +10,29 @@ export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5
|
|
|
10
10
|
export const seriesImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
|
|
11
11
|
export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
|
|
12
12
|
export const seriesCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
13
|
-
export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fe780610a5a83390190565b6080516109cc61008e600039600081816091015281816101130152818161014f0152818161018701526102fc01526109cc6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635414dff01461005c5780635c60da1b1461008c5780635c857b3e146100b35780637c9cf116146100e6578063cd9c7b24146100f9575b600080fd5b61006f61006a366004610439565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66100c1366004610469565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6100f436600461049d565b61013f565b61006f6101073660046104e2565b610180565b60006101397f000000000000000000000000000000000000000000000000000000000000000083306101bc565b92915050565b600061014a82610219565b6101747f000000000000000000000000000000000000000000000000000000000000000083610258565b9050610139818461026d565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b7818361026d565b919050565b6000806102038560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061021081858561036b565b95945050505050565b606081901c801580159061023657506001600160a01b0381163314155b156102545760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102666000848461038d565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff1916600117905551633d6e924b60e01b8152633d6e924b906102b190849060040161072c565b600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b506102f1925050506020820182610469565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b60006101396000836103e4565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103d85763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b60006020828403121561044b57600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b60006020828403121561047b57600080fd5b61026682610452565b6000610280828403121561049757600080fd5b50919050565b600080604083850312156104b057600080fd5b823567ffffffffffffffff8111156104c757600080fd5b6104d385828601610484565b95602094909401359450505050565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610484565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d6020820161074084610452565b6001600160a01b03169052565b600061075c602084018461051f565b61028060408501526107736102a08501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d260808501610452565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c08501610452565b6001600160a01b03811660e08501525061083260e08501610452565b6001600160a01b038116610100850152506108506101008501610595565b61ffff8116610120850152506108696101208501610452565b6001600160a01b0381166101408501525061014084013561016084810191909152610895908501610452565b6001600160a01b038116610180850152506108b36101808501610452565b6001600160a01b0381166101a0850152506108d16101a085016105a7565b8015156101c0850152506108e86101c08501610452565b6001600160a01b0381166101e0850152506109066101e085016105a7565b8015156102008501525061091d6102008501610452565b6001600160a01b038116610220850152506102208401356102408481019190915261094a908501856105b7565b848303601f1901610260860152610962838284610600565b925050506109746102608501856105b7565b848303601f190161028086015261098c8382846106a1565b969550505050505056fea264697066735822122004e34019f312e64b4ff6ed5ac3563bfe0263930bdb58a67b2a07dbf0374bbf0464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
|
|
13
|
+
export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fe780610a5a83390190565b6080516109cc61008e600039600081816091015281816101130152818161014f0152818161018701526102fc01526109cc6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635414dff01461005c5780635c60da1b1461008c5780635c857b3e146100b35780637c9cf116146100e6578063cd9c7b24146100f9575b600080fd5b61006f61006a366004610439565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66100c1366004610469565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6100f436600461049d565b61013f565b61006f6101073660046104e2565b610180565b60006101397f000000000000000000000000000000000000000000000000000000000000000083306101bc565b92915050565b600061014a82610219565b6101747f000000000000000000000000000000000000000000000000000000000000000083610258565b9050610139818461026d565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b7818361026d565b919050565b6000806102038560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061021081858561036b565b95945050505050565b606081901c801580159061023657506001600160a01b0381163314155b156102545760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102666000848461038d565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff1916600117905551633d6e924b60e01b8152633d6e924b906102b190849060040161072c565b600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b506102f1925050506020820182610469565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b60006101396000836103e4565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103d85763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b60006020828403121561044b57600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b60006020828403121561047b57600080fd5b61026682610452565b6000610280828403121561049757600080fd5b50919050565b600080604083850312156104b057600080fd5b823567ffffffffffffffff8111156104c757600080fd5b6104d385828601610484565b95602094909401359450505050565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610484565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d6020820161074084610452565b6001600160a01b03169052565b600061075c602084018461051f565b61028060408501526107736102a08501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d260808501610452565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c08501610452565b6001600160a01b03811660e08501525061083260e08501610452565b6001600160a01b038116610100850152506108506101008501610595565b61ffff8116610120850152506108696101208501610452565b6001600160a01b0381166101408501525061014084013561016084810191909152610895908501610452565b6001600160a01b038116610180850152506108b36101808501610452565b6001600160a01b0381166101a0850152506108d16101a085016105a7565b8015156101c0850152506108e86101c08501610452565b6001600160a01b0381166101e0850152506109066101e085016105a7565b8015156102008501525061091d6102008501610452565b6001600160a01b038116610220850152506102208401356102408481019190915261094a908501856105b7565b848303601f1901610260860152610962838284610600565b925050506109746102608501856105b7565b848303601f190161028086015261098c8382846106a1565b969550505050505056fea2646970667358221220c7c01419b0a8be67dc3772613765ad3cd600006f28aea2dd2e1542efb150bd7064736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a2646970667358221220de2cec307c04f91d89c70e78bd30e58b1ed39bd45c0d46831d4a6ca4c7eb907164736f6c634300081c0033";
|
|
14
14
|
export const seriesCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
|
|
15
|
-
export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
|
|
15
|
+
export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a2646970667358221220de2cec307c04f91d89c70e78bd30e58b1ed39bd45c0d46831d4a6ca4c7eb907164736f6c634300081c0033";
|
|
16
|
+
export const oneOfOneEditionFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
17
|
+
export const oneOfOneEditionFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61587e80610be183390190565b608051610b5361008e6000396000818160c1015281816101300152818161016c015281816101a801526102c60152610b536000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e357806379e075c31461011657600080fd5b80634f05268c1461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610500565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b736600461053d565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f136600461057a565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610124366004610595565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610342565b92915050565b60006101a38261039f565b6101cd7f000000000000000000000000000000000000000000000000000000000000000083610404565b905061019281846101e6565b6000610192600083610419565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fe454cd4b00000000000000000000000000000000000000000000000000000000815263e454cd4b9061026e9084906004016107e9565b600060405180830381600087803b15801561028857600080fd5b505af115801561029c573d6000803e3d6000fd5b506102ae92505050602082018261057a565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103898560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061039681858561046e565b95945050505050565b606081901c80158015906103c9575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610400576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600061041260008484610490565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104635763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104db5763301164256000526004601cfd5b60006021529392505050565b600061024082840312156104fa57600080fd5b50919050565b60006020828403121561051257600080fd5b813567ffffffffffffffff81111561052957600080fd5b610535848285016104e7565b949350505050565b60006020828403121561054f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b60006020828403121561058c57600080fd5b61041282610556565b600080604083850312156105a857600080fd5b823567ffffffffffffffff8111156105bf57600080fd5b6105cb858286016104e7565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107dd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261079157600080fd5b860180358452602080820135908501526107ae60408201826105da565b9150606060408601526107c5606086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60208152610817602082016107fd84610556565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061082560208401610556565b73ffffffffffffffffffffffffffffffffffffffff8116604084015250604083013560608381019190915261085c908401846105da565b610240608085015261087361026085018284610645565b91505061088360808501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108b8838284610645565b925050506108c960a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c08601526108fe838284610645565b9250505061090e60c08501610556565b73ffffffffffffffffffffffffffffffffffffffff811660e08501525061093860e08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030161010086015261096e838284610645565b9250505061097f6101008501610556565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109aa6101208501610556565b73ffffffffffffffffffffffffffffffffffffffff8116610140850152506109d5610140850161068e565b61ffff8116610160850152506109ee6101608501610556565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a084810191909152610a27908501610556565b73ffffffffffffffffffffffffffffffffffffffff81166101c085015250610a526101c08501610556565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610a7d6101e085016106a0565b80151561020085015250610a956102008501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610220860152610acb838284610717565b92505050610add6102208501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610240860152610b13838284610717565b969550505050505056fea2646970667358221220115e26e6fa96892331250d8e573a4ce05f130eca7a76aee1b889d5972c1c5cb964736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6157f18061008d6000396000f3fe6080604052600436106103b75760003560e01c8063869f7594116101f2578063d8b4f8ac1161010d578063e985e9c5116100a0578063f2fde38b1161006f578063f2fde38b14610d13578063fca3b5aa14610d26578063fee81cf414610d46578063ff87a5f514610d7957600080fd5b8063e985e9c514610c92578063ee748f2c14610ccb578063f04e283e14610ce0578063f242432a14610cf357600080fd5b8063e454cd4b116100dc578063e454cd4b14610bed578063e4df18ec14610c0d578063e8a3d48514610c2d578063e8dc3e0914610c4257600080fd5b8063d8b4f8ac14610b83578063da2bbfc714610b98578063e1c2ffad14610bb8578063e2969ba714610bcd57600080fd5b8063a8cdf07811610185578063bb77e79611610154578063bb77e79614610aad578063bd85b03914610acd578063c3e617a214610b19578063d50bac3314610b3957600080fd5b8063a8cdf078146109fe578063a9fc664e14610a1e578063ac9650d814610a3e578063ac998f4514610a5e57600080fd5b806395d89b41116101c157806395d89b411461094f578063a148d8cf14610964578063a22cb465146109be578063a482c946146109de57600080fd5b8063869f7594146108bb5780638da5cb5b146108db5780638e08141f1461090f578063913b385a1461092f57600080fd5b80632a55205a116102e25780634f558e79116102755780635c975abb116102445780635c975abb146108185780635e5a9e301461084f578063715018a614610864578063738e14961461086c57600080fd5b80634f558e791461074a57806354d1f13d1461079857806355828c50146107a05780635a50ca65146107ce57600080fd5b80633dda44b0116102b15780633dda44b0146106ba5780634331f639146106da5780634aa3adb3146106fa5780634e1273f41461071d57600080fd5b80632a55205a146105df5780632e73cddb1461062b5780632eb2c2d61461067a57806337da577c1461069a57600080fd5b806314cb56671161035a5780632569296211610329578063256929621461058d578063261220a31461059557806326dfe8c7146105aa578063298bb40e146105ca57600080fd5b806314cb56671461050b578063156e29f61461052d5780631622326a1461054d57806316c38b3c1461056d57600080fd5b80630754617211610396578063075461721461045b578063098144d4146104955780630d705df6146104aa5780630e89341c146104eb57600080fd5b8062fdd58e146103bc57806301ffc9a71461040957806306fdde0314610439575b600080fd5b3480156103c857600080fd5b506103f66103d73660046149d2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561041557600080fd5b506104296104243660046149fc565b610d99565b6040519015158152602001610400565b34801561044557600080fd5b5061044e610e5f565b6040516104009190614aac565b34801561046757600080fd5b50610470610f11565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610400565b3480156104a157600080fd5b50610470610f51565b3480156104b657600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610400565b3480156104f757600080fd5b5061044e610506366004614abf565b610f79565b34801561051757600080fd5b5061052b610526366004614b1d565b611215565b005b34801561053957600080fd5b5061052b610548366004614b5f565b61128b565b34801561055957600080fd5b5061052b610568366004614bd4565b6112d5565b34801561057957600080fd5b5061052b610588366004614c30565b61140f565b61052b61149c565b3480156105a157600080fd5b5061044e6114ec565b3480156105b657600080fd5b5061052b6105c5366004614c4b565b611514565b3480156105d657600080fd5b5061044e61164d565b3480156105eb57600080fd5b506105ff6105fa366004614c66565b611675565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610400565b34801561063757600080fd5b50610429610646366004614abf565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561068657600080fd5b5061052b610695366004614c88565b6116e8565b3480156106a657600080fd5b5061052b6106b5366004614c66565b6119d5565b3480156106c657600080fd5b5061052b6106d5366004614c66565b611bb4565b3480156106e657600080fd5b5061052b6106f5366004614d61565b611c4b565b34801561070657600080fd5b5060015b60405161ffff9091168152602001610400565b34801561072957600080fd5b5061073d610738366004614d94565b611c61565b6040516104009190614e05565b34801561075657600080fd5b50610429610765366004614abf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61052b611cd1565b3480156107ac57600080fd5b506107c06107bb366004614abf565b611d0d565b604051610400929190614e48565b3480156107da57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610470565b34801561082457600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610429565b34801561085b57600080fd5b5061052b611ddd565b61052b611e6e565b34801561087857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610429565b3480156108c757600080fd5b506103f66108d6366004614abf565b611e82565b3480156108e757600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610470565b34801561091b57600080fd5b5061052b61092a366004614abf565b611ef4565b34801561093b57600080fd5b5061052b61094a366004614e61565b611f7c565b34801561095b57600080fd5b5061044e611f96565b34801561097057600080fd5b5061042961097f366004614c66565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ca57600080fd5b5061052b6109d9366004614ea8565b611fc8565b3480156109ea57600080fd5b5061052b6109f9366004614ed2565b61201e565b348015610a0a57600080fd5b5061052b610a19366004614f33565b61203a565b348015610a2a57600080fd5b5061052b610a39366004614c4b565b612113565b610a51610a4c366004614b1d565b6121c7565b6040516104009190614f69565b348015610a6a57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610429565b348015610ab957600080fd5b5061044e610ac8366004614abf565b6121e6565b348015610ad957600080fd5b506103f6610ae8366004614abf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610b2557600080fd5b5061052b610b34366004614f33565b6122a7565b348015610b4557600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610470565b348015610b8f57600080fd5b50610470612354565b348015610ba457600080fd5b5061052b610bb3366004614f33565b61237c565b348015610bc457600080fd5b5061052b612465565b348015610bd957600080fd5b5061052b610be8366004614c4b565b6124f6565b348015610bf957600080fd5b5061052b610c08366004614fec565b612590565b348015610c1957600080fd5b506107c0610c28366004614c66565b6127c9565b348015610c3957600080fd5b5061044e6128a7565b348015610c4e57600080fd5b5061070a610c5d366004614abf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c9e57600080fd5b50610429610cad366004615028565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610cd757600080fd5b5061044e612ad0565b61052b610cee366004614c4b565b612af8565b348015610cff57600080fd5b5061052b610d0e366004615052565b612b38565b61052b610d21366004614c4b565b612da1565b348015610d3257600080fd5b5061052b610d41366004614c4b565b612dc8565b348015610d5257600080fd5b506103f6610d61366004614c4b565b63389a75e1600c908152600091909152602090205490565b348015610d8557600080fd5b5061052b610d94366004614c4b565b612e62565b6000610da482612f72565b80610db35750610db382612fa9565b80610dc25750610dc282613005565b80610dd15750610dd182613032565b80610de05750610de08261311e565b80610def5750610def8261317a565b80610dfe5750610dfe826131d6565b80610e0d5750610e0d82613232565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e8e906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610eba906150ca565b8015610f075780601f10610edc57610100808354040283529160200191610f07565b820191906000526020600020905b815481529060010190602001808311610eea57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f35565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561109f5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611052573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611098919081019061514c565b9392505050565b6000838152600282016020526040812080546110ba906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546110e6906150ca565b80156111335780601f1061110857610100808354040283529160200191611133565b820191906000526020600020905b81548152906001019060200180831161111657829003601f168201915b50505050509050805160001461114a579392505050565b81548290611157906150ca565b905060000361117757505060408051602081019091526000815292915050565b61120d826000018054611189906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546111b5906150ca565b80156112025780601f106111d757610100808354040283529160200191611202565b820191906000526020600020905b8154815290600101906020018083116111e557829003601f168201915b50505050508561328e565b949350505050565b60005b818110156112865760008383838181106112345761123461523e565b905060200201359050807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61126883610f79565b6040516112759190614aac565b60405180910390a250600101611218565b505050565b81156112c3576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112cb6132d6565b61128683826133de565b6112dd61343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611373576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061138e8385836152b4565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516113c1929190615417565b60405180910390a2837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6113f486610f79565b6040516114019190614aac565b60405180910390a250505050565b61141761343f565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e83565b61151c61343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156115b2576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e83565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836116a9576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b61178b888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061347592505050565b8285146117a057633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886117df5763ea553b346000526004601cfd5b89331461180257336000526034600c205461180257634b6e7f186000526004601cfd5b8660051b5b8015611874576020810390508087013583602052818a0135600052604060002080548083111561183f5763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015611869576301336cea6000526004601cfd5b909155506118079050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506118df600190565b156118f4576118f48888888888888888613481565b863b156119cb578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611992573d15611992573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146119c957639c05499b6000526004601cfd5b505b5050505050505050565b6119dd61343f565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615611a84576000838152600182016020526040902054821115611a7f576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611acb565b805415801590611a945750805482115b15611acb576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015611b32576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b611bbc61343f565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611c5361343f565b611c5d8282613524565b5050565b6060838214611c7857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b8015611cc757602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152611c8f565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611d53906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7f906150ca565b8015611dcc5780601f10611da157610100808354040283529160200191611dcc565b820191906000526020600020905b815481529060010190602001808311611daf57829003601f168201915b505050505090509250925050915091565b611de561343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611e7661343f565b611e806000613617565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611ee0578054611098565b600092835260010160205250604090205490565b611efc61343f565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611f8461343f565b611f908484848461367d565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e8e906150ca565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b61202661343f565b61203385858585856137a9565b5050505050565b61204261343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156120d8576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806120e48385836152b4565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61211b61343f565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff1661218f576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156121b4576121b4826138e9565b6121be818361393a565b611c5d826139b7565b606034156121d457600080fd5b610e596121e18484613a5d565b613af4565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612222906150ca565b80601f016020809104026020016040519081016040528092919081815260200182805461224e906150ca565b801561229b5780601f106122705761010080835404028352916020019161229b565b820191906000526020600020905b81548152906001019060200180831161227e57829003601f168201915b50505050509050919050565b6122af61343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612345576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181016120e48385836152b4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f35565b61238461343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561241a576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806124268385836152b4565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612458929190615417565b60405180910390a1505050565b61246d61343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6124fe61343f565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156125e25760018160011c14303b106125d95763f92ee8a96000526004601cfd5b818160ff1b1b91505b506125f86125f36020840184614c4b565b613b05565b61261d61260860a084018461542b565b61261860e0860160c08701614c4b565b613b69565b61263f61262d606084018461542b565b61263a608086018661542b565b613be1565b612647613c1e565b61267361265c61014084016101208501614c4b565b61266e61016085016101408601615490565b613c54565b61268d61268861018084016101608501614c4b565b613c7f565b61269b826101800135613d2f565b6126b56126b06101e084016101c08501614c4b565b613d7e565b6126cf6126ca6101c084016101a08501614c4b565b613dec565b6126e96126e461020084016101e08501614c30565b613e5a565b61270f60006126fc6102008501856154ab565b61270a6102208701876154ab565b613f08565b61273661271f60e084018461542b565b61273161012086016101008701614c4b565b614046565b60006127486040840160208501614c4b565b73ffffffffffffffffffffffffffffffffffffffff161415801561276f5750604082013515155b15612791576127916127876040840160208501614c4b565b83604001356133de565b8015611c5d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061281a906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054612846906150ca565b80156128935780601f1061286857610100808354040283529160200191612893565b820191906000526020600020905b81548152906001019060200180831161287657829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156129c35760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612977573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526129bd919081019061514c565b91505090565b8060010180546129d2906150ca565b159050612a6c578060010180546129e8906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054612a14906150ca565b8015612a615780601f10612a3657610100808354040283529160200191612a61565b820191906000526020600020905b815481529060010190602001808311612a4457829003601f168201915b505050505091505090565b80548190612a79906150ca565b9050600003612a9657505060408051602081019091526000815290565b80612aa0466140e5565b612aa930614147565b604051602001612abb9392919061552f565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611fba565b612b0061343f565b63389a75e1600c52806000526020600c208054421115612b2857636f5e88186000526004601cfd5b60009055612b3581613617565b50565b612bab8686612b5a876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061347592505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c965086612bea5763ea553b346000526004601cfd5b873314612c0d57336000526034600c2054612c0d57634b6e7f186000526004601cfd5b8560005260406000209150815480861115612c305763f4d678b86000526004601cfd5b8581038355508060205260406000209150815485810181811015612c5c576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612d028686612cb1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061418992505050565b843b15612d995760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612d61573d15612d61573d6000823e3d81fd5b80517ff23a6e610000000000000000000000000000000000000000000000000000000014612d9757639c05499b6000526004601cfd5b505b505050505050565b612da961343f565b8060601b612dbf57637448fbae6000526004601cfd5b612b3581613617565b612dd061343f565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612e6a61343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612f00576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a25050565b6000612f7d82614196565b80610e595750610e59826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612fb482614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b600061301082614196565b80610e595750632a55205a60e083901c9081146301ffc9a79190911417610e59565b600061303d82614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806130d457507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e5957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b600061312982614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b600061318582614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b60006131e182614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061323d82614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60608261329a466140e5565b6132a330614147565b6132ac856140e5565b6040516020016132bf9493929190615634565b604051602081830303815290604052905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361331657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613372576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61337a610f11565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e80576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613418576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342360008261422e565b611c5d8260008360405180602001604052806000815250614343565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611e80576382b429006000526004601cfd5b61203385858585614457565b6119cb888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061418992505050565b6103e861ffff82161115613564576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036135bd57613582600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6135cb828261ffff16614608565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016135b1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613707576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613742576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008581526002820160205260409020848155600181016137648486836152b4565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516137999392919061570e565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561383e576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613879576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016138a28486836152b4565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a78787876040516138d89392919061570e565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612b35576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612458565b73ffffffffffffffffffffffffffffffffffffffff81166139d55750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b158015613a4457600080fd5b505af1925050508015613a55575060015b15612b355750565b600060405190506020815281816020015280604001808360051b808684378201808515613adc575b835187018035602082018337600038823584305af4613aa7573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613a85575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613b968486836152b4565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613c0e8587836152b4565b5060018101612d998385836152b4565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611c537f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614658565b73ffffffffffffffffffffffffffffffffffffffff8116613c9d5750565b613ca6816138e9565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556121b47f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614658565b613d5a7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614658565b7fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190055565b613da97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614658565b73ffffffffffffffffffffffffffffffffffffffff811615612b3557807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612df3565b613e177fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614658565b73ffffffffffffffffffffffffffffffffffffffff811615612b3557807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612521565b613e857f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614658565b8015612b35577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611491565b613f106146e7565b60005b83811015613fab57613fa386868684818110613f3157613f3161523e565b9050602002810190613f439190615728565b35878785818110613f5657613f5661523e565b9050602002810190613f689190615728565b60200135888886818110613f7e57613f7e61523e565b9050602002810190613f909190615728565b613f9e90604081019061542b565b6137a9565b600101613f13565b5060005b81811015612d995761403e838383818110613fcc57613fcc61523e565b9050602002810190613fde9190615728565b35848484818110613ff157613ff161523e565b90506020028101906140039190615728565b602001358585858181106140195761401961523e565b905060200281019061402b9190615728565b61403990604081019061542b565b61367d565b600101613faf565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806140738486836152b4565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141005750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061415282614712565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b612033858585858561479f565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615801561428d57508054155b1561429757505050565b600083815260028201602052604081205460ff166142b65781546142c8565b60008481526001830160205260409020545b905080836143018660009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b61430b9190615795565b1115611f90576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614381600085614366866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613475565b8360601b806143985763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156143cc576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450614442600085614427866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614189565b833b15611f9057611f90600085858585614903565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061449a5750611f90565b73ffffffffffffffffffffffffffffffffffffffff851615806144d1575073ffffffffffffffffffffffffffffffffffffffff8416155b156144dc5750611f90565b73ffffffffffffffffffffffffffffffffffffffff811633036144ff5750611f90565b60005b8351811015612d99578173ffffffffffffffffffffffffffffffffffffffff16631854b24133888888868151811061453c5761453c61523e565b60200260200101518887815181106145565761455661523e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b1580156145e557600080fd5b505af11580156145f9573d6000803e3d6000fd5b50505050806001019050614502565b6bffffffffffffffffffffffff166127108082111561462f5763350a88b36000526004601cfd5b8260601b806146465763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016135b1565b611e807f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614658565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614752575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614852577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561484b578381815181106147f9576147f961523e565b60200260200101518260000160008784815181106148195761481961523e565b60200260200101518152602001908152602001600020600082825461483e9190615795565b90915550506001016147de565b5050612033565b73ffffffffffffffffffffffffffffffffffffffff84166148fe577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561484b578381815181106148ac576148ac61523e565b60200260200101518260000160008784815181106148cc576148cc61523e565b6020026020010151815260200190815260200160002060008282546148f191906157a8565b9091555050600101614891565b612033565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561494f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614972573d15614972573d6000833e3d82fd5b5080517ff23a6e610000000000000000000000000000000000000000000000000000000014612d9957639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146149cd57600080fd5b919050565b600080604083850312156149e557600080fd5b6149ee836149a9565b946020939093013593505050565b600060208284031215614a0e57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461109857600080fd5b60005b83811015614a59578181015183820152602001614a41565b50506000910152565b60008151808452614a7a816020860160208601614a3e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110986020830184614a62565b600060208284031215614ad157600080fd5b5035919050565b60008083601f840112614aea57600080fd5b50813567ffffffffffffffff811115614b0257600080fd5b6020830191508360208260051b85010111156128a057600080fd5b60008060208385031215614b3057600080fd5b823567ffffffffffffffff811115614b4757600080fd5b614b5385828601614ad8565b90969095509350505050565b600080600060608486031215614b7457600080fd5b614b7d846149a9565b95602085013595506040909401359392505050565b60008083601f840112614ba457600080fd5b50813567ffffffffffffffff811115614bbc57600080fd5b6020830191508360208285010111156128a057600080fd5b600080600060408486031215614be957600080fd5b83359250602084013567ffffffffffffffff811115614c0757600080fd5b614c1386828701614b92565b9497909650939450505050565b803580151581146149cd57600080fd5b600060208284031215614c4257600080fd5b61109882614c20565b600060208284031215614c5d57600080fd5b611098826149a9565b60008060408385031215614c7957600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614ca457600080fd5b614cad896149a9565b9750614cbb60208a016149a9565b9650604089013567ffffffffffffffff811115614cd757600080fd5b614ce38b828c01614ad8565b909750955050606089013567ffffffffffffffff811115614d0357600080fd5b614d0f8b828c01614ad8565b909550935050608089013567ffffffffffffffff811115614d2f57600080fd5b614d3b8b828c01614b92565b999c989b5096995094979396929594505050565b803561ffff811681146149cd57600080fd5b60008060408385031215614d7457600080fd5b614d7d836149a9565b9150614d8b60208401614d4f565b90509250929050565b60008060008060408587031215614daa57600080fd5b843567ffffffffffffffff811115614dc157600080fd5b614dcd87828801614ad8565b909550935050602085013567ffffffffffffffff811115614ded57600080fd5b614df987828801614ad8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e3d578351835260209384019390920191600101614e1f565b509095945050505050565b82815260406020820152600061120d6040830184614a62565b60008060008060608587031215614e7757600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614e9c57600080fd5b614df987828801614b92565b60008060408385031215614ebb57600080fd5b614ec4836149a9565b9150614d8b60208401614c20565b600080600080600060808688031215614eea57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614f1657600080fd5b614f2288828901614b92565b969995985093965092949392505050565b60008060208385031215614f4657600080fd5b823567ffffffffffffffff811115614f5d57600080fd5b614b5385828601614b92565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614fe0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614fcb858351614a62565b94506020938401939190910190600101614f91565b50929695505050505050565b600060208284031215614ffe57600080fd5b813567ffffffffffffffff81111561501557600080fd5b8201610240818503121561109857600080fd5b6000806040838503121561503b57600080fd5b615044836149a9565b9150614d8b602084016149a9565b60008060008060008060a0878903121561506b57600080fd5b615074876149a9565b9550615082602088016149a9565b94506040870135935060608701359250608087013567ffffffffffffffff8111156150ac57600080fd5b6150b889828a01614b92565b979a9699509497509295939492505050565b600181811c908216806150de57607f821691505b602082108103615117577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561515e57600080fd5b815167ffffffffffffffff81111561517557600080fd5b8201601f8101841361518657600080fd5b805167ffffffffffffffff8111156151a0576151a061511d565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561520c5761520c61511d565b60405281815282820160200186101561522457600080fd5b615235826020830160208601614a3e565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f82111561128657806000526020600020601f840160051c810160208510156152945750805b601f840160051c820191505b8181101561203357600081556001016152a0565b67ffffffffffffffff8311156152cc576152cc61511d565b6152e0836152da83546150ca565b8361526d565b6000601f84116001811461533257600085156152fc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355612033565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156153815786850135825560209485019460019092019101615361565b50868210156153bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061120d6020830184866153ce565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261546057600080fd5b83018035915067ffffffffffffffff82111561547b57600080fd5b6020019150368190038213156128a057600080fd5b6000602082840312156154a257600080fd5b61109882614d4f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126154e057600080fd5b83018035915067ffffffffffffffff8211156154fb57600080fd5b6020019150600581901b36038213156128a057600080fd5b60008151615525818560208601614a3e565b9290920192915050565b600080855461553d816150ca565b6001821680156155545760018114615587576155b7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506155b7565b88600052602060002060005b838110156155af57815488820152600190910190602001615593565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516155f0816001840160208901614a3e565b0161561d600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61562a6002820185615513565b9695505050505050565b60008551615646818460208a01614a3e565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615680816001840160208a01614a3e565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516156be816002840160208901614a3e565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351615700816002840160208801614a3e565b016002019695505050505050565b8381526040602082015260006152356040830184866153ce565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261575c57600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610e5957610e59615766565b81810381811115610e5957610e5961576656fea264697066735822122091a315daa4ffd989dbdc6c981e2deeb4c11372ca2278b8b47deb2829cafc517f64736f6c634300081c0033";
|
|
18
|
+
export const oneOfOneEditionAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidTokenId", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
|
|
19
|
+
export const oneOfOneEditionBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6157f18061008d6000396000f3fe6080604052600436106103b75760003560e01c8063869f7594116101f2578063d8b4f8ac1161010d578063e985e9c5116100a0578063f2fde38b1161006f578063f2fde38b14610d13578063fca3b5aa14610d26578063fee81cf414610d46578063ff87a5f514610d7957600080fd5b8063e985e9c514610c92578063ee748f2c14610ccb578063f04e283e14610ce0578063f242432a14610cf357600080fd5b8063e454cd4b116100dc578063e454cd4b14610bed578063e4df18ec14610c0d578063e8a3d48514610c2d578063e8dc3e0914610c4257600080fd5b8063d8b4f8ac14610b83578063da2bbfc714610b98578063e1c2ffad14610bb8578063e2969ba714610bcd57600080fd5b8063a8cdf07811610185578063bb77e79611610154578063bb77e79614610aad578063bd85b03914610acd578063c3e617a214610b19578063d50bac3314610b3957600080fd5b8063a8cdf078146109fe578063a9fc664e14610a1e578063ac9650d814610a3e578063ac998f4514610a5e57600080fd5b806395d89b41116101c157806395d89b411461094f578063a148d8cf14610964578063a22cb465146109be578063a482c946146109de57600080fd5b8063869f7594146108bb5780638da5cb5b146108db5780638e08141f1461090f578063913b385a1461092f57600080fd5b80632a55205a116102e25780634f558e79116102755780635c975abb116102445780635c975abb146108185780635e5a9e301461084f578063715018a614610864578063738e14961461086c57600080fd5b80634f558e791461074a57806354d1f13d1461079857806355828c50146107a05780635a50ca65146107ce57600080fd5b80633dda44b0116102b15780633dda44b0146106ba5780634331f639146106da5780634aa3adb3146106fa5780634e1273f41461071d57600080fd5b80632a55205a146105df5780632e73cddb1461062b5780632eb2c2d61461067a57806337da577c1461069a57600080fd5b806314cb56671161035a5780632569296211610329578063256929621461058d578063261220a31461059557806326dfe8c7146105aa578063298bb40e146105ca57600080fd5b806314cb56671461050b578063156e29f61461052d5780631622326a1461054d57806316c38b3c1461056d57600080fd5b80630754617211610396578063075461721461045b578063098144d4146104955780630d705df6146104aa5780630e89341c146104eb57600080fd5b8062fdd58e146103bc57806301ffc9a71461040957806306fdde0314610439575b600080fd5b3480156103c857600080fd5b506103f66103d73660046149d2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561041557600080fd5b506104296104243660046149fc565b610d99565b6040519015158152602001610400565b34801561044557600080fd5b5061044e610e5f565b6040516104009190614aac565b34801561046757600080fd5b50610470610f11565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610400565b3480156104a157600080fd5b50610470610f51565b3480156104b657600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610400565b3480156104f757600080fd5b5061044e610506366004614abf565b610f79565b34801561051757600080fd5b5061052b610526366004614b1d565b611215565b005b34801561053957600080fd5b5061052b610548366004614b5f565b61128b565b34801561055957600080fd5b5061052b610568366004614bd4565b6112d5565b34801561057957600080fd5b5061052b610588366004614c30565b61140f565b61052b61149c565b3480156105a157600080fd5b5061044e6114ec565b3480156105b657600080fd5b5061052b6105c5366004614c4b565b611514565b3480156105d657600080fd5b5061044e61164d565b3480156105eb57600080fd5b506105ff6105fa366004614c66565b611675565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610400565b34801561063757600080fd5b50610429610646366004614abf565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561068657600080fd5b5061052b610695366004614c88565b6116e8565b3480156106a657600080fd5b5061052b6106b5366004614c66565b6119d5565b3480156106c657600080fd5b5061052b6106d5366004614c66565b611bb4565b3480156106e657600080fd5b5061052b6106f5366004614d61565b611c4b565b34801561070657600080fd5b5060015b60405161ffff9091168152602001610400565b34801561072957600080fd5b5061073d610738366004614d94565b611c61565b6040516104009190614e05565b34801561075657600080fd5b50610429610765366004614abf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61052b611cd1565b3480156107ac57600080fd5b506107c06107bb366004614abf565b611d0d565b604051610400929190614e48565b3480156107da57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610470565b34801561082457600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610429565b34801561085b57600080fd5b5061052b611ddd565b61052b611e6e565b34801561087857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610429565b3480156108c757600080fd5b506103f66108d6366004614abf565b611e82565b3480156108e757600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610470565b34801561091b57600080fd5b5061052b61092a366004614abf565b611ef4565b34801561093b57600080fd5b5061052b61094a366004614e61565b611f7c565b34801561095b57600080fd5b5061044e611f96565b34801561097057600080fd5b5061042961097f366004614c66565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ca57600080fd5b5061052b6109d9366004614ea8565b611fc8565b3480156109ea57600080fd5b5061052b6109f9366004614ed2565b61201e565b348015610a0a57600080fd5b5061052b610a19366004614f33565b61203a565b348015610a2a57600080fd5b5061052b610a39366004614c4b565b612113565b610a51610a4c366004614b1d565b6121c7565b6040516104009190614f69565b348015610a6a57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610429565b348015610ab957600080fd5b5061044e610ac8366004614abf565b6121e6565b348015610ad957600080fd5b506103f6610ae8366004614abf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610b2557600080fd5b5061052b610b34366004614f33565b6122a7565b348015610b4557600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610470565b348015610b8f57600080fd5b50610470612354565b348015610ba457600080fd5b5061052b610bb3366004614f33565b61237c565b348015610bc457600080fd5b5061052b612465565b348015610bd957600080fd5b5061052b610be8366004614c4b565b6124f6565b348015610bf957600080fd5b5061052b610c08366004614fec565b612590565b348015610c1957600080fd5b506107c0610c28366004614c66565b6127c9565b348015610c3957600080fd5b5061044e6128a7565b348015610c4e57600080fd5b5061070a610c5d366004614abf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c9e57600080fd5b50610429610cad366004615028565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610cd757600080fd5b5061044e612ad0565b61052b610cee366004614c4b565b612af8565b348015610cff57600080fd5b5061052b610d0e366004615052565b612b38565b61052b610d21366004614c4b565b612da1565b348015610d3257600080fd5b5061052b610d41366004614c4b565b612dc8565b348015610d5257600080fd5b506103f6610d61366004614c4b565b63389a75e1600c908152600091909152602090205490565b348015610d8557600080fd5b5061052b610d94366004614c4b565b612e62565b6000610da482612f72565b80610db35750610db382612fa9565b80610dc25750610dc282613005565b80610dd15750610dd182613032565b80610de05750610de08261311e565b80610def5750610def8261317a565b80610dfe5750610dfe826131d6565b80610e0d5750610e0d82613232565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e8e906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610eba906150ca565b8015610f075780601f10610edc57610100808354040283529160200191610f07565b820191906000526020600020905b815481529060010190602001808311610eea57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f35565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561109f5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611052573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611098919081019061514c565b9392505050565b6000838152600282016020526040812080546110ba906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546110e6906150ca565b80156111335780601f1061110857610100808354040283529160200191611133565b820191906000526020600020905b81548152906001019060200180831161111657829003601f168201915b50505050509050805160001461114a579392505050565b81548290611157906150ca565b905060000361117757505060408051602081019091526000815292915050565b61120d826000018054611189906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546111b5906150ca565b80156112025780601f106111d757610100808354040283529160200191611202565b820191906000526020600020905b8154815290600101906020018083116111e557829003601f168201915b50505050508561328e565b949350505050565b60005b818110156112865760008383838181106112345761123461523e565b905060200201359050807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61126883610f79565b6040516112759190614aac565b60405180910390a250600101611218565b505050565b81156112c3576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112cb6132d6565b61128683826133de565b6112dd61343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611373576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061138e8385836152b4565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516113c1929190615417565b60405180910390a2837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6113f486610f79565b6040516114019190614aac565b60405180910390a250505050565b61141761343f565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e83565b61151c61343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156115b2576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e83565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836116a9576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b61178b888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061347592505050565b8285146117a057633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886117df5763ea553b346000526004601cfd5b89331461180257336000526034600c205461180257634b6e7f186000526004601cfd5b8660051b5b8015611874576020810390508087013583602052818a0135600052604060002080548083111561183f5763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015611869576301336cea6000526004601cfd5b909155506118079050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506118df600190565b156118f4576118f48888888888888888613481565b863b156119cb578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611992573d15611992573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146119c957639c05499b6000526004601cfd5b505b5050505050505050565b6119dd61343f565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615611a84576000838152600182016020526040902054821115611a7f576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611acb565b805415801590611a945750805482115b15611acb576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015611b32576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b611bbc61343f565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611c5361343f565b611c5d8282613524565b5050565b6060838214611c7857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b8015611cc757602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152611c8f565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611d53906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7f906150ca565b8015611dcc5780601f10611da157610100808354040283529160200191611dcc565b820191906000526020600020905b815481529060010190602001808311611daf57829003601f168201915b505050505090509250925050915091565b611de561343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611e7661343f565b611e806000613617565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611ee0578054611098565b600092835260010160205250604090205490565b611efc61343f565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611f8461343f565b611f908484848461367d565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e8e906150ca565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b61202661343f565b61203385858585856137a9565b5050505050565b61204261343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156120d8576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806120e48385836152b4565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61211b61343f565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff1661218f576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156121b4576121b4826138e9565b6121be818361393a565b611c5d826139b7565b606034156121d457600080fd5b610e596121e18484613a5d565b613af4565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612222906150ca565b80601f016020809104026020016040519081016040528092919081815260200182805461224e906150ca565b801561229b5780601f106122705761010080835404028352916020019161229b565b820191906000526020600020905b81548152906001019060200180831161227e57829003601f168201915b50505050509050919050565b6122af61343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612345576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181016120e48385836152b4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f35565b61238461343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561241a576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806124268385836152b4565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612458929190615417565b60405180910390a1505050565b61246d61343f565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6124fe61343f565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156125e25760018160011c14303b106125d95763f92ee8a96000526004601cfd5b818160ff1b1b91505b506125f86125f36020840184614c4b565b613b05565b61261d61260860a084018461542b565b61261860e0860160c08701614c4b565b613b69565b61263f61262d606084018461542b565b61263a608086018661542b565b613be1565b612647613c1e565b61267361265c61014084016101208501614c4b565b61266e61016085016101408601615490565b613c54565b61268d61268861018084016101608501614c4b565b613c7f565b61269b826101800135613d2f565b6126b56126b06101e084016101c08501614c4b565b613d7e565b6126cf6126ca6101c084016101a08501614c4b565b613dec565b6126e96126e461020084016101e08501614c30565b613e5a565b61270f60006126fc6102008501856154ab565b61270a6102208701876154ab565b613f08565b61273661271f60e084018461542b565b61273161012086016101008701614c4b565b614046565b60006127486040840160208501614c4b565b73ffffffffffffffffffffffffffffffffffffffff161415801561276f5750604082013515155b15612791576127916127876040840160208501614c4b565b83604001356133de565b8015611c5d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061281a906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054612846906150ca565b80156128935780601f1061286857610100808354040283529160200191612893565b820191906000526020600020905b81548152906001019060200180831161287657829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156129c35760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612977573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526129bd919081019061514c565b91505090565b8060010180546129d2906150ca565b159050612a6c578060010180546129e8906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054612a14906150ca565b8015612a615780601f10612a3657610100808354040283529160200191612a61565b820191906000526020600020905b815481529060010190602001808311612a4457829003601f168201915b505050505091505090565b80548190612a79906150ca565b9050600003612a9657505060408051602081019091526000815290565b80612aa0466140e5565b612aa930614147565b604051602001612abb9392919061552f565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611fba565b612b0061343f565b63389a75e1600c52806000526020600c208054421115612b2857636f5e88186000526004601cfd5b60009055612b3581613617565b50565b612bab8686612b5a876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061347592505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c965086612bea5763ea553b346000526004601cfd5b873314612c0d57336000526034600c2054612c0d57634b6e7f186000526004601cfd5b8560005260406000209150815480861115612c305763f4d678b86000526004601cfd5b8581038355508060205260406000209150815485810181811015612c5c576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612d028686612cb1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061418992505050565b843b15612d995760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612d61573d15612d61573d6000823e3d81fd5b80517ff23a6e610000000000000000000000000000000000000000000000000000000014612d9757639c05499b6000526004601cfd5b505b505050505050565b612da961343f565b8060601b612dbf57637448fbae6000526004601cfd5b612b3581613617565b612dd061343f565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612e6a61343f565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612f00576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a25050565b6000612f7d82614196565b80610e595750610e59826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612fb482614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b600061301082614196565b80610e595750632a55205a60e083901c9081146301ffc9a79190911417610e59565b600061303d82614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806130d457507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e5957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b600061312982614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b600061318582614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b60006131e182614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061323d82614196565b80610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60608261329a466140e5565b6132a330614147565b6132ac856140e5565b6040516020016132bf9493929190615634565b604051602081830303815290604052905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361331657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613372576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61337a610f11565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e80576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613418576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342360008261422e565b611c5d8260008360405180602001604052806000815250614343565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611e80576382b429006000526004601cfd5b61203385858585614457565b6119cb888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061418992505050565b6103e861ffff82161115613564576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036135bd57613582600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6135cb828261ffff16614608565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016135b1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613707576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613742576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008581526002820160205260409020848155600181016137648486836152b4565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516137999392919061570e565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561383e576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613879576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016138a28486836152b4565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a78787876040516138d89392919061570e565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612b35576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612458565b73ffffffffffffffffffffffffffffffffffffffff81166139d55750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b158015613a4457600080fd5b505af1925050508015613a55575060015b15612b355750565b600060405190506020815281816020015280604001808360051b808684378201808515613adc575b835187018035602082018337600038823584305af4613aa7573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613a85575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613b968486836152b4565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613c0e8587836152b4565b5060018101612d998385836152b4565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611c537f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614658565b73ffffffffffffffffffffffffffffffffffffffff8116613c9d5750565b613ca6816138e9565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556121b47f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614658565b613d5a7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614658565b7fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190055565b613da97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614658565b73ffffffffffffffffffffffffffffffffffffffff811615612b3557807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612df3565b613e177fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614658565b73ffffffffffffffffffffffffffffffffffffffff811615612b3557807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612521565b613e857f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614658565b8015612b35577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611491565b613f106146e7565b60005b83811015613fab57613fa386868684818110613f3157613f3161523e565b9050602002810190613f439190615728565b35878785818110613f5657613f5661523e565b9050602002810190613f689190615728565b60200135888886818110613f7e57613f7e61523e565b9050602002810190613f909190615728565b613f9e90604081019061542b565b6137a9565b600101613f13565b5060005b81811015612d995761403e838383818110613fcc57613fcc61523e565b9050602002810190613fde9190615728565b35848484818110613ff157613ff161523e565b90506020028101906140039190615728565b602001358585858181106140195761401961523e565b905060200281019061402b9190615728565b61403990604081019061542b565b61367d565b600101613faf565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806140738486836152b4565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141005750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061415282614712565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b612033858585858561479f565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e5957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615801561428d57508054155b1561429757505050565b600083815260028201602052604081205460ff166142b65781546142c8565b60008481526001830160205260409020545b905080836143018660009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b61430b9190615795565b1115611f90576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614381600085614366866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613475565b8360601b806143985763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156143cc576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450614442600085614427866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614189565b833b15611f9057611f90600085858585614903565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061449a5750611f90565b73ffffffffffffffffffffffffffffffffffffffff851615806144d1575073ffffffffffffffffffffffffffffffffffffffff8416155b156144dc5750611f90565b73ffffffffffffffffffffffffffffffffffffffff811633036144ff5750611f90565b60005b8351811015612d99578173ffffffffffffffffffffffffffffffffffffffff16631854b24133888888868151811061453c5761453c61523e565b60200260200101518887815181106145565761455661523e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b1580156145e557600080fd5b505af11580156145f9573d6000803e3d6000fd5b50505050806001019050614502565b6bffffffffffffffffffffffff166127108082111561462f5763350a88b36000526004601cfd5b8260601b806146465763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016135b1565b611e807f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614658565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614752575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614852577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561484b578381815181106147f9576147f961523e565b60200260200101518260000160008784815181106148195761481961523e565b60200260200101518152602001908152602001600020600082825461483e9190615795565b90915550506001016147de565b5050612033565b73ffffffffffffffffffffffffffffffffffffffff84166148fe577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561484b578381815181106148ac576148ac61523e565b60200260200101518260000160008784815181106148cc576148cc61523e565b6020026020010151815260200190815260200160002060008282546148f191906157a8565b9091555050600101614891565b612033565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561494f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614972573d15614972573d6000833e3d82fd5b5080517ff23a6e610000000000000000000000000000000000000000000000000000000014612d9957639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146149cd57600080fd5b919050565b600080604083850312156149e557600080fd5b6149ee836149a9565b946020939093013593505050565b600060208284031215614a0e57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461109857600080fd5b60005b83811015614a59578181015183820152602001614a41565b50506000910152565b60008151808452614a7a816020860160208601614a3e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110986020830184614a62565b600060208284031215614ad157600080fd5b5035919050565b60008083601f840112614aea57600080fd5b50813567ffffffffffffffff811115614b0257600080fd5b6020830191508360208260051b85010111156128a057600080fd5b60008060208385031215614b3057600080fd5b823567ffffffffffffffff811115614b4757600080fd5b614b5385828601614ad8565b90969095509350505050565b600080600060608486031215614b7457600080fd5b614b7d846149a9565b95602085013595506040909401359392505050565b60008083601f840112614ba457600080fd5b50813567ffffffffffffffff811115614bbc57600080fd5b6020830191508360208285010111156128a057600080fd5b600080600060408486031215614be957600080fd5b83359250602084013567ffffffffffffffff811115614c0757600080fd5b614c1386828701614b92565b9497909650939450505050565b803580151581146149cd57600080fd5b600060208284031215614c4257600080fd5b61109882614c20565b600060208284031215614c5d57600080fd5b611098826149a9565b60008060408385031215614c7957600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614ca457600080fd5b614cad896149a9565b9750614cbb60208a016149a9565b9650604089013567ffffffffffffffff811115614cd757600080fd5b614ce38b828c01614ad8565b909750955050606089013567ffffffffffffffff811115614d0357600080fd5b614d0f8b828c01614ad8565b909550935050608089013567ffffffffffffffff811115614d2f57600080fd5b614d3b8b828c01614b92565b999c989b5096995094979396929594505050565b803561ffff811681146149cd57600080fd5b60008060408385031215614d7457600080fd5b614d7d836149a9565b9150614d8b60208401614d4f565b90509250929050565b60008060008060408587031215614daa57600080fd5b843567ffffffffffffffff811115614dc157600080fd5b614dcd87828801614ad8565b909550935050602085013567ffffffffffffffff811115614ded57600080fd5b614df987828801614ad8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e3d578351835260209384019390920191600101614e1f565b509095945050505050565b82815260406020820152600061120d6040830184614a62565b60008060008060608587031215614e7757600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614e9c57600080fd5b614df987828801614b92565b60008060408385031215614ebb57600080fd5b614ec4836149a9565b9150614d8b60208401614c20565b600080600080600060808688031215614eea57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614f1657600080fd5b614f2288828901614b92565b969995985093965092949392505050565b60008060208385031215614f4657600080fd5b823567ffffffffffffffff811115614f5d57600080fd5b614b5385828601614b92565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614fe0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614fcb858351614a62565b94506020938401939190910190600101614f91565b50929695505050505050565b600060208284031215614ffe57600080fd5b813567ffffffffffffffff81111561501557600080fd5b8201610240818503121561109857600080fd5b6000806040838503121561503b57600080fd5b615044836149a9565b9150614d8b602084016149a9565b60008060008060008060a0878903121561506b57600080fd5b615074876149a9565b9550615082602088016149a9565b94506040870135935060608701359250608087013567ffffffffffffffff8111156150ac57600080fd5b6150b889828a01614b92565b979a9699509497509295939492505050565b600181811c908216806150de57607f821691505b602082108103615117577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561515e57600080fd5b815167ffffffffffffffff81111561517557600080fd5b8201601f8101841361518657600080fd5b805167ffffffffffffffff8111156151a0576151a061511d565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561520c5761520c61511d565b60405281815282820160200186101561522457600080fd5b615235826020830160208601614a3e565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f82111561128657806000526020600020601f840160051c810160208510156152945750805b601f840160051c820191505b8181101561203357600081556001016152a0565b67ffffffffffffffff8311156152cc576152cc61511d565b6152e0836152da83546150ca565b8361526d565b6000601f84116001811461533257600085156152fc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355612033565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156153815786850135825560209485019460019092019101615361565b50868210156153bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061120d6020830184866153ce565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261546057600080fd5b83018035915067ffffffffffffffff82111561547b57600080fd5b6020019150368190038213156128a057600080fd5b6000602082840312156154a257600080fd5b61109882614d4f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126154e057600080fd5b83018035915067ffffffffffffffff8211156154fb57600080fd5b6020019150600581901b36038213156128a057600080fd5b60008151615525818560208601614a3e565b9290920192915050565b600080855461553d816150ca565b6001821680156155545760018114615587576155b7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506155b7565b88600052602060002060005b838110156155af57815488820152600190910190602001615593565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516155f0816001840160208901614a3e565b0161561d600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61562a6002820185615513565b9695505050505050565b60008551615646818460208a01614a3e565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615680816001840160208a01614a3e565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516156be816002840160208901614a3e565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351615700816002840160208801614a3e565b016002019695505050505050565b8381526040602082015260006152356040830184866153ce565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261575c57600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610e5957610e59615766565b81810381811115610e5957610e5961576656fea264697066735822122091a315daa4ffd989dbdc6c981e2deeb4c11372ca2278b8b47deb2829cafc517f64736f6c634300081c0033";
|
|
20
|
+
export const editionImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
21
|
+
export const editionImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c5580610cca83390190565b608051610c3c61008e6000396000818160c1015281816101300152818161016c015281816101a801526102c60152610c3c6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063be17a06a1461011657600080fd5b8063460c8cb71461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610500565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b736600461053d565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f136600461057a565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610124366004610595565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610342565b92915050565b60006101a38261039f565b6101cd7f000000000000000000000000000000000000000000000000000000000000000083610404565b905061019281846101e6565b6000610192600083610419565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517faab4d3b700000000000000000000000000000000000000000000000000000000815263aab4d3b79061026e9084906004016108b9565b600060405180830381600087803b15801561028857600080fd5b505af115801561029c573d6000803e3d6000fd5b506102ae92505050602082018261057a565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103898560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061039681858561046e565b95945050505050565b606081901c80158015906103c9575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610400576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600061041260008484610490565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104635763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104db5763301164256000526004601cfd5b60006021529392505050565b600061028082840312156104fa57600080fd5b50919050565b60006020828403121561051257600080fd5b813567ffffffffffffffff81111561052957600080fd5b610535848285016104e7565b949350505050565b60006020828403121561054f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b60006020828403121561058c57600080fd5b61041282610556565b600080604083850312156105a857600080fd5b823567ffffffffffffffff8111156105bf57600080fd5b6105cb858286016104e7565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8187360301811261079157600080fd5b86018035845260208082013590850152604080820135908501526107b860608201826105da565b9150608060608601526107cf608086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261086d57600080fd5b8601803584526020808201359085015261088a60408201826105da565b9150606060408601526108a1606086018383610645565b60209a8b019a9095509390930192505060010161080c565b602081526108e7602082016108cd84610556565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108f660208401846105da565b610280604085015261090d6102a085018284610645565b91505061091d60408501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016060860152610952838284610645565b9250505061096360608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016080860152610998838284610645565b925050506109a860808501610556565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109d260a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a07838284610645565b92505050610a1760c08501610556565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a4060e08501610556565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a6b610100850161068e565b61ffff811661012085015250610a846101208501610556565b73ffffffffffffffffffffffffffffffffffffffff8116610140850152506101408401356101608481019190915284013561018080850191909152610aca908501610556565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610af56101a08501610556565b73ffffffffffffffffffffffffffffffffffffffff81166101c085015250610b206101c085016106a0565b8015156101e085015250610b376101e08501610556565b73ffffffffffffffffffffffffffffffffffffffff8116610200850152506102008401356102208481019190915284013561024080850191909152610b7e908501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610bb4838284610717565b92505050610bc66102608501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610bfc8382846107f3565b969550505050505056fea26469706673582212204ba685eb4e68357a2aee5cbf75878dd45774b6a3b96b452f8424dea7b097666864736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615bc88061008d6000396000f3fe6080604052600436106103dd5760003560e01c8063869f75941161020d578063c3e617a211610128578063e8dc3e09116100bb578063f242432a1161008a578063fca3b5aa1161006f578063fca3b5aa14610da0578063fee81cf414610dc0578063ff87a5f514610df357600080fd5b8063f242432a14610d6d578063f2fde38b14610d8d57600080fd5b8063e8dc3e0914610cbc578063e985e9c514610d0c578063ee748f2c14610d45578063f04e283e14610d5a57600080fd5b8063e1c2ffad116100f7578063e1c2ffad14610c52578063e2969ba714610c67578063e4df18ec14610c87578063e8a3d48514610ca757600080fd5b8063c3e617a214610bb3578063d50bac3314610bd3578063d8b4f8ac14610c1d578063da2bbfc714610c3257600080fd5b8063a482c946116101a0578063ac9650d81161016f578063ac9650d814610ad8578063ac998f4514610af8578063bb77e79614610b47578063bd85b03914610b6757600080fd5b8063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a98578063aab4d3b714610ab857600080fd5b806395d89b41116101dc57806395d89b41146109a957806397e950f7146109be578063a148d8cf146109de578063a22cb46514610a3857600080fd5b8063869f7594146109155780638da5cb5b146109355780638e08141f14610969578063913b385a1461098957600080fd5b80632e73cddb116102fd57806354d1f13d116102905780635e5a9e301161025f5780635e5a9e30146108755780636cbdef611461088a578063715018a6146108be578063738e1496146108c657600080fd5b806354d1f13d146107be57806355828c50146107c65780635a50ca65146107f45780635c975abb1461083e57600080fd5b80634331f639116102cc5780634331f639146107005780634aa3adb3146107205780634e1273f4146107435780634f558e791461077057600080fd5b80632e73cddb146106515780632eb2c2d6146106a057806337da577c146106c05780633dda44b0146106e057600080fd5b8063156e29f611610375578063261220a311610344578063261220a3146105bb57806326dfe8c7146105d0578063298bb40e146105f05780632a55205a1461060557600080fd5b8063156e29f6146105535780631622326a1461057357806316c38b3c1461059357806325692962146105b357600080fd5b8063098144d4116103b1578063098144d4146104bb5780630d705df6146104d05780630e89341c1461051157806314cb56671461053157600080fd5b8062fdd58e146103e257806301ffc9a71461042f57806306fdde031461045f5780630754617214610481575b600080fd5b3480156103ee57600080fd5b5061041c6103fd366004614d75565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561043b57600080fd5b5061044f61044a366004614d9f565b610e13565b6040519015158152602001610426565b34801561046b57600080fd5b50610474610ee8565b6040516104269190614e4f565b34801561048d57600080fd5b50610496610f9a565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610426565b3480156104c757600080fd5b50610496610fda565b3480156104dc57600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610426565b34801561051d57600080fd5b5061047461052c366004614e62565b611002565b34801561053d57600080fd5b5061055161054c366004614ec0565b61129e565b005b34801561055f57600080fd5b5061055161056e366004614f02565b611314565b34801561057f57600080fd5b5061055161058e366004614f77565b611327565b34801561059f57600080fd5b506105516105ae366004614fd3565b611461565b6105516114ee565b3480156105c757600080fd5b5061047461153e565b3480156105dc57600080fd5b506105516105eb366004614fee565b611566565b3480156105fc57600080fd5b5061047461169f565b34801561061157600080fd5b50610625610620366004615009565b6116c7565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610426565b34801561065d57600080fd5b5061044f61066c366004614e62565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106ac57600080fd5b506105516106bb36600461502b565b61173a565b3480156106cc57600080fd5b506105516106db366004615009565b611a27565b3480156106ec57600080fd5b506105516106fb366004615009565b611c06565b34801561070c57600080fd5b5061055161071b366004615104565b611c9d565b34801561072c57600080fd5b5060015b60405161ffff9091168152602001610426565b34801561074f57600080fd5b5061076361075e366004615137565b611cb3565b60405161042691906151a8565b34801561077c57600080fd5b5061044f61078b366004614e62565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b610551611d23565b3480156107d257600080fd5b506107e66107e1366004614e62565b611d5f565b6040516104269291906151eb565b34801561080057600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610496565b34801561084a57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661044f565b34801561088157600080fd5b50610551611e2f565b34801561089657600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005461041c565b610551611ec0565b3480156108d257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661044f565b34801561092157600080fd5b5061041c610930366004614e62565b611ed4565b34801561094157600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610496565b34801561097557600080fd5b50610551610984366004614e62565b611f46565b34801561099557600080fd5b506105516109a4366004615204565b611fce565b3480156109b557600080fd5b50610474611fe8565b3480156109ca57600080fd5b506105516109d9366004614e62565b61201a565b3480156109ea57600080fd5b5061044f6109f9366004615009565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610a4457600080fd5b50610551610a5336600461524b565b612113565b348015610a6457600080fd5b50610551610a73366004615275565b612169565b348015610a8457600080fd5b50610551610a933660046152d6565b612185565b348015610aa457600080fd5b50610551610ab3366004614fee565b61225e565b348015610ac457600080fd5b50610551610ad336600461530c565b612312565b610aeb610ae6366004614ec0565b6125e6565b6040516104269190615348565b348015610b0457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661044f565b348015610b5357600080fd5b50610474610b62366004614e62565b612605565b348015610b7357600080fd5b5061041c610b82366004614e62565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610bbf57600080fd5b50610551610bce3660046152d6565b6126c6565b348015610bdf57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610496565b348015610c2957600080fd5b50610496612773565b348015610c3e57600080fd5b50610551610c4d3660046152d6565b61279b565b348015610c5e57600080fd5b50610551612884565b348015610c7357600080fd5b50610551610c82366004614fee565b612915565b348015610c9357600080fd5b506107e6610ca2366004615009565b6129af565b348015610cb357600080fd5b50610474612a8d565b348015610cc857600080fd5b50610730610cd7366004614e62565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1857600080fd5b5061044f610d273660046153cb565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d5157600080fd5b50610474612cb6565b610551610d68366004614fee565b612cde565b348015610d7957600080fd5b50610551610d883660046153f5565b612d1e565b610551610d9b366004614fee565b612f87565b348015610dac57600080fd5b50610551610dbb366004614fee565b612fae565b348015610dcc57600080fd5b5061041c610ddb366004614fee565b63389a75e1600c908152600091909152602090205490565b348015610dff57600080fd5b50610551610e0e366004614fee565b613048565b6000610e1e82613158565b80610e2d5750610e2d8261318f565b80610e3c5750610e3c826131eb565b80610e4b5750610e4b82613218565b80610e5a5750610e5a82613304565b80610e695750610e6982613360565b80610e785750610e78826133bc565b80610e875750610e8782613418565b80610e965750610e9682613474565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f179061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f439061546d565b8015610f905780601f10610f6557610100808354040283529160200191610f90565b820191906000526020600020905b815481529060010190602001808311610f7357829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fbe565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156111285760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa1580156110db573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261112191908101906154ef565b9392505050565b6000838152600282016020526040812080546111439061546d565b80601f016020809104026020016040519081016040528092919081815260200182805461116f9061546d565b80156111bc5780601f10611191576101008083540402835291602001916111bc565b820191906000526020600020905b81548152906001019060200180831161119f57829003601f168201915b5050505050905080516000146111d3579392505050565b815482906111e09061546d565b905060000361120057505060408051602081019091526000815292915050565b6112968260000180546112129061546d565b80601f016020809104026020016040519081016040528092919081815260200182805461123e9061546d565b801561128b5780601f106112605761010080835404028352916020019161128b565b820191906000526020600020905b81548152906001019060200180831161126e57829003601f168201915b5050505050856134d0565b949350505050565b60005b8181101561130f5760008383838181106112bd576112bd6155e1565b905060200201359050807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6112f183611002565b6040516112fe9190614e4f565b60405180910390a2506001016112a1565b505050565b61131c613518565b61130f838383613620565b61132f6136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156113c5576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260028201602052604090206113e0838583615657565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516114139291906157ba565b60405180910390a2837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61144686611002565b6040516114539190614e4f565b60405180910390a250505050565b6114696136e3565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f0c565b61156e6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611604576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f0c565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836116fb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6117dd888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061371992505050565b8285146117f257633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886118315763ea553b346000526004601cfd5b89331461185457336000526034600c205461185457634b6e7f186000526004601cfd5b8660051b5b80156118c6576020810390508087013583602052818a013560005260406000208054808311156118915763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156118bb576301336cea6000526004601cfd5b909155506118599050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611931600190565b15611946576119468888888888888888613725565b863b15611a1d578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af16119e4573d156119e4573d6000833e3d82fd5b5080517fbc197c810000000000000000000000000000000000000000000000000000000014611a1b57639c05499b6000526004601cfd5b505b5050505050505050565b611a2f6136e3565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615611ad6576000838152600182016020526040902054821115611ad1576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b1d565b805415801590611ae65750805482115b15611b1d576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015611b84576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b611c0e6136e3565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611ca56136e3565b611caf82826137c8565b5050565b6060838214611cca57633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b8015611d1957602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152611ce1565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611da59061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd19061546d565b8015611e1e5780601f10611df357610100808354040283529160200191611e1e565b820191906000526020600020905b815481529060010190602001808311611e0157829003601f168201915b505050505090509250925050915091565b611e376136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611ec86136e3565b611ed260006138bb565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611f32578054611121565b600092835260010160205250604090205490565b611f4e6136e3565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611fd66136e3565b611fe284848484613921565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f179061546d565b6120226136e3565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700805482111561207e576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01548210156120d9576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200160405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6121716136e3565b61217e8585858585613a4d565b5050505050565b61218d6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612223576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061222f838583615657565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6122666136e3565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166122da576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156122ff576122ff82613b8d565b6123098183613bde565b611caf82613c5b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156123645760018160011c14303b1061235b5763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161014001356000036123a4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610140013582610200013511156123e8576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123fd6123f86020840184614fee565b613d01565b61242261240d60608401846157ce565b61241d60a0860160808701614fee565b613d65565b61244461243260208401846157ce565b61243f60408601866157ce565b613ddd565b61244c613e1a565b612477612460610100840160e08501614fee565b61247261012085016101008601615833565b613e50565b61249161248c61014084016101208501614fee565b613e7b565b61249f826101400135613f2b565b6124ad826101600135613fa9565b6124c76124c26101c084016101a08501614fee565b613ff8565b6124e16124dc6101a084016101808501614fee565b614066565b6124fb6124f66101e084016101c08501614fd3565b6140d4565b61251f61250c61024084018461584e565b61251a61026086018661584e565b614182565b61254461252f60a08401846157ce565b61253f60e0860160c08701614fee565b6142e7565b600061255861020084016101e08501614fee565b73ffffffffffffffffffffffffffffffffffffffff16146125ae5760005b8261020001358110156125ac576125a461259861020085016101e08601614fee565b82856102200135613620565b600101612576565b505b8015611caf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b606034156125f357600080fd5b610ee26126008484614386565b61441d565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906126419061546d565b80601f016020809104026020016040519081016040528092919081815260200182805461266d9061546d565b80156126ba5780601f1061268f576101008083540402835291602001916126ba565b820191906000526020600020905b81548152906001019060200180831161269d57829003601f168201915b50505050509050919050565b6126ce6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612764576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810161222f838583615657565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fbe565b6127a36136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612839576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612845838583615657565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516128779291906157ba565b60405180910390a1505050565b61288c6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61291d6136e3565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190612a009061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054612a2c9061546d565b8015612a795780601f10612a4e57610100808354040283529160200191612a79565b820191906000526020600020905b815481529060010190602001808311612a5c57829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612ba95760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612b5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612ba391908101906154ef565b91505090565b806001018054612bb89061546d565b159050612c5257806001018054612bce9061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054612bfa9061546d565b8015612c475780601f10612c1c57610100808354040283529160200191612c47565b820191906000526020600020905b815481529060010190602001808311612c2a57829003601f168201915b505050505091505090565b80548190612c5f9061546d565b9050600003612c7c57505060408051602081019091526000815290565b80612c864661442e565b612c8f30614490565b604051602001612ca1939291906158d2565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061200c565b612ce66136e3565b63389a75e1600c52806000526020600c208054421115612d0e57636f5e88186000526004601cfd5b60009055612d1b816138bb565b50565b612d918686612d40876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061371992505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c965086612dd05763ea553b346000526004601cfd5b873314612df357336000526034600c2054612df357634b6e7f186000526004601cfd5b8560005260406000209150815480861115612e165763f4d678b86000526004601cfd5b8581038355508060205260406000209150815485810181811015612e42576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612ee88686612e97876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506144d292505050565b843b15612f7f5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612f47573d15612f47573d6000823e3d81fd5b80517ff23a6e610000000000000000000000000000000000000000000000000000000014612f7d57639c05499b6000526004601cfd5b505b505050505050565b612f8f6136e3565b8060601b612fa557637448fbae6000526004601cfd5b612d1b816138bb565b612fb66136e3565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6130506136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156130e6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a25050565b6000613163826144df565b80610ee25750610ee2826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061319a826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006131f6826144df565b80610ee25750632a55205a60e083901c9081146301ffc9a79190911417610ee2565b6000613223826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806132ba57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ee257507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b600061330f826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b600061336b826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b60006133c7826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613423826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061347f826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b6060826134dc4661442e565b6134e530614490565b6134ee8561442e565b60405160200161350194939291906159d7565b604051602081830303815290604052905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361355857565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156135b4576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6135bc610f9a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ed2576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060000361365a576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61366382614577565b61366d82826145d1565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d009083106136c8576136c2836001615ae0565b60018201555b611fe2848484604051806020016040528060008152506146e6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611ed2576382b429006000526004601cfd5b61217e858585856147fa565b611a1d888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506144d292505050565b6103e861ffff82161115613808576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361386157613826600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61386f828261ffff166149ab565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613855565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156139ab576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036139e6576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613a08848683615657565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613a3d93929190615af3565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613ae2576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b1d576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613b46848683615657565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613b7c93929190615af3565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612d1b576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612877565b73ffffffffffffffffffffffffffffffffffffffff8116613c795750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b158015613ce857600080fd5b505af1925050508015613cf9575060015b15612d1b5750565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613d92848683615657565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613e0a858783615657565b5060018101612f7f838583615657565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611ca57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016149fb565b73ffffffffffffffffffffffffffffffffffffffff8116613e995750565b613ea281613b8d565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556122ff7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016149fb565b613f567ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016149fb565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020016114e3565b613fd47f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c260016149fb565b7fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190055565b6140237fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016149fb565b73ffffffffffffffffffffffffffffffffffffffff811615612d1b57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612fd9565b6140917fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016149fb565b73ffffffffffffffffffffffffffffffffffffffff811615612d1b57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612940565b6140ff7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016149fb565b8015612d1b577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020016114e3565b61418a614a8a565b60005b8381101561424c576142448585838181106141aa576141aa6155e1565b90506020028101906141bc9190615b0d565b358686848181106141cf576141cf6155e1565b90506020028101906141e19190615b0d565b602001358787858181106141f7576141f76155e1565b90506020028101906142099190615b0d565b6040013588888681811061421f5761421f6155e1565b90506020028101906142319190615b0d565b61423f9060608101906157ce565b613a4d565b60010161418d565b5060005b8181101561217e576142df83838381811061426d5761426d6155e1565b905060200281019061427f9190615b4b565b35848484818110614292576142926155e1565b90506020028101906142a49190615b4b565b602001358585858181106142ba576142ba6155e1565b90506020028101906142cc9190615b4b565b6142da9060408101906157ce565b613921565b600101614250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080614314848683615657565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b600060405190506020815281816020015280604001808360051b808684378201808515614405575b835187018035602082018337600038823584305af46143d0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106143ae575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806144495750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061449b82614ab5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b61217e8585858585614b42565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612d1b576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615801561463057508054155b1561463a57505050565b600083815260028201602052604081205460ff1661465957815461466b565b60008481526001830160205260409020545b905080836146a48660009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b6146ae9190615ae0565b1115611fe2576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614724600085614709866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613719565b8360601b8061473b5763ea553b346000526004601cfd5b679a31110384e0b0c96020528460145283600052604060002080548481018181101561476f576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506147e56000856147ca866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856144d2565b833b15611fe257611fe2600085858585614ca6565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061483d5750611fe2565b73ffffffffffffffffffffffffffffffffffffffff85161580614874575073ffffffffffffffffffffffffffffffffffffffff8416155b1561487f5750611fe2565b73ffffffffffffffffffffffffffffffffffffffff811633036148a25750611fe2565b60005b8351811015612f7f578173ffffffffffffffffffffffffffffffffffffffff16631854b2413388888886815181106148df576148df6155e1565b60200260200101518887815181106148f9576148f96155e1565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b15801561498857600080fd5b505af115801561499c573d6000803e3d6000fd5b505050508060010190506148a5565b6bffffffffffffffffffffffff16612710808211156149d25763350a88b36000526004601cfd5b8260601b806149e95763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613855565b611ed27f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016149fb565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614af5575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614bf5577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b8451811015614bee57838181518110614b9c57614b9c6155e1565b6020026020010151826000016000878481518110614bbc57614bbc6155e1565b602002602001015181526020019081526020016000206000828254614be19190615ae0565b9091555050600101614b81565b505061217e565b73ffffffffffffffffffffffffffffffffffffffff8416614ca1577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b8451811015614bee57838181518110614c4f57614c4f6155e1565b6020026020010151826000016000878481518110614c6f57614c6f6155e1565b602002602001015181526020019081526020016000206000828254614c949190615b7f565b9091555050600101614c34565b61217e565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c08301528015614cf2578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614d15573d15614d15573d6000833e3d82fd5b5080517ff23a6e610000000000000000000000000000000000000000000000000000000014612f7f57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff81168114614d7057600080fd5b919050565b60008060408385031215614d8857600080fd5b614d9183614d4c565b946020939093013593505050565b600060208284031215614db157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112157600080fd5b60005b83811015614dfc578181015183820152602001614de4565b50506000910152565b60008151808452614e1d816020860160208601614de1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111216020830184614e05565b600060208284031215614e7457600080fd5b5035919050565b60008083601f840112614e8d57600080fd5b50813567ffffffffffffffff811115614ea557600080fd5b6020830191508360208260051b8501011115612a8657600080fd5b60008060208385031215614ed357600080fd5b823567ffffffffffffffff811115614eea57600080fd5b614ef685828601614e7b565b90969095509350505050565b600080600060608486031215614f1757600080fd5b614f2084614d4c565b95602085013595506040909401359392505050565b60008083601f840112614f4757600080fd5b50813567ffffffffffffffff811115614f5f57600080fd5b602083019150836020828501011115612a8657600080fd5b600080600060408486031215614f8c57600080fd5b83359250602084013567ffffffffffffffff811115614faa57600080fd5b614fb686828701614f35565b9497909650939450505050565b80358015158114614d7057600080fd5b600060208284031215614fe557600080fd5b61112182614fc3565b60006020828403121561500057600080fd5b61112182614d4c565b6000806040838503121561501c57600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b03121561504757600080fd5b61505089614d4c565b975061505e60208a01614d4c565b9650604089013567ffffffffffffffff81111561507a57600080fd5b6150868b828c01614e7b565b909750955050606089013567ffffffffffffffff8111156150a657600080fd5b6150b28b828c01614e7b565b909550935050608089013567ffffffffffffffff8111156150d257600080fd5b6150de8b828c01614f35565b999c989b5096995094979396929594505050565b803561ffff81168114614d7057600080fd5b6000806040838503121561511757600080fd5b61512083614d4c565b915061512e602084016150f2565b90509250929050565b6000806000806040858703121561514d57600080fd5b843567ffffffffffffffff81111561516457600080fd5b61517087828801614e7b565b909550935050602085013567ffffffffffffffff81111561519057600080fd5b61519c87828801614e7b565b95989497509550505050565b602080825282518282018190526000918401906040840190835b818110156151e05783518352602093840193909201916001016151c2565b509095945050505050565b8281526040602082015260006112966040830184614e05565b6000806000806060858703121561521a57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561523f57600080fd5b61519c87828801614f35565b6000806040838503121561525e57600080fd5b61526783614d4c565b915061512e60208401614fc3565b60008060008060006080868803121561528d57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156152b957600080fd5b6152c588828901614f35565b969995985093965092949392505050565b600080602083850312156152e957600080fd5b823567ffffffffffffffff81111561530057600080fd5b614ef685828601614f35565b60006020828403121561531e57600080fd5b813567ffffffffffffffff81111561533557600080fd5b8201610280818503121561112157600080fd5b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156153bf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526153aa858351614e05565b94506020938401939190910190600101615370565b50929695505050505050565b600080604083850312156153de57600080fd5b6153e783614d4c565b915061512e60208401614d4c565b60008060008060008060a0878903121561540e57600080fd5b61541787614d4c565b955061542560208801614d4c565b94506040870135935060608701359250608087013567ffffffffffffffff81111561544f57600080fd5b61545b89828a01614f35565b979a9699509497509295939492505050565b600181811c9082168061548157607f821691505b6020821081036154ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561550157600080fd5b815167ffffffffffffffff81111561551857600080fd5b8201601f8101841361552957600080fd5b805167ffffffffffffffff811115615543576155436154c0565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156155af576155af6154c0565b6040528181528282016020018610156155c757600080fd5b6155d8826020830160208601614de1565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f82111561130f57806000526020600020601f840160051c810160208510156156375750805b601f840160051c820191505b8181101561217e5760008155600101615643565b67ffffffffffffffff83111561566f5761566f6154c0565b6156838361567d835461546d565b83615610565b6000601f8411600181146156d5576000851561569f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561217e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156157245786850135825560209485019460019092019101615704565b508682101561575f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611296602083018486615771565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261580357600080fd5b83018035915067ffffffffffffffff82111561581e57600080fd5b602001915036819003821315612a8657600080fd5b60006020828403121561584557600080fd5b611121826150f2565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261588357600080fd5b83018035915067ffffffffffffffff82111561589e57600080fd5b6020019150600581901b3603821315612a8657600080fd5b600081516158c8818560208601614de1565b9290920192915050565b60008085546158e08161546d565b6001821680156158f7576001811461592a5761595a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061595a565b88600052602060002060005b8381101561595257815488820152600190910190602001615936565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451615993816001840160208901614de1565b016159c0600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6159cd60028201856158b6565b9695505050505050565b600085516159e9818460208a01614de1565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615a23816001840160208a01614de1565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451615a61816002840160208901614de1565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351615aa3816002840160208801614de1565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ee257610ee2615ab1565b8381526040602082015260006155d8604083018486615771565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112615b4157600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112615b4157600080fd5b81810381811115610ee257610ee2615ab156fea2646970667358221220cab133481ced213ad10b1f5cab1a490b54e5733a74b7f6b00a74b6aaeaa04dda64736f6c634300081c0033";
|
|
22
|
+
export const editionImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
|
|
23
|
+
export const editionImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615bc88061008d6000396000f3fe6080604052600436106103dd5760003560e01c8063869f75941161020d578063c3e617a211610128578063e8dc3e09116100bb578063f242432a1161008a578063fca3b5aa1161006f578063fca3b5aa14610da0578063fee81cf414610dc0578063ff87a5f514610df357600080fd5b8063f242432a14610d6d578063f2fde38b14610d8d57600080fd5b8063e8dc3e0914610cbc578063e985e9c514610d0c578063ee748f2c14610d45578063f04e283e14610d5a57600080fd5b8063e1c2ffad116100f7578063e1c2ffad14610c52578063e2969ba714610c67578063e4df18ec14610c87578063e8a3d48514610ca757600080fd5b8063c3e617a214610bb3578063d50bac3314610bd3578063d8b4f8ac14610c1d578063da2bbfc714610c3257600080fd5b8063a482c946116101a0578063ac9650d81161016f578063ac9650d814610ad8578063ac998f4514610af8578063bb77e79614610b47578063bd85b03914610b6757600080fd5b8063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a98578063aab4d3b714610ab857600080fd5b806395d89b41116101dc57806395d89b41146109a957806397e950f7146109be578063a148d8cf146109de578063a22cb46514610a3857600080fd5b8063869f7594146109155780638da5cb5b146109355780638e08141f14610969578063913b385a1461098957600080fd5b80632e73cddb116102fd57806354d1f13d116102905780635e5a9e301161025f5780635e5a9e30146108755780636cbdef611461088a578063715018a6146108be578063738e1496146108c657600080fd5b806354d1f13d146107be57806355828c50146107c65780635a50ca65146107f45780635c975abb1461083e57600080fd5b80634331f639116102cc5780634331f639146107005780634aa3adb3146107205780634e1273f4146107435780634f558e791461077057600080fd5b80632e73cddb146106515780632eb2c2d6146106a057806337da577c146106c05780633dda44b0146106e057600080fd5b8063156e29f611610375578063261220a311610344578063261220a3146105bb57806326dfe8c7146105d0578063298bb40e146105f05780632a55205a1461060557600080fd5b8063156e29f6146105535780631622326a1461057357806316c38b3c1461059357806325692962146105b357600080fd5b8063098144d4116103b1578063098144d4146104bb5780630d705df6146104d05780630e89341c1461051157806314cb56671461053157600080fd5b8062fdd58e146103e257806301ffc9a71461042f57806306fdde031461045f5780630754617214610481575b600080fd5b3480156103ee57600080fd5b5061041c6103fd366004614d75565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561043b57600080fd5b5061044f61044a366004614d9f565b610e13565b6040519015158152602001610426565b34801561046b57600080fd5b50610474610ee8565b6040516104269190614e4f565b34801561048d57600080fd5b50610496610f9a565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610426565b3480156104c757600080fd5b50610496610fda565b3480156104dc57600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610426565b34801561051d57600080fd5b5061047461052c366004614e62565b611002565b34801561053d57600080fd5b5061055161054c366004614ec0565b61129e565b005b34801561055f57600080fd5b5061055161056e366004614f02565b611314565b34801561057f57600080fd5b5061055161058e366004614f77565b611327565b34801561059f57600080fd5b506105516105ae366004614fd3565b611461565b6105516114ee565b3480156105c757600080fd5b5061047461153e565b3480156105dc57600080fd5b506105516105eb366004614fee565b611566565b3480156105fc57600080fd5b5061047461169f565b34801561061157600080fd5b50610625610620366004615009565b6116c7565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610426565b34801561065d57600080fd5b5061044f61066c366004614e62565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106ac57600080fd5b506105516106bb36600461502b565b61173a565b3480156106cc57600080fd5b506105516106db366004615009565b611a27565b3480156106ec57600080fd5b506105516106fb366004615009565b611c06565b34801561070c57600080fd5b5061055161071b366004615104565b611c9d565b34801561072c57600080fd5b5060015b60405161ffff9091168152602001610426565b34801561074f57600080fd5b5061076361075e366004615137565b611cb3565b60405161042691906151a8565b34801561077c57600080fd5b5061044f61078b366004614e62565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b610551611d23565b3480156107d257600080fd5b506107e66107e1366004614e62565b611d5f565b6040516104269291906151eb565b34801561080057600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610496565b34801561084a57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661044f565b34801561088157600080fd5b50610551611e2f565b34801561089657600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005461041c565b610551611ec0565b3480156108d257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661044f565b34801561092157600080fd5b5061041c610930366004614e62565b611ed4565b34801561094157600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610496565b34801561097557600080fd5b50610551610984366004614e62565b611f46565b34801561099557600080fd5b506105516109a4366004615204565b611fce565b3480156109b557600080fd5b50610474611fe8565b3480156109ca57600080fd5b506105516109d9366004614e62565b61201a565b3480156109ea57600080fd5b5061044f6109f9366004615009565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610a4457600080fd5b50610551610a5336600461524b565b612113565b348015610a6457600080fd5b50610551610a73366004615275565b612169565b348015610a8457600080fd5b50610551610a933660046152d6565b612185565b348015610aa457600080fd5b50610551610ab3366004614fee565b61225e565b348015610ac457600080fd5b50610551610ad336600461530c565b612312565b610aeb610ae6366004614ec0565b6125e6565b6040516104269190615348565b348015610b0457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661044f565b348015610b5357600080fd5b50610474610b62366004614e62565b612605565b348015610b7357600080fd5b5061041c610b82366004614e62565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610bbf57600080fd5b50610551610bce3660046152d6565b6126c6565b348015610bdf57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610496565b348015610c2957600080fd5b50610496612773565b348015610c3e57600080fd5b50610551610c4d3660046152d6565b61279b565b348015610c5e57600080fd5b50610551612884565b348015610c7357600080fd5b50610551610c82366004614fee565b612915565b348015610c9357600080fd5b506107e6610ca2366004615009565b6129af565b348015610cb357600080fd5b50610474612a8d565b348015610cc857600080fd5b50610730610cd7366004614e62565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1857600080fd5b5061044f610d273660046153cb565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d5157600080fd5b50610474612cb6565b610551610d68366004614fee565b612cde565b348015610d7957600080fd5b50610551610d883660046153f5565b612d1e565b610551610d9b366004614fee565b612f87565b348015610dac57600080fd5b50610551610dbb366004614fee565b612fae565b348015610dcc57600080fd5b5061041c610ddb366004614fee565b63389a75e1600c908152600091909152602090205490565b348015610dff57600080fd5b50610551610e0e366004614fee565b613048565b6000610e1e82613158565b80610e2d5750610e2d8261318f565b80610e3c5750610e3c826131eb565b80610e4b5750610e4b82613218565b80610e5a5750610e5a82613304565b80610e695750610e6982613360565b80610e785750610e78826133bc565b80610e875750610e8782613418565b80610e965750610e9682613474565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f179061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f439061546d565b8015610f905780601f10610f6557610100808354040283529160200191610f90565b820191906000526020600020905b815481529060010190602001808311610f7357829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fbe565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156111285760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa1580156110db573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261112191908101906154ef565b9392505050565b6000838152600282016020526040812080546111439061546d565b80601f016020809104026020016040519081016040528092919081815260200182805461116f9061546d565b80156111bc5780601f10611191576101008083540402835291602001916111bc565b820191906000526020600020905b81548152906001019060200180831161119f57829003601f168201915b5050505050905080516000146111d3579392505050565b815482906111e09061546d565b905060000361120057505060408051602081019091526000815292915050565b6112968260000180546112129061546d565b80601f016020809104026020016040519081016040528092919081815260200182805461123e9061546d565b801561128b5780601f106112605761010080835404028352916020019161128b565b820191906000526020600020905b81548152906001019060200180831161126e57829003601f168201915b5050505050856134d0565b949350505050565b60005b8181101561130f5760008383838181106112bd576112bd6155e1565b905060200201359050807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6112f183611002565b6040516112fe9190614e4f565b60405180910390a2506001016112a1565b505050565b61131c613518565b61130f838383613620565b61132f6136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156113c5576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260028201602052604090206113e0838583615657565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516114139291906157ba565b60405180910390a2837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61144686611002565b6040516114539190614e4f565b60405180910390a250505050565b6114696136e3565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f0c565b61156e6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611604576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f0c565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836116fb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6117dd888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061371992505050565b8285146117f257633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886118315763ea553b346000526004601cfd5b89331461185457336000526034600c205461185457634b6e7f186000526004601cfd5b8660051b5b80156118c6576020810390508087013583602052818a013560005260406000208054808311156118915763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156118bb576301336cea6000526004601cfd5b909155506118599050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611931600190565b15611946576119468888888888888888613725565b863b15611a1d578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af16119e4573d156119e4573d6000833e3d82fd5b5080517fbc197c810000000000000000000000000000000000000000000000000000000014611a1b57639c05499b6000526004601cfd5b505b5050505050505050565b611a2f6136e3565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615611ad6576000838152600182016020526040902054821115611ad1576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b1d565b805415801590611ae65750805482115b15611b1d576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015611b84576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b611c0e6136e3565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611ca56136e3565b611caf82826137c8565b5050565b6060838214611cca57633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b8015611d1957602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152611ce1565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611da59061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd19061546d565b8015611e1e5780601f10611df357610100808354040283529160200191611e1e565b820191906000526020600020905b815481529060010190602001808311611e0157829003601f168201915b505050505090509250925050915091565b611e376136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611ec86136e3565b611ed260006138bb565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611f32578054611121565b600092835260010160205250604090205490565b611f4e6136e3565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611fd66136e3565b611fe284848484613921565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f179061546d565b6120226136e3565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700805482111561207e576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01548210156120d9576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200160405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6121716136e3565b61217e8585858585613a4d565b5050505050565b61218d6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612223576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061222f838583615657565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6122666136e3565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166122da576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156122ff576122ff82613b8d565b6123098183613bde565b611caf82613c5b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156123645760018160011c14303b1061235b5763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161014001356000036123a4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610140013582610200013511156123e8576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123fd6123f86020840184614fee565b613d01565b61242261240d60608401846157ce565b61241d60a0860160808701614fee565b613d65565b61244461243260208401846157ce565b61243f60408601866157ce565b613ddd565b61244c613e1a565b612477612460610100840160e08501614fee565b61247261012085016101008601615833565b613e50565b61249161248c61014084016101208501614fee565b613e7b565b61249f826101400135613f2b565b6124ad826101600135613fa9565b6124c76124c26101c084016101a08501614fee565b613ff8565b6124e16124dc6101a084016101808501614fee565b614066565b6124fb6124f66101e084016101c08501614fd3565b6140d4565b61251f61250c61024084018461584e565b61251a61026086018661584e565b614182565b61254461252f60a08401846157ce565b61253f60e0860160c08701614fee565b6142e7565b600061255861020084016101e08501614fee565b73ffffffffffffffffffffffffffffffffffffffff16146125ae5760005b8261020001358110156125ac576125a461259861020085016101e08601614fee565b82856102200135613620565b600101612576565b505b8015611caf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b606034156125f357600080fd5b610ee26126008484614386565b61441d565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906126419061546d565b80601f016020809104026020016040519081016040528092919081815260200182805461266d9061546d565b80156126ba5780601f1061268f576101008083540402835291602001916126ba565b820191906000526020600020905b81548152906001019060200180831161269d57829003601f168201915b50505050509050919050565b6126ce6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612764576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810161222f838583615657565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fbe565b6127a36136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612839576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612845838583615657565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516128779291906157ba565b60405180910390a1505050565b61288c6136e3565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61291d6136e3565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190612a009061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054612a2c9061546d565b8015612a795780601f10612a4e57610100808354040283529160200191612a79565b820191906000526020600020905b815481529060010190602001808311612a5c57829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612ba95760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612b5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612ba391908101906154ef565b91505090565b806001018054612bb89061546d565b159050612c5257806001018054612bce9061546d565b80601f0160208091040260200160405190810160405280929190818152602001828054612bfa9061546d565b8015612c475780601f10612c1c57610100808354040283529160200191612c47565b820191906000526020600020905b815481529060010190602001808311612c2a57829003601f168201915b505050505091505090565b80548190612c5f9061546d565b9050600003612c7c57505060408051602081019091526000815290565b80612c864661442e565b612c8f30614490565b604051602001612ca1939291906158d2565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061200c565b612ce66136e3565b63389a75e1600c52806000526020600c208054421115612d0e57636f5e88186000526004601cfd5b60009055612d1b816138bb565b50565b612d918686612d40876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061371992505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c965086612dd05763ea553b346000526004601cfd5b873314612df357336000526034600c2054612df357634b6e7f186000526004601cfd5b8560005260406000209150815480861115612e165763f4d678b86000526004601cfd5b8581038355508060205260406000209150815485810181811015612e42576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612ee88686612e97876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506144d292505050565b843b15612f7f5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612f47573d15612f47573d6000823e3d81fd5b80517ff23a6e610000000000000000000000000000000000000000000000000000000014612f7d57639c05499b6000526004601cfd5b505b505050505050565b612f8f6136e3565b8060601b612fa557637448fbae6000526004601cfd5b612d1b816138bb565b612fb66136e3565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6130506136e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156130e6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a25050565b6000613163826144df565b80610ee25750610ee2826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061319a826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006131f6826144df565b80610ee25750632a55205a60e083901c9081146301ffc9a79190911417610ee2565b6000613223826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806132ba57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ee257507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b600061330f826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b600061336b826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b60006133c7826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613423826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061347f826144df565b80610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b6060826134dc4661442e565b6134e530614490565b6134ee8561442e565b60405160200161350194939291906159d7565b604051602081830303815290604052905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361355857565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156135b4576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6135bc610f9a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ed2576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060000361365a576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61366382614577565b61366d82826145d1565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d009083106136c8576136c2836001615ae0565b60018201555b611fe2848484604051806020016040528060008152506146e6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611ed2576382b429006000526004601cfd5b61217e858585856147fa565b611a1d888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506144d292505050565b6103e861ffff82161115613808576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361386157613826600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61386f828261ffff166149ab565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613855565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156139ab576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036139e6576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613a08848683615657565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613a3d93929190615af3565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613ae2576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b1d576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613b46848683615657565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613b7c93929190615af3565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612d1b576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612877565b73ffffffffffffffffffffffffffffffffffffffff8116613c795750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b158015613ce857600080fd5b505af1925050508015613cf9575060015b15612d1b5750565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613d92848683615657565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613e0a858783615657565b5060018101612f7f838583615657565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611ca57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016149fb565b73ffffffffffffffffffffffffffffffffffffffff8116613e995750565b613ea281613b8d565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556122ff7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016149fb565b613f567ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016149fb565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020016114e3565b613fd47f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c260016149fb565b7fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190055565b6140237fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016149fb565b73ffffffffffffffffffffffffffffffffffffffff811615612d1b57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612fd9565b6140917fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016149fb565b73ffffffffffffffffffffffffffffffffffffffff811615612d1b57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612940565b6140ff7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016149fb565b8015612d1b577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020016114e3565b61418a614a8a565b60005b8381101561424c576142448585838181106141aa576141aa6155e1565b90506020028101906141bc9190615b0d565b358686848181106141cf576141cf6155e1565b90506020028101906141e19190615b0d565b602001358787858181106141f7576141f76155e1565b90506020028101906142099190615b0d565b6040013588888681811061421f5761421f6155e1565b90506020028101906142319190615b0d565b61423f9060608101906157ce565b613a4d565b60010161418d565b5060005b8181101561217e576142df83838381811061426d5761426d6155e1565b905060200281019061427f9190615b4b565b35848484818110614292576142926155e1565b90506020028101906142a49190615b4b565b602001358585858181106142ba576142ba6155e1565b90506020028101906142cc9190615b4b565b6142da9060408101906157ce565b613921565b600101614250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080614314848683615657565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b600060405190506020815281816020015280604001808360051b808684378201808515614405575b835187018035602082018337600038823584305af46143d0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106143ae575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806144495750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061449b82614ab5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b61217e8585858585614b42565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ee257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612d1b576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615801561463057508054155b1561463a57505050565b600083815260028201602052604081205460ff1661465957815461466b565b60008481526001830160205260409020545b905080836146a48660009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b6146ae9190615ae0565b1115611fe2576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614724600085614709866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613719565b8360601b8061473b5763ea553b346000526004601cfd5b679a31110384e0b0c96020528460145283600052604060002080548481018181101561476f576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506147e56000856147ca866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856144d2565b833b15611fe257611fe2600085858585614ca6565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061483d5750611fe2565b73ffffffffffffffffffffffffffffffffffffffff85161580614874575073ffffffffffffffffffffffffffffffffffffffff8416155b1561487f5750611fe2565b73ffffffffffffffffffffffffffffffffffffffff811633036148a25750611fe2565b60005b8351811015612f7f578173ffffffffffffffffffffffffffffffffffffffff16631854b2413388888886815181106148df576148df6155e1565b60200260200101518887815181106148f9576148f96155e1565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b15801561498857600080fd5b505af115801561499c573d6000803e3d6000fd5b505050508060010190506148a5565b6bffffffffffffffffffffffff16612710808211156149d25763350a88b36000526004601cfd5b8260601b806149e95763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613855565b611ed27f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016149fb565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614af5575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614bf5577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b8451811015614bee57838181518110614b9c57614b9c6155e1565b6020026020010151826000016000878481518110614bbc57614bbc6155e1565b602002602001015181526020019081526020016000206000828254614be19190615ae0565b9091555050600101614b81565b505061217e565b73ffffffffffffffffffffffffffffffffffffffff8416614ca1577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b8451811015614bee57838181518110614c4f57614c4f6155e1565b6020026020010151826000016000878481518110614c6f57614c6f6155e1565b602002602001015181526020019081526020016000206000828254614c949190615b7f565b9091555050600101614c34565b61217e565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c08301528015614cf2578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614d15573d15614d15573d6000833e3d82fd5b5080517ff23a6e610000000000000000000000000000000000000000000000000000000014612f7f57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff81168114614d7057600080fd5b919050565b60008060408385031215614d8857600080fd5b614d9183614d4c565b946020939093013593505050565b600060208284031215614db157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112157600080fd5b60005b83811015614dfc578181015183820152602001614de4565b50506000910152565b60008151808452614e1d816020860160208601614de1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111216020830184614e05565b600060208284031215614e7457600080fd5b5035919050565b60008083601f840112614e8d57600080fd5b50813567ffffffffffffffff811115614ea557600080fd5b6020830191508360208260051b8501011115612a8657600080fd5b60008060208385031215614ed357600080fd5b823567ffffffffffffffff811115614eea57600080fd5b614ef685828601614e7b565b90969095509350505050565b600080600060608486031215614f1757600080fd5b614f2084614d4c565b95602085013595506040909401359392505050565b60008083601f840112614f4757600080fd5b50813567ffffffffffffffff811115614f5f57600080fd5b602083019150836020828501011115612a8657600080fd5b600080600060408486031215614f8c57600080fd5b83359250602084013567ffffffffffffffff811115614faa57600080fd5b614fb686828701614f35565b9497909650939450505050565b80358015158114614d7057600080fd5b600060208284031215614fe557600080fd5b61112182614fc3565b60006020828403121561500057600080fd5b61112182614d4c565b6000806040838503121561501c57600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b03121561504757600080fd5b61505089614d4c565b975061505e60208a01614d4c565b9650604089013567ffffffffffffffff81111561507a57600080fd5b6150868b828c01614e7b565b909750955050606089013567ffffffffffffffff8111156150a657600080fd5b6150b28b828c01614e7b565b909550935050608089013567ffffffffffffffff8111156150d257600080fd5b6150de8b828c01614f35565b999c989b5096995094979396929594505050565b803561ffff81168114614d7057600080fd5b6000806040838503121561511757600080fd5b61512083614d4c565b915061512e602084016150f2565b90509250929050565b6000806000806040858703121561514d57600080fd5b843567ffffffffffffffff81111561516457600080fd5b61517087828801614e7b565b909550935050602085013567ffffffffffffffff81111561519057600080fd5b61519c87828801614e7b565b95989497509550505050565b602080825282518282018190526000918401906040840190835b818110156151e05783518352602093840193909201916001016151c2565b509095945050505050565b8281526040602082015260006112966040830184614e05565b6000806000806060858703121561521a57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561523f57600080fd5b61519c87828801614f35565b6000806040838503121561525e57600080fd5b61526783614d4c565b915061512e60208401614fc3565b60008060008060006080868803121561528d57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156152b957600080fd5b6152c588828901614f35565b969995985093965092949392505050565b600080602083850312156152e957600080fd5b823567ffffffffffffffff81111561530057600080fd5b614ef685828601614f35565b60006020828403121561531e57600080fd5b813567ffffffffffffffff81111561533557600080fd5b8201610280818503121561112157600080fd5b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156153bf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526153aa858351614e05565b94506020938401939190910190600101615370565b50929695505050505050565b600080604083850312156153de57600080fd5b6153e783614d4c565b915061512e60208401614d4c565b60008060008060008060a0878903121561540e57600080fd5b61541787614d4c565b955061542560208801614d4c565b94506040870135935060608701359250608087013567ffffffffffffffff81111561544f57600080fd5b61545b89828a01614f35565b979a9699509497509295939492505050565b600181811c9082168061548157607f821691505b6020821081036154ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561550157600080fd5b815167ffffffffffffffff81111561551857600080fd5b8201601f8101841361552957600080fd5b805167ffffffffffffffff811115615543576155436154c0565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156155af576155af6154c0565b6040528181528282016020018610156155c757600080fd5b6155d8826020830160208601614de1565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f82111561130f57806000526020600020601f840160051c810160208510156156375750805b601f840160051c820191505b8181101561217e5760008155600101615643565b67ffffffffffffffff83111561566f5761566f6154c0565b6156838361567d835461546d565b83615610565b6000601f8411600181146156d5576000851561569f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561217e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156157245786850135825560209485019460019092019101615704565b508682101561575f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611296602083018486615771565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261580357600080fd5b83018035915067ffffffffffffffff82111561581e57600080fd5b602001915036819003821315612a8657600080fd5b60006020828403121561584557600080fd5b611121826150f2565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261588357600080fd5b83018035915067ffffffffffffffff82111561589e57600080fd5b6020019150600581901b3603821315612a8657600080fd5b600081516158c8818560208601614de1565b9290920192915050565b60008085546158e08161546d565b6001821680156158f7576001811461592a5761595a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061595a565b88600052602060002060005b8381101561595257815488820152600190910190602001615936565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451615993816001840160208901614de1565b016159c0600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6159cd60028201856158b6565b9695505050505050565b600085516159e9818460208a01614de1565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615a23816001840160208a01614de1565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451615a61816002840160208901614de1565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351615aa3816002840160208801614de1565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ee257610ee2615ab1565b8381526040602082015260006155d8604083018486615771565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112615b4157600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112615b4157600080fd5b81810381811115610ee257610ee2615ab156fea2646970667358221220cab133481ced213ad10b1f5cab1a490b54e5733a74b7f6b00a74b6aaeaa04dda64736f6c634300081c0033";
|
|
24
|
+
export const editionCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
25
|
+
export const editionCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fb180610a5d83390190565b6080516109cf61008e6000396000818160a4015281816101130152818161014f0152818161018b015261025801526109cf6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806316bf107f1461005c5780635414dff01461008c5780635c60da1b1461009f5780635c857b3e146100c65780639e899184146100f9575b600080fd5b61006f61006a366004610452565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a36600461048f565b610148565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100e96100d43660046104bf565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6101073660046104da565b61017b565b60006101377f00000000000000000000000000000000000000000000000000000000000000006101bc565b905061014381836101c9565b919050565b60006101757f000000000000000000000000000000000000000000000000000000000000000083306102ba565b92915050565b600061018682610317565b6101b07f000000000000000000000000000000000000000000000000000000000000000083610356565b905061017581846101c9565b600061017560008361036b565b6001600160a01b03821660008181526020819052604090819020805460ff19166001179055516321ad066b60e21b81526386b419ac9061020d90849060040161072c565b600060405180830381600087803b15801561022757600080fd5b505af115801561023b573d6000803e3d6000fd5b5061024d9250505060208201826104bf565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103018560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061030e8185856103c0565b95945050505050565b606081901c801580159061033457506001600160a01b0381163314155b156103525760405163c61a579960e01b815260040160405180910390fd5b5050565b6000610364600084846103e2565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806103b55763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f590508061042d5763301164256000526004601cfd5b60006021529392505050565b60006102a0828403121561044c57600080fd5b50919050565b60006020828403121561046457600080fd5b813567ffffffffffffffff81111561047b57600080fd5b61048784828501610439565b949350505050565b6000602082840312156104a157600080fd5b5035919050565b80356001600160a01b038116811461014357600080fd5b6000602082840312156104d157600080fd5b610364826104a8565b600080604083850312156104ed57600080fd5b823567ffffffffffffffff81111561050457600080fd5b61051085828601610439565b95602094909401359450505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff8116811461014357600080fd5b8035801515811461014357600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d60208201610740846104a8565b6001600160a01b03169052565b600061075c602084018461051f565b6102a060408501526107736102c08501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d2608085016104a8565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c085016104a8565b6001600160a01b03811660e08501525061083260e085016104a8565b6001600160a01b038116610100850152506108506101008501610595565b61ffff81166101208501525061086961012085016104a8565b6001600160a01b0381166101408501525061014084013561016084810191909152840135610180808501919091526108a29085016104a8565b6001600160a01b0381166101a0850152506108c06101a085016104a8565b6001600160a01b0381166101c0850152506108de6101c085016105a7565b8015156101e0850152506108f56101e085016104a8565b6001600160a01b0381166102008501525061091361020085016104a8565b6001600160a01b03811661022085015250610220840135610240848101919091528401356102608085019190915261094d908501856105b7565b848303601f1901610280860152610965838284610600565b925050506109776102808501856105b7565b848303601f19016102a086015261098f8382846106a1565b969550505050505056fea2646970667358221220e6afeda47e2797d32f1b79e265e0d44cdc758961dbe25b9d1bf07f00e4baafad64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f248061008d6000396000f3fe6080604052600436106106155760003560e01c8063869f759411610329578063c3e617a2116101b6578063e4df18ec11610102578063f2235701116100a0578063f8d3adc81161007a578063f8d3adc8146113c3578063fca3b5aa146113e3578063fee81cf414611403578063ff87a5f51461143657600080fd5b8063f22357011461135c578063f242432a14611390578063f2fde38b146113b057600080fd5b8063e985e9c5116100dc578063e985e9c5146112e6578063ea58f9711461131f578063ee748f2c14611334578063f04e283e1461134957600080fd5b8063e4df18ec14611261578063e8a3d48514611281578063e8dc3e091461129657600080fd5b8063d90f5df21161016f578063e1b7938111610149578063e1b79381146111ec578063e1c2ffad1461120c578063e2969ba714611221578063e42b7baf1461124157600080fd5b8063d90f5df2146111a2578063da2bbfc7146111b7578063dc983879146111d757600080fd5b8063c3e617a21461110f578063c4f260481461112f578063cc1cf5151461112f578063cfc59afd1461114a578063d50bac3314611178578063d8b4f8ac1461118d57600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f451461108b578063b4784247146110a0578063bb77e796146110b5578063bd85b039146110d557600080fd5b8063a9fc664e1461102b578063aa0de18d1461104b578063ac9650d81461106b57600080fd5b80639a5db50314610f3c5780639aa1a1f014610f51578063a148d8cf14610f71578063a22cb46514610fcb578063a482c94614610feb578063a8cdf0781461100b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610ed257806395d89b4114610ee757806396f4205a14610efc57806397e950f714610f1c57600080fd5b8063909206e314610b6a578063913b385a14610e9257806392b29b1714610eb257600080fd5b8063869f759414610dd957806386b419ac14610df957806386b7f6a414610e195780638da5cb5b14610e395780638e08141f14610e525780638e4cc07014610e7257600080fd5b806337da577c116104a75780635b02f81c116103f35780636cb02818116103ac578063738e149611610386578063738e149614610d365780637b1d470714610d625780637d0b7ae414610d8257806384f6687f14610db957600080fd5b80636cb0281814610cf95780636cbdef6114610d19578063715018a614610d2e57600080fd5b80635b02f81c14610be55780635c975abb14610c135780635e5a9e3014610c385780636905337414610c4d5780636aaf760714610c6d5780636bd3922214610c8d57600080fd5b80634e1273f41161046057806354d1f13d1161043a57806354d1f13d14610b6257806355580cca14610b6a57806355828c5014610b8c5780635a50ca6514610bba57600080fd5b80634e1273f414610ad95780634efdb5ae14610b065780634f558e7914610b2657600080fd5b806337da577c146109f75780633990b22114610a175780633c59f1bb14610a375780633dda44b014610a765780634331f63914610a965780634aa3adb314610ab657600080fd5b806316c38b3c11610566578063256929621161051f578063298bb40e116104f9578063298bb40e146109345780632a55205a146109495780632e73cddb146109885780632eb2c2d6146109d757600080fd5b806325692962146108f7578063261220a3146108ff57806326dfe8c71461091457600080fd5b806316c38b3c146107fa57806317afae431461081a5780631c31cac31461082f57806320ac09441461084f5780632352b33f1461086457806325628d34146108e257600080fd5b80630b4c562b116105d357806313bfffac116105ad57806313bfffac1461078557806314cb56671461079a578063156e29f6146107ba5780631622326a146107da57600080fd5b80630b4c562b1461071d5780630d705df61461073d5780630e89341c1461076557600080fd5b8062fdd58e1461061a57806301ffc9a71461066757806306fdde031461069757806307546172146106b957806308a38395146106e6578063098144d414610708575b600080fd5b34801561062657600080fd5b50610654610635366004614db0565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561067357600080fd5b50610687610682366004614dda565b611456565b604051901515815260200161065e565b3480156106a357600080fd5b506106ac611536565b60405161065e9190614e54565b3480156106c557600080fd5b506106ce6115e8565b6040516001600160a01b03909116815260200161065e565b3480156106f257600080fd5b50610706610701366004614ec1565b61161b565b005b34801561071457600080fd5b506106ce6116a5565b34801561072957600080fd5b50610706610738366004614fb3565b6116cd565b34801561074957600080fd5b5060408051631854b24160e01b8152600060208201520161065e565b34801561077157600080fd5b506106ac610780366004614ffe565b611753565b34801561079157600080fd5b506106ce61175d565b3480156107a657600080fd5b506107066107b5366004615017565b611767565b3480156107c657600080fd5b506107066107d5366004615058565b6117d4565b3480156107e657600080fd5b506107066107f5366004614fb3565b6117ec565b34801561080657600080fd5b50610706610815366004615099565b61182f565b34801561082657600080fd5b506106ce61188c565b34801561083b57600080fd5b5061070661084a3660046150b6565b6118b4565b34801561085b57600080fd5b506106ce61192b565b34801561087057600080fd5b506108c561087f366004614ffe565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161065e565b3480156108ee57600080fd5b5061070661194f565b6107066119b5565b34801561090b57600080fd5b506106ac611a04565b34801561092057600080fd5b5061070661092f3660046150b6565b611a1a565b34801561094057600080fd5b506106ac611ae0565b34801561095557600080fd5b506109696109643660046150d1565b611af6565b604080516001600160a01b03909316835260208301919091520161065e565b34801561099457600080fd5b506106876109a3366004614ffe565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109e357600080fd5b506107066109f23660046150f3565b611b4b565b348015610a0357600080fd5b50610706610a123660046150d1565b611e1f565b348015610a2357600080fd5b50610706610a323660046150d1565b611e66565b348015610a4357600080fd5b50610a4c611ec6565b604080516001600160a01b039485168152928416602084015292169181019190915260600161065e565b348015610a8257600080fd5b50610706610a913660046150d1565b611ed3565b348015610aa257600080fd5b50610706610ab13660046151c9565b611f4c565b348015610ac257600080fd5b5060015b60405161ffff909116815260200161065e565b348015610ae557600080fd5b50610af9610af43660046151fc565b611f62565b60405161065e919061526b565b348015610b1257600080fd5b50610706610b213660046152ae565b611fd2565b348015610b3257600080fd5b50610687610b41366004614ffe565b6000908152600080516020615ecf8339815191526020526040902054151590565b610706612049565b348015610b7657600080fd5b50610b7f612085565b60405161065e9190615330565b348015610b9857600080fd5b50610bac610ba7366004614ffe565b61208f565b60405161065e929190615343565b348015610bc657600080fd5b50600080516020615eaf833981519152546001600160a01b03166106ce565b348015610bf157600080fd5b50610c05610c0036600461535c565b61215f565b60405161065e929190615388565b348015610c1f57600080fd5b50600080516020615e4f8339815191525460ff16610687565b348015610c4457600080fd5b5061070661216b565b348015610c5957600080fd5b50610706610c68366004614ffe565b6121b7565b348015610c7957600080fd5b506106ac610c88366004614ffe565b612209565b348015610c9957600080fd5b506108c5610ca83660046150d1565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610d0557600080fd5b506106ac610d14366004614ffe565b612288565b348015610d2557600080fd5b506106546122ed565b610706612305565b348015610d4257600080fd5b50600080516020615eaf83398151915254600160a01b900460ff16610687565b348015610d6e57600080fd5b50610706610d7d3660046150b6565b612319565b348015610d8e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610687565b348015610dc557600080fd5b506106ac610dd43660046150d1565b61238e565b348015610de557600080fd5b50610654610df4366004614ffe565b612400565b348015610e0557600080fd5b50610706610e143660046153aa565b612472565b348015610e2557600080fd5b50610706610e3436600461535c565b612726565b348015610e4557600080fd5b50638b78c6d819546106ce565b348015610e5e57600080fd5b50610706610e6d366004614ffe565b61278d565b348015610e7e57600080fd5b50610706610e8d3660046153e5565b6127f7565b348015610e9e57600080fd5b50610706610ead3660046152ae565b61283a565b348015610ebe57600080fd5b50610706610ecd36600461535c565b61284e565b348015610ede57600080fd5b506106546128b7565b348015610ef357600080fd5b506106ac6128df565b348015610f0857600080fd5b50610706610f173660046150b6565b612911565b348015610f2857600080fd5b50610706610f37366004614ffe565b612959565b348015610f4857600080fd5b50610706612a0e565b348015610f5d57600080fd5b50610706610f6c366004614fb3565b612a5a565b348015610f7d57600080fd5b50610687610f8c3660046150d1565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610fd757600080fd5b50610706610fe6366004615421565b612a9d565b348015610ff757600080fd5b50610706611006366004615458565b612af3565b34801561101757600080fd5b506107066110263660046154b8565b612b08565b34801561103757600080fd5b506107066110463660046150b6565b612b93565b34801561105757600080fd5b506107066110663660046154ed565b612bdb565b61107e611079366004615017565b612c33565b60405161065e9190615530565b34801561109757600080fd5b50610687612c52565b3480156110ac57600080fd5b50610706612c77565b3480156110c157600080fd5b506106ac6110d0366004614ffe565b612cc3565b3480156110e157600080fd5b506106546110f0366004614ffe565b6000908152600080516020615ecf833981519152602052604090205490565b34801561111b57600080fd5b5061070661112a3660046154b8565b612d84565b34801561113b57600080fd5b50610c05610c003660046150d1565b34801561115657600080fd5b5061116a611165366004614ffe565b612de3565b60405161065e9291906155bf565b34801561118457600080fd5b506106ce612e68565b34801561119957600080fd5b506106ce612e7e565b3480156111ae57600080fd5b50610654612ea6565b3480156111c357600080fd5b506107066111d23660046154b8565b612ebc565b3480156111e357600080fd5b50610706612efd565b3480156111f857600080fd5b50610b7f611207366004614ffe565b612085565b34801561121857600080fd5b50610706612f49565b34801561122d57600080fd5b5061070661123c3660046150b6565b612f9c565b34801561124d57600080fd5b5061070661125c3660046152ae565b613011565b34801561126d57600080fd5b50610bac61127c3660046150d1565b613063565b34801561128d57600080fd5b506106ac613141565b3480156112a257600080fd5b50610ac66112b1366004614ffe565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b3480156112f257600080fd5b506106876113013660046155da565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561132b57600080fd5b506106876132f5565b34801561134057600080fd5b506106ac61330b565b6107066113573660046150b6565b613321565b34801561136857600080fd5b5061137c611377366004614ffe565b613361565b60405161065e989796959493929190615624565b34801561139c57600080fd5b506107066113ab3660046156e0565b613376565b6107066113be3660046150b6565b6135bc565b3480156113cf57600080fd5b506107066113de3660046150d1565b6135e3565b3480156113ef57600080fd5b506107066113fe3660046150b6565b61363c565b34801561140f57600080fd5b5061065461141e3660046150b6565b63389a75e1600c908152600091909152602090205490565b34801561144257600080fd5b506107066114513660046150b6565b6136b1565b6000611461826136fc565b80611470575061147082613733565b8061147f575061147f8261375e565b8061148e575061148e8261378b565b8061149d575061149d82613804565b806114ac57506114ac8261382f565b806114bb57506114bb8261385a565b806114ca57506114ca82613885565b806114d957506114d9826138b0565b806114e857506114e8826138db565b806114f757506114f782613906565b80611506575061150682613931565b8061151557506115158261395c565b8061153057506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461156590615757565b80601f016020809104026020016040519081016040528092919081815260200182805461159190615757565b80156115de5780601f106115b3576101008083540402835291602001916115de565b820191906000526020600020905b8154815290600101906020018083116115c157829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b611623613987565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae69061166a908c908c908c908c908c908c908c908c908c906004016157ba565b60006040518083038186803b15801561168257600080fd5b505af4158015611696573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061160c565b6116d5613987565b6116e1600080856139a2565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a9061171e9086908690869033906004016158b4565b60006040518083038186803b15801561173657600080fd5b505af415801561174a573d6000803e3d6000fd5b50505050505050565b6060610615613a4a565b6000610615613a5a565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906117a090859085906004016158e7565b60006040518083038186803b1580156117b857600080fd5b505af41580156117cc573d6000803e3d6000fd5b505050505050565b6117dc613a6a565b6117e7838383613aec565b505050565b6117f4613987565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061171e90869086908690600401615920565b611837613987565b600080516020615e4f833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061160c565b6118bc613987565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b15801561191057600080fd5b505af4158015611924573d6000803e3d6000fd5b5050505050565b6000600080516020615e2f8339815191525b600101546001600160a01b0316919050565b611957613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b505af41580156119af573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e6f83398151915261155a565b611a22613987565b600080516020615eaf83398151915254600080516020615e8f83398151915290600160a01b900460ff1615611a6a576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615e8f83398151915261155a565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611b2a576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611bee888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613bba92505050565b828514611c0357633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611c425763ea553b346000526004601cfd5b893314611c6557336000526034600c2054611c6557634b6e7f186000526004601cfd5b8660051b5b8015611cd7576020810390508087013583602052818a01356000526040600020805480831115611ca25763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015611ccc576301336cea6000526004601cfd5b90915550611c6a9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611d42600190565b15611d5757611d578888888888888888613bc6565b863b15611e15578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611df5573d15611df5573d6000833e3d82fd5b50805163bc197c8160e01b14611e1357639c05499b6000526004601cfd5b505b5050505050505050565b611e27613987565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c906044016117a0565b611e6e613987565b611e7a600080846139a2565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084016117a0565b6000806000610615613a5a565b611edb613987565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611f54613987565b611f5e8282613c69565b5050565b6060838214611f7957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b8015611fc857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152611f90565b5050949350505050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d1485858585611ffd638b78c6d8195490565b6040518663ffffffff1660e01b815260040161201d959493929190615943565b60006040518083038186803b15801561203557600080fd5b505af4158015611e15573d6000803e3d6000fd5b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610615613a5a565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450260205260408120805460018201805460609392919081906120d590615757565b80601f016020809104026020016040519081016040528092919081815260200182805461210190615757565b801561214e5780601f106121235761010080835404028352916020019161214e565b820191906000526020600020905b81548152906001019060200180831161213157829003601f168201915b505050505090509250925050915091565b60606000610615613a5a565b612173613987565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b6121bf613987565b6121cb600080836139a2565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec906044016118f8565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061224f57604051633fa417ed60e11b815260040160405180910390fd5b6122818160000184815481106122675761226761597d565b6000918252602090912001546001600160a01b0316613d36565b9392505050565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156122d6576122d181613d36565b612281565b604051806020016040528060008152509392505050565b6000600080516020615e0f8339815191525b54919050565b61230d613987565b6123176000613d64565b565b612321613987565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156123e7576123e281613d36565b6123f8565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661245e578054612281565b600092835260010160205250604090205490565b63409feecd1980546003825580156124a95760018160011c14303b106124a05763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161014001356000036124d05760405163fe5afcb960e01b815260040160405180910390fd5b81610140013582610220013511156124fb57604051633f63c5bf60e01b815260040160405180910390fd5b61251061250b60208401846150b6565b613da2565b6125356125206060840184615993565b61253060a08601608087016150b6565b613dde565b6125576125456020840184615993565b6125526040860186615993565b613e1f565b61255f613e5c565b61258a612573610100840160e085016150b6565b612585610120850161010086016159d9565b613e92565b6125a461259f610140840161012085016150b6565b613ebd565b6125b2826101400135613efd565b6125c0826101600135613f69565b6125da6125d56101c084016101a085016150b6565b613fb8565b6125f46125ef6101a0840161018085016150b6565b614019565b61260e6126096101e084016101c08501615099565b61407a565b61262861262361020084016101e085016150b6565b6140f8565b612630614159565b612638614184565b6126406141af565b6126486141da565b61266c6126596102608401846159f4565b6126676102808601866159f4565b614205565b61269161267c60a0840184615993565b61268c60e0860160c087016150b6565b61436a565b60006126a5610220840161020085016150b6565b6001600160a01b0316146126ee5760005b8261022001358110156126ec576126e46126d8610220850161020086016150b6565b82856102400135613aec565b6001016126b6565b505b8015611f5e576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b61272e613987565b61273a600184846139a2565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40161171e565b612795613987565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6127ff613987565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee459061171e90869086908690600401615a3d565b612842613987565b6119af848484846143d2565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d6446848484612878638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b0316606482015260840161171e565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9006122ff565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461156590615757565b612919613987565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a906024016118f8565b612961613987565b600080516020615e0f833981519152805482111561299257604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01548210156129d457604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200160405180910390a15050565b612a16613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b612a62613987565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f09061171e90869086908690600401615920565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612afb613987565b61192485858585856144cc565b612b10613987565b600080516020615eaf83398151915254600080516020615e8f83398151915290600160a01b900460ff1615612b58576040516352be865b60e01b815260040160405180910390fd5b80612b64838583615abc565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b612b9b613987565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e906024016118f8565b612be3613987565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d9060640161171e565b60603415612c4057600080fd5b611530612c4d84846145da565b614671565b6000600080516020615e6f8339815191525b60010154600160a01b900460ff16919050565b612c7f613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612cff90615757565b80601f0160208091040260200160405190810160405280929190818152602001828054612d2b90615757565b8015612d785780601f10612d4d57610100808354040283529160200191612d78565b820191906000526020600020905b815481529060010190602001808311612d5b57829003601f168201915b50505050509050919050565b612d8c613987565b600080516020615eaf83398151915254600080516020615e8f83398151915290600160a01b900460ff1615612dd4576040516352be865b60e01b815260040160405180910390fd5b60018101612b64838583615abc565b600080516020615e2f833981519152805460009182918410612e185760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612e2f57612e2f61597d565b60009182526020909120600290910201805490915060ff166001811115612e5857612e58615595565b8160010154935093505050915091565b6000600080516020615e6f83398151915261193d565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061160c565b6000600080516020615e2f8339815191526122ff565b612ec4613987565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906117a09085908590600401615b7b565b612f05613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b612f51613987565b600080516020615eaf833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612fa4613987565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b613019613987565b613025600185856139a2565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061201d9087908790879087903390600401615943565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454500602090815260408083208484529091528120805460018201805460609392919081906130b490615757565b80601f01602080910402602001604051908101604052809291908181526020018280546130e090615757565b801561312d5780601f106131025761010080835404028352916020019161312d565b820191906000526020600020905b81548152906001019060200180831161311057829003601f168201915b5050505050905092509250505b9250929050565b600080516020615eaf83398151915254606090600080516020615e8f833981519152906001600160a01b0316156131e857600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa1580156131ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131e29190810190615b8f565b91505090565b8060010180546131f790615757565b1590506132915780600101805461320d90615757565b80601f016020809104026020016040519081016040528092919081815260200182805461323990615757565b80156132865780601f1061325b57610100808354040283529160200191613286565b820191906000526020600020905b81548152906001019060200180831161326957829003601f168201915b505050505091505090565b8054819061329e90615757565b90506000036132bb57505060408051602081019091526000815290565b806132c546614681565b6132ce306146c5565b6040516020016132e093929190615c54565b60405160208183030381529060405291505090565b6000600080516020615e2f833981519152612c64565b6060600080516020615e8f833981519152612903565b613329613987565b63389a75e1600c52806000526020600c20805442111561335157636f5e88186000526004601cfd5b6000905561335e81613d64565b50565b60008060008060008060006060610615613a5a565b6133e98686613398876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613bba92505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866134285763ea553b346000526004601cfd5b87331461344b57336000526034600c205461344b57634b6e7f186000526004601cfd5b856000526040600020915081548086111561346e5763f4d678b86000526004601cfd5b858103835550806020526040600020915081548581018181101561349a576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a461354086866134ef876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146e992505050565b843b156117cc5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af161359f573d1561359f573d6000823e3d81fd5b805163f23a6e6160e01b1461174a57639c05499b6000526004601cfd5b6135c4613987565b8060601b6135da57637448fbae6000526004601cfd5b61335e81613d64565b6135eb613987565b6135f7600183836139a2565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e739906064016117a0565b613644613987565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6136b9613987565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f5906024016118f8565b60006137078261475d565b806115305750611530826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061373e8261475d565b8061153057506001600160e01b031982166307ccd03560e31b1492915050565b60006137698261475d565b806115305750632a55205a60e083901c9081146301ffc9a79190911417611530565b60006137968261475d565b8061153057506001600160e01b03198216632b435fdb60e21b14806137cb57506001600160e01b0319821663503e914d60e11b145b801561153057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061380f8261475d565b8061153057506001600160e01b03198216631d13d2f560e21b1492915050565b600061383a8261475d565b8061153057506001600160e01b03198216636cbdef6160e01b1492915050565b60006138658261475d565b8061153057506001600160e01b031982166303aa30b960e11b1492915050565b60006138908261475d565b8061153057506001600160e01b0319821663362d3e2b60e21b1492915050565b60006138bb8261475d565b8061153057506001600160e01b03198216635c975abb60e01b1492915050565b60006138e68261475d565b8061153057506001600160e01b031982166317afae4360e01b1492915050565b600061391182614793565b8061153057506001600160e01b0319821663040a5d5760e51b1492915050565b600061393c8261475d565b8061153057506001600160e01b0319821663215f672360e21b1492915050565b60006139678261475d565b8061153057506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612317576382b429006000526004601cfd5b8280156139b55750631cd9595960e21b81145b80156139ce57506139cc631cd9595960e21b6147be565b155b8015613a21575060008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b8452909152902060010154610100900460ff165b15613a3f5760405163108e179760e11b815260040160405180910390fd5b6117e7838383614835565b61485c80611f5e63ffffffff8216565b61489480611f5e63ffffffff8216565b638b78c6d819546001600160a01b03163303613a8257565b600080516020615e4f8339815191525460ff1615613ab3576040516375ab03ab60e11b815260040160405180910390fd5b613abb6115e8565b6001600160a01b0316336001600160a01b0316146123175760405163263ab11d60e21b815260040160405180910390fd5b80600003613b0d57604051630856e64360e21b815260040160405180910390fd5b613b16826148c6565b613b2082826148f5565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613b8757600080fd5b505af4158015613b9b573d6000803e3d6000fd5b505050506117e783838360405180602001604052806000815250614934565b61192485858585614a48565b611e15888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506146e992505050565b6103e861ffff82161115613c905760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ce957613cae600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613cf7828261ffff16614a85565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613cdd565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e6f83398151915280613df9848683615abc565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613e4c858783615abc565b50600181016117cc838583615abc565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611f547f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614ad5565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf906024016118f8565b613f287ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614ad5565b80600080516020615e0f833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611881565b613f947f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614ad5565b7fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190055565b613fe37fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614ad5565b6001600160a01b0381161561335e57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613667565b6140447fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614ad5565b6001600160a01b0381161561335e57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612fc7565b6140a57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614ad5565b801561335e57600080516020615e4f833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611881565b6141237fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614ad5565b6001600160a01b0381161561335e57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612344565b6123177f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614ad5565b6123177f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614ad5565b6123177fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614ad5565b6123177fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614ad5565b61420d614b47565b60005b838110156142cf576142c785858381811061422d5761422d61597d565b905060200281019061423f9190615d03565b358686848181106142525761425261597d565b90506020028101906142649190615d03565b6020013587878581811061427a5761427a61597d565b905060200281019061428c9190615d03565b604001358888868181106142a2576142a261597d565b90506020028101906142b49190615d03565b6142c2906060810190615993565b6144cc565b600101614210565b5060005b81811015611924576143628383838181106142f0576142f061597d565b90506020028101906143029190615d23565b358484848181106143155761431561597d565b90506020028101906143279190615d23565b6020013585858581811061433d5761433d61597d565b905060200281019061434f9190615d23565b61435d906040810190615993565b6143d2565b6001016142d3565b600080516020615e8f83398151915280614385848683615abc565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561444357604051635fde02f960e01b815260040160405180910390fd5b6000829003614465576040516366e0344f60e01b815260040160405180910390fd5b6000858152600282016020526040902084815560018101614487848683615abc565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144bc93929190615920565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561454857604051635fde02f960e01b815260040160405180910390fd5b600082900361456a576040516366e0344f60e01b815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101614593848683615abc565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a78787876040516145c993929190615920565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515614659575b835187018035602082018337600038823584305af4614624573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614602575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a90048061469c575050819003601f19909101908152919050565b60606146d082614b72565b8051613078825260020160011990910190815292915050565b6146f68585858585614be1565b6040516344ca709360e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90638994e1269061473190869089908990600401615d39565b60006040518083038186803b15801561474957600080fd5b505af4158015611e13573d6000803e3d6000fd5b60006301ffc9a760e01b6001600160e01b03198316148061153057506001600160e01b0319821663513fc9dd60e11b1492915050565b600061479e8261475d565b8061153057506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af4158015614811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115309190615d6c565b61483e816147be565b156117e75760405163149eae5760e01b815260040160405180910390fd5b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e8061488e573d6000fd5b503d6000f35b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e8061488e573d6000fd5b600080516020615e0f83398151915254811061335e5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db906044016117a0565b614972600085614957866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613bba565b8360601b806149895763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156149bd576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450614a33600085614a18866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856146e9565b833b156119af576119af600085858585614d07565b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061201d908790879087908790600401615d89565b6bffffffffffffffffffffffff1661271080821115614aac5763350a88b36000526004601cfd5b8260601b80614ac35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613cdd565b6123177f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614ad5565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614bb2575050919050565b6001600160a01b038516614c7557600080516020615ecf83398151915260005b8451811015614c6e57838181518110614c1c57614c1c61597d565b6020026020010151826000016000878481518110614c3c57614c3c61597d565b602002602001015181526020019081526020016000206000828254614c619190615de8565b9091555050600101614c01565b5050611924565b6001600160a01b038416614d0257600080516020615ecf83398151915260005b8451811015614c6e57838181518110614cb057614cb061597d565b6020026020010151826000016000878481518110614cd057614cd061597d565b602002602001015181526020019081526020016000206000828254614cf59190615dfb565b9091555050600101614c95565b611924565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c08301528015614d53578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614d76573d15614d76573d6000833e3d82fd5b50805163f23a6e6160e01b146117cc57639c05499b6000526004601cfd5b80356001600160a01b0381168114614dab57600080fd5b919050565b60008060408385031215614dc357600080fd5b614dcc83614d94565b946020939093013593505050565b600060208284031215614dec57600080fd5b81356001600160e01b03198116811461228157600080fd5b60005b83811015614e1f578181015183820152602001614e07565b50506000910152565b60008151808452614e40816020860160208601614e04565b601f01601f19169290920160200192915050565b6020815260006122816020830184614e28565b803565ffffffffffff81168114614dab57600080fd5b60008083601f840112614e8f57600080fd5b5081356001600160401b03811115614ea657600080fd5b6020830191508360208260051b850101111561313a57600080fd5b60008060008060008060008060006101008a8c031215614ee057600080fd5b8935985060208a013560098110614ef657600080fd5b975060408a013560078110614f0a57600080fd5b9650614f1860608b01614d94565b9550614f2660808b01614e67565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614f4f57600080fd5b614f5b8c828d01614e7d565b915080935050809150509295985092959850929598565b60008083601f840112614f8457600080fd5b5081356001600160401b03811115614f9b57600080fd5b60208301915083602082850101111561313a57600080fd5b600080600060408486031215614fc857600080fd5b8335925060208401356001600160401b03811115614fe557600080fd5b614ff186828701614f72565b9497909650939450505050565b60006020828403121561501057600080fd5b5035919050565b6000806020838503121561502a57600080fd5b82356001600160401b0381111561504057600080fd5b61504c85828601614e7d565b90969095509350505050565b60008060006060848603121561506d57600080fd5b61507684614d94565b95602085013595506040909401359392505050565b801515811461335e57600080fd5b6000602082840312156150ab57600080fd5b81356122818161508b565b6000602082840312156150c857600080fd5b61228182614d94565b600080604083850312156150e457600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b03121561510f57600080fd5b61511889614d94565b975061512660208a01614d94565b965060408901356001600160401b0381111561514157600080fd5b61514d8b828c01614e7d565b90975095505060608901356001600160401b0381111561516c57600080fd5b6151788b828c01614e7d565b90955093505060808901356001600160401b0381111561519757600080fd5b6151a38b828c01614f72565b999c989b5096995094979396929594505050565b803561ffff81168114614dab57600080fd5b600080604083850312156151dc57600080fd5b6151e583614d94565b91506151f3602084016151b7565b90509250929050565b6000806000806040858703121561521257600080fd5b84356001600160401b0381111561522857600080fd5b61523487828801614e7d565b90955093505060208501356001600160401b0381111561525357600080fd5b61525f87828801614e7d565b95989497509550505050565b602080825282518282018190526000918401906040840190835b818110156152a3578351835260209384019390920191600101615285565b509095945050505050565b600080600080606085870312156152c457600080fd5b843593506020850135925060408501356001600160401b038111156152e857600080fd5b61525f87828801614f72565b600081518084526020840193506020830160005b82811015615326578151865260209586019590910190600101615308565b5093949350505050565b60208152600061228160208301846152f4565b8281526040602082015260006123f86040830184614e28565b60008060006060848603121561537157600080fd5b505081359360208301359350604090920135919050565b60408152600061539b60408301856152f4565b90508260208301529392505050565b6000602082840312156153bc57600080fd5b81356001600160401b038111156153d257600080fd5b82016102a0818503121561228157600080fd5b6000806000606084860312156153fa57600080fd5b8335925060208401356002811061541057600080fd5b929592945050506040919091013590565b6000806040838503121561543457600080fd5b61543d83614d94565b9150602083013561544d8161508b565b809150509250929050565b60008060008060006080868803121561547057600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561549b57600080fd5b6154a788828901614f72565b969995985093965092949392505050565b600080602083850312156154cb57600080fd5b82356001600160401b038111156154e157600080fd5b61504c85828601614f72565b60008060006060848603121561550257600080fd5b61550b84614d94565b925061551960208501614d94565b915061552760408501614d94565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561558957603f19878603018452615574858351614e28565b94506020938401939190910190600101615558565b50929695505050505050565b634e487b7160e01b600052602160045260246000fd5b600281106155bb576155bb615595565b9052565b604081016155cd82856155ab565b8260208301529392505050565b600080604083850312156155ed57600080fd5b6155f683614d94565b91506151f360208401614d94565b600981106155bb576155bb615595565b600781106155bb576155bb615595565b600061010082018a1515835261563d602084018b615604565b61564a604084018a615614565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156156cd5761011f198786030184526156b8858351614e28565b9450602093840193919091019060010161569b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156156f957600080fd5b61570287614d94565b955061571060208801614d94565b9450604087013593506060870135925060808701356001600160401b0381111561573957600080fd5b61574589828a01614f72565b979a9699509497509295939492505050565b600181811c9082168061576b57607f821691505b60208210810361578b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157d1602084018c615604565b6157de604084018b615614565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158a05786850361011f19018452823581811261584f57600080fd5b89016020810190356001600160401b0381111561586b57600080fd5b80360382131561587a57600080fd5b615885878284615791565b9650505060208301925060208401935060018201915061582f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158ce606083018587615791565b905060018060a01b038316604083015295945050505050565b6020808252810182905260006001600160fb1b0383111561590757600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061593a604083018486615791565b95945050505050565b858152846020820152608060408201526000615963608083018587615791565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126159aa57600080fd5b8301803591506001600160401b038211156159c457600080fd5b60200191503681900382131561313a57600080fd5b6000602082840312156159eb57600080fd5b612281826151b7565b6000808335601e19843603018112615a0b57600080fd5b8301803591506001600160401b03821115615a2557600080fd5b6020019150600581901b360382131561313a57600080fd5b83815260608101615a5160208301856155ab565b826040830152949350505050565b634e487b7160e01b600052604160045260246000fd5b601f8211156117e757806000526020600020601f840160051c81016020851015615a9c5750805b601f840160051c820191505b818110156119245760008155600101615aa8565b6001600160401b03831115615ad357615ad3615a5f565b615ae783615ae18354615757565b83615a75565b6000601f841160018114615b1b5760008515615b035750838201355b600019600387901b1c1916600186901b178355611924565b600083815260209020601f19861690835b82811015615b4c5786850135825560209485019460019092019101615b2c565b5086821015615b695760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006123f8602083018486615791565b600060208284031215615ba157600080fd5b81516001600160401b03811115615bb757600080fd5b8201601f81018413615bc857600080fd5b80516001600160401b03811115615be157615be1615a5f565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615c0f57615c0f615a5f565b604052818152828201602001861015615c2757600080fd5b61593a826020830160208601614e04565b60008151615c4a818560208601614e04565b9290920192915050565b6000808554615c6281615757565b600182168015615c795760018114615c8e57615cbe565b60ff1983168652811515820286019350615cbe565b88600052602060002060005b83811015615cb657815488820152600190910190602001615c9a565b505081860193505b505050602f60f81b81528451615cdb816001840160208901614e04565b01615cec60018201602f60f81b9052565b615cf96002820185615c38565b9695505050505050565b60008235607e19833603018112615d1957600080fd5b9190910192915050565b60008235605e19833603018112615d1957600080fd5b606081526000615d4c60608301866152f4565b6001600160a01b0394851660208401529290931660409091015292915050565b600060208284031215615d7e57600080fd5b81516122818161508b565b6001600160a01b03858116825284166020820152608060408201819052600090615db5908301856152f4565b8281036060840152615dc781856152f4565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561153057611530615dd2565b8181038181111561153057611530615dd256fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a26469706673582212203017836de8b2335d036ff1ef564880d40d1b8b804c0f92d3c76b84fb7a9f4c7064736f6c634300081c0033";
|
|
26
|
+
export const editionCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
|
|
27
|
+
export const editionCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f248061008d6000396000f3fe6080604052600436106106155760003560e01c8063869f759411610329578063c3e617a2116101b6578063e4df18ec11610102578063f2235701116100a0578063f8d3adc81161007a578063f8d3adc8146113c3578063fca3b5aa146113e3578063fee81cf414611403578063ff87a5f51461143657600080fd5b8063f22357011461135c578063f242432a14611390578063f2fde38b146113b057600080fd5b8063e985e9c5116100dc578063e985e9c5146112e6578063ea58f9711461131f578063ee748f2c14611334578063f04e283e1461134957600080fd5b8063e4df18ec14611261578063e8a3d48514611281578063e8dc3e091461129657600080fd5b8063d90f5df21161016f578063e1b7938111610149578063e1b79381146111ec578063e1c2ffad1461120c578063e2969ba714611221578063e42b7baf1461124157600080fd5b8063d90f5df2146111a2578063da2bbfc7146111b7578063dc983879146111d757600080fd5b8063c3e617a21461110f578063c4f260481461112f578063cc1cf5151461112f578063cfc59afd1461114a578063d50bac3314611178578063d8b4f8ac1461118d57600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f451461108b578063b4784247146110a0578063bb77e796146110b5578063bd85b039146110d557600080fd5b8063a9fc664e1461102b578063aa0de18d1461104b578063ac9650d81461106b57600080fd5b80639a5db50314610f3c5780639aa1a1f014610f51578063a148d8cf14610f71578063a22cb46514610fcb578063a482c94614610feb578063a8cdf0781461100b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610ed257806395d89b4114610ee757806396f4205a14610efc57806397e950f714610f1c57600080fd5b8063909206e314610b6a578063913b385a14610e9257806392b29b1714610eb257600080fd5b8063869f759414610dd957806386b419ac14610df957806386b7f6a414610e195780638da5cb5b14610e395780638e08141f14610e525780638e4cc07014610e7257600080fd5b806337da577c116104a75780635b02f81c116103f35780636cb02818116103ac578063738e149611610386578063738e149614610d365780637b1d470714610d625780637d0b7ae414610d8257806384f6687f14610db957600080fd5b80636cb0281814610cf95780636cbdef6114610d19578063715018a614610d2e57600080fd5b80635b02f81c14610be55780635c975abb14610c135780635e5a9e3014610c385780636905337414610c4d5780636aaf760714610c6d5780636bd3922214610c8d57600080fd5b80634e1273f41161046057806354d1f13d1161043a57806354d1f13d14610b6257806355580cca14610b6a57806355828c5014610b8c5780635a50ca6514610bba57600080fd5b80634e1273f414610ad95780634efdb5ae14610b065780634f558e7914610b2657600080fd5b806337da577c146109f75780633990b22114610a175780633c59f1bb14610a375780633dda44b014610a765780634331f63914610a965780634aa3adb314610ab657600080fd5b806316c38b3c11610566578063256929621161051f578063298bb40e116104f9578063298bb40e146109345780632a55205a146109495780632e73cddb146109885780632eb2c2d6146109d757600080fd5b806325692962146108f7578063261220a3146108ff57806326dfe8c71461091457600080fd5b806316c38b3c146107fa57806317afae431461081a5780631c31cac31461082f57806320ac09441461084f5780632352b33f1461086457806325628d34146108e257600080fd5b80630b4c562b116105d357806313bfffac116105ad57806313bfffac1461078557806314cb56671461079a578063156e29f6146107ba5780631622326a146107da57600080fd5b80630b4c562b1461071d5780630d705df61461073d5780630e89341c1461076557600080fd5b8062fdd58e1461061a57806301ffc9a71461066757806306fdde031461069757806307546172146106b957806308a38395146106e6578063098144d414610708575b600080fd5b34801561062657600080fd5b50610654610635366004614db0565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561067357600080fd5b50610687610682366004614dda565b611456565b604051901515815260200161065e565b3480156106a357600080fd5b506106ac611536565b60405161065e9190614e54565b3480156106c557600080fd5b506106ce6115e8565b6040516001600160a01b03909116815260200161065e565b3480156106f257600080fd5b50610706610701366004614ec1565b61161b565b005b34801561071457600080fd5b506106ce6116a5565b34801561072957600080fd5b50610706610738366004614fb3565b6116cd565b34801561074957600080fd5b5060408051631854b24160e01b8152600060208201520161065e565b34801561077157600080fd5b506106ac610780366004614ffe565b611753565b34801561079157600080fd5b506106ce61175d565b3480156107a657600080fd5b506107066107b5366004615017565b611767565b3480156107c657600080fd5b506107066107d5366004615058565b6117d4565b3480156107e657600080fd5b506107066107f5366004614fb3565b6117ec565b34801561080657600080fd5b50610706610815366004615099565b61182f565b34801561082657600080fd5b506106ce61188c565b34801561083b57600080fd5b5061070661084a3660046150b6565b6118b4565b34801561085b57600080fd5b506106ce61192b565b34801561087057600080fd5b506108c561087f366004614ffe565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161065e565b3480156108ee57600080fd5b5061070661194f565b6107066119b5565b34801561090b57600080fd5b506106ac611a04565b34801561092057600080fd5b5061070661092f3660046150b6565b611a1a565b34801561094057600080fd5b506106ac611ae0565b34801561095557600080fd5b506109696109643660046150d1565b611af6565b604080516001600160a01b03909316835260208301919091520161065e565b34801561099457600080fd5b506106876109a3366004614ffe565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109e357600080fd5b506107066109f23660046150f3565b611b4b565b348015610a0357600080fd5b50610706610a123660046150d1565b611e1f565b348015610a2357600080fd5b50610706610a323660046150d1565b611e66565b348015610a4357600080fd5b50610a4c611ec6565b604080516001600160a01b039485168152928416602084015292169181019190915260600161065e565b348015610a8257600080fd5b50610706610a913660046150d1565b611ed3565b348015610aa257600080fd5b50610706610ab13660046151c9565b611f4c565b348015610ac257600080fd5b5060015b60405161ffff909116815260200161065e565b348015610ae557600080fd5b50610af9610af43660046151fc565b611f62565b60405161065e919061526b565b348015610b1257600080fd5b50610706610b213660046152ae565b611fd2565b348015610b3257600080fd5b50610687610b41366004614ffe565b6000908152600080516020615ecf8339815191526020526040902054151590565b610706612049565b348015610b7657600080fd5b50610b7f612085565b60405161065e9190615330565b348015610b9857600080fd5b50610bac610ba7366004614ffe565b61208f565b60405161065e929190615343565b348015610bc657600080fd5b50600080516020615eaf833981519152546001600160a01b03166106ce565b348015610bf157600080fd5b50610c05610c0036600461535c565b61215f565b60405161065e929190615388565b348015610c1f57600080fd5b50600080516020615e4f8339815191525460ff16610687565b348015610c4457600080fd5b5061070661216b565b348015610c5957600080fd5b50610706610c68366004614ffe565b6121b7565b348015610c7957600080fd5b506106ac610c88366004614ffe565b612209565b348015610c9957600080fd5b506108c5610ca83660046150d1565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610d0557600080fd5b506106ac610d14366004614ffe565b612288565b348015610d2557600080fd5b506106546122ed565b610706612305565b348015610d4257600080fd5b50600080516020615eaf83398151915254600160a01b900460ff16610687565b348015610d6e57600080fd5b50610706610d7d3660046150b6565b612319565b348015610d8e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610687565b348015610dc557600080fd5b506106ac610dd43660046150d1565b61238e565b348015610de557600080fd5b50610654610df4366004614ffe565b612400565b348015610e0557600080fd5b50610706610e143660046153aa565b612472565b348015610e2557600080fd5b50610706610e3436600461535c565b612726565b348015610e4557600080fd5b50638b78c6d819546106ce565b348015610e5e57600080fd5b50610706610e6d366004614ffe565b61278d565b348015610e7e57600080fd5b50610706610e8d3660046153e5565b6127f7565b348015610e9e57600080fd5b50610706610ead3660046152ae565b61283a565b348015610ebe57600080fd5b50610706610ecd36600461535c565b61284e565b348015610ede57600080fd5b506106546128b7565b348015610ef357600080fd5b506106ac6128df565b348015610f0857600080fd5b50610706610f173660046150b6565b612911565b348015610f2857600080fd5b50610706610f37366004614ffe565b612959565b348015610f4857600080fd5b50610706612a0e565b348015610f5d57600080fd5b50610706610f6c366004614fb3565b612a5a565b348015610f7d57600080fd5b50610687610f8c3660046150d1565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610fd757600080fd5b50610706610fe6366004615421565b612a9d565b348015610ff757600080fd5b50610706611006366004615458565b612af3565b34801561101757600080fd5b506107066110263660046154b8565b612b08565b34801561103757600080fd5b506107066110463660046150b6565b612b93565b34801561105757600080fd5b506107066110663660046154ed565b612bdb565b61107e611079366004615017565b612c33565b60405161065e9190615530565b34801561109757600080fd5b50610687612c52565b3480156110ac57600080fd5b50610706612c77565b3480156110c157600080fd5b506106ac6110d0366004614ffe565b612cc3565b3480156110e157600080fd5b506106546110f0366004614ffe565b6000908152600080516020615ecf833981519152602052604090205490565b34801561111b57600080fd5b5061070661112a3660046154b8565b612d84565b34801561113b57600080fd5b50610c05610c003660046150d1565b34801561115657600080fd5b5061116a611165366004614ffe565b612de3565b60405161065e9291906155bf565b34801561118457600080fd5b506106ce612e68565b34801561119957600080fd5b506106ce612e7e565b3480156111ae57600080fd5b50610654612ea6565b3480156111c357600080fd5b506107066111d23660046154b8565b612ebc565b3480156111e357600080fd5b50610706612efd565b3480156111f857600080fd5b50610b7f611207366004614ffe565b612085565b34801561121857600080fd5b50610706612f49565b34801561122d57600080fd5b5061070661123c3660046150b6565b612f9c565b34801561124d57600080fd5b5061070661125c3660046152ae565b613011565b34801561126d57600080fd5b50610bac61127c3660046150d1565b613063565b34801561128d57600080fd5b506106ac613141565b3480156112a257600080fd5b50610ac66112b1366004614ffe565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b3480156112f257600080fd5b506106876113013660046155da565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561132b57600080fd5b506106876132f5565b34801561134057600080fd5b506106ac61330b565b6107066113573660046150b6565b613321565b34801561136857600080fd5b5061137c611377366004614ffe565b613361565b60405161065e989796959493929190615624565b34801561139c57600080fd5b506107066113ab3660046156e0565b613376565b6107066113be3660046150b6565b6135bc565b3480156113cf57600080fd5b506107066113de3660046150d1565b6135e3565b3480156113ef57600080fd5b506107066113fe3660046150b6565b61363c565b34801561140f57600080fd5b5061065461141e3660046150b6565b63389a75e1600c908152600091909152602090205490565b34801561144257600080fd5b506107066114513660046150b6565b6136b1565b6000611461826136fc565b80611470575061147082613733565b8061147f575061147f8261375e565b8061148e575061148e8261378b565b8061149d575061149d82613804565b806114ac57506114ac8261382f565b806114bb57506114bb8261385a565b806114ca57506114ca82613885565b806114d957506114d9826138b0565b806114e857506114e8826138db565b806114f757506114f782613906565b80611506575061150682613931565b8061151557506115158261395c565b8061153057506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461156590615757565b80601f016020809104026020016040519081016040528092919081815260200182805461159190615757565b80156115de5780601f106115b3576101008083540402835291602001916115de565b820191906000526020600020905b8154815290600101906020018083116115c157829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b611623613987565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae69061166a908c908c908c908c908c908c908c908c908c906004016157ba565b60006040518083038186803b15801561168257600080fd5b505af4158015611696573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061160c565b6116d5613987565b6116e1600080856139a2565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a9061171e9086908690869033906004016158b4565b60006040518083038186803b15801561173657600080fd5b505af415801561174a573d6000803e3d6000fd5b50505050505050565b6060610615613a4a565b6000610615613a5a565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906117a090859085906004016158e7565b60006040518083038186803b1580156117b857600080fd5b505af41580156117cc573d6000803e3d6000fd5b505050505050565b6117dc613a6a565b6117e7838383613aec565b505050565b6117f4613987565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061171e90869086908690600401615920565b611837613987565b600080516020615e4f833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061160c565b6118bc613987565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b15801561191057600080fd5b505af4158015611924573d6000803e3d6000fd5b5050505050565b6000600080516020615e2f8339815191525b600101546001600160a01b0316919050565b611957613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b505af41580156119af573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e6f83398151915261155a565b611a22613987565b600080516020615eaf83398151915254600080516020615e8f83398151915290600160a01b900460ff1615611a6a576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615e8f83398151915261155a565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611b2a576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611bee888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613bba92505050565b828514611c0357633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611c425763ea553b346000526004601cfd5b893314611c6557336000526034600c2054611c6557634b6e7f186000526004601cfd5b8660051b5b8015611cd7576020810390508087013583602052818a01356000526040600020805480831115611ca25763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015611ccc576301336cea6000526004601cfd5b90915550611c6a9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611d42600190565b15611d5757611d578888888888888888613bc6565b863b15611e15578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611df5573d15611df5573d6000833e3d82fd5b50805163bc197c8160e01b14611e1357639c05499b6000526004601cfd5b505b5050505050505050565b611e27613987565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c906044016117a0565b611e6e613987565b611e7a600080846139a2565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084016117a0565b6000806000610615613a5a565b611edb613987565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611f54613987565b611f5e8282613c69565b5050565b6060838214611f7957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b8015611fc857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152611f90565b5050949350505050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d1485858585611ffd638b78c6d8195490565b6040518663ffffffff1660e01b815260040161201d959493929190615943565b60006040518083038186803b15801561203557600080fd5b505af4158015611e15573d6000803e3d6000fd5b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610615613a5a565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450260205260408120805460018201805460609392919081906120d590615757565b80601f016020809104026020016040519081016040528092919081815260200182805461210190615757565b801561214e5780601f106121235761010080835404028352916020019161214e565b820191906000526020600020905b81548152906001019060200180831161213157829003601f168201915b505050505090509250925050915091565b60606000610615613a5a565b612173613987565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b6121bf613987565b6121cb600080836139a2565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec906044016118f8565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061224f57604051633fa417ed60e11b815260040160405180910390fd5b6122818160000184815481106122675761226761597d565b6000918252602090912001546001600160a01b0316613d36565b9392505050565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156122d6576122d181613d36565b612281565b604051806020016040528060008152509392505050565b6000600080516020615e0f8339815191525b54919050565b61230d613987565b6123176000613d64565b565b612321613987565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156123e7576123e281613d36565b6123f8565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661245e578054612281565b600092835260010160205250604090205490565b63409feecd1980546003825580156124a95760018160011c14303b106124a05763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161014001356000036124d05760405163fe5afcb960e01b815260040160405180910390fd5b81610140013582610220013511156124fb57604051633f63c5bf60e01b815260040160405180910390fd5b61251061250b60208401846150b6565b613da2565b6125356125206060840184615993565b61253060a08601608087016150b6565b613dde565b6125576125456020840184615993565b6125526040860186615993565b613e1f565b61255f613e5c565b61258a612573610100840160e085016150b6565b612585610120850161010086016159d9565b613e92565b6125a461259f610140840161012085016150b6565b613ebd565b6125b2826101400135613efd565b6125c0826101600135613f69565b6125da6125d56101c084016101a085016150b6565b613fb8565b6125f46125ef6101a0840161018085016150b6565b614019565b61260e6126096101e084016101c08501615099565b61407a565b61262861262361020084016101e085016150b6565b6140f8565b612630614159565b612638614184565b6126406141af565b6126486141da565b61266c6126596102608401846159f4565b6126676102808601866159f4565b614205565b61269161267c60a0840184615993565b61268c60e0860160c087016150b6565b61436a565b60006126a5610220840161020085016150b6565b6001600160a01b0316146126ee5760005b8261022001358110156126ec576126e46126d8610220850161020086016150b6565b82856102400135613aec565b6001016126b6565b505b8015611f5e576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b61272e613987565b61273a600184846139a2565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40161171e565b612795613987565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6127ff613987565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee459061171e90869086908690600401615a3d565b612842613987565b6119af848484846143d2565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d6446848484612878638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b0316606482015260840161171e565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9006122ff565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461156590615757565b612919613987565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a906024016118f8565b612961613987565b600080516020615e0f833981519152805482111561299257604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01548210156129d457604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200160405180910390a15050565b612a16613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b612a62613987565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f09061171e90869086908690600401615920565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612afb613987565b61192485858585856144cc565b612b10613987565b600080516020615eaf83398151915254600080516020615e8f83398151915290600160a01b900460ff1615612b58576040516352be865b60e01b815260040160405180910390fd5b80612b64838583615abc565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b612b9b613987565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e906024016118f8565b612be3613987565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d9060640161171e565b60603415612c4057600080fd5b611530612c4d84846145da565b614671565b6000600080516020615e6f8339815191525b60010154600160a01b900460ff16919050565b612c7f613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612cff90615757565b80601f0160208091040260200160405190810160405280929190818152602001828054612d2b90615757565b8015612d785780601f10612d4d57610100808354040283529160200191612d78565b820191906000526020600020905b815481529060010190602001808311612d5b57829003601f168201915b50505050509050919050565b612d8c613987565b600080516020615eaf83398151915254600080516020615e8f83398151915290600160a01b900460ff1615612dd4576040516352be865b60e01b815260040160405180910390fd5b60018101612b64838583615abc565b600080516020615e2f833981519152805460009182918410612e185760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612e2f57612e2f61597d565b60009182526020909120600290910201805490915060ff166001811115612e5857612e58615595565b8160010154935093505050915091565b6000600080516020615e6f83398151915261193d565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061160c565b6000600080516020615e2f8339815191526122ff565b612ec4613987565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906117a09085908590600401615b7b565b612f05613987565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b15801561199b57600080fd5b612f51613987565b600080516020615eaf833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612fa4613987565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b613019613987565b613025600185856139a2565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061201d9087908790879087903390600401615943565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454500602090815260408083208484529091528120805460018201805460609392919081906130b490615757565b80601f01602080910402602001604051908101604052809291908181526020018280546130e090615757565b801561312d5780601f106131025761010080835404028352916020019161312d565b820191906000526020600020905b81548152906001019060200180831161311057829003601f168201915b5050505050905092509250505b9250929050565b600080516020615eaf83398151915254606090600080516020615e8f833981519152906001600160a01b0316156131e857600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa1580156131ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131e29190810190615b8f565b91505090565b8060010180546131f790615757565b1590506132915780600101805461320d90615757565b80601f016020809104026020016040519081016040528092919081815260200182805461323990615757565b80156132865780601f1061325b57610100808354040283529160200191613286565b820191906000526020600020905b81548152906001019060200180831161326957829003601f168201915b505050505091505090565b8054819061329e90615757565b90506000036132bb57505060408051602081019091526000815290565b806132c546614681565b6132ce306146c5565b6040516020016132e093929190615c54565b60405160208183030381529060405291505090565b6000600080516020615e2f833981519152612c64565b6060600080516020615e8f833981519152612903565b613329613987565b63389a75e1600c52806000526020600c20805442111561335157636f5e88186000526004601cfd5b6000905561335e81613d64565b50565b60008060008060008060006060610615613a5a565b6133e98686613398876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613bba92505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866134285763ea553b346000526004601cfd5b87331461344b57336000526034600c205461344b57634b6e7f186000526004601cfd5b856000526040600020915081548086111561346e5763f4d678b86000526004601cfd5b858103835550806020526040600020915081548581018181101561349a576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a461354086866134ef876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146e992505050565b843b156117cc5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af161359f573d1561359f573d6000823e3d81fd5b805163f23a6e6160e01b1461174a57639c05499b6000526004601cfd5b6135c4613987565b8060601b6135da57637448fbae6000526004601cfd5b61335e81613d64565b6135eb613987565b6135f7600183836139a2565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e739906064016117a0565b613644613987565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6136b9613987565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f5906024016118f8565b60006137078261475d565b806115305750611530826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061373e8261475d565b8061153057506001600160e01b031982166307ccd03560e31b1492915050565b60006137698261475d565b806115305750632a55205a60e083901c9081146301ffc9a79190911417611530565b60006137968261475d565b8061153057506001600160e01b03198216632b435fdb60e21b14806137cb57506001600160e01b0319821663503e914d60e11b145b801561153057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061380f8261475d565b8061153057506001600160e01b03198216631d13d2f560e21b1492915050565b600061383a8261475d565b8061153057506001600160e01b03198216636cbdef6160e01b1492915050565b60006138658261475d565b8061153057506001600160e01b031982166303aa30b960e11b1492915050565b60006138908261475d565b8061153057506001600160e01b0319821663362d3e2b60e21b1492915050565b60006138bb8261475d565b8061153057506001600160e01b03198216635c975abb60e01b1492915050565b60006138e68261475d565b8061153057506001600160e01b031982166317afae4360e01b1492915050565b600061391182614793565b8061153057506001600160e01b0319821663040a5d5760e51b1492915050565b600061393c8261475d565b8061153057506001600160e01b0319821663215f672360e21b1492915050565b60006139678261475d565b8061153057506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612317576382b429006000526004601cfd5b8280156139b55750631cd9595960e21b81145b80156139ce57506139cc631cd9595960e21b6147be565b155b8015613a21575060008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b8452909152902060010154610100900460ff165b15613a3f5760405163108e179760e11b815260040160405180910390fd5b6117e7838383614835565b61485c80611f5e63ffffffff8216565b61489480611f5e63ffffffff8216565b638b78c6d819546001600160a01b03163303613a8257565b600080516020615e4f8339815191525460ff1615613ab3576040516375ab03ab60e11b815260040160405180910390fd5b613abb6115e8565b6001600160a01b0316336001600160a01b0316146123175760405163263ab11d60e21b815260040160405180910390fd5b80600003613b0d57604051630856e64360e21b815260040160405180910390fd5b613b16826148c6565b613b2082826148f5565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613b8757600080fd5b505af4158015613b9b573d6000803e3d6000fd5b505050506117e783838360405180602001604052806000815250614934565b61192485858585614a48565b611e15888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506146e992505050565b6103e861ffff82161115613c905760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ce957613cae600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613cf7828261ffff16614a85565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613cdd565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e6f83398151915280613df9848683615abc565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613e4c858783615abc565b50600181016117cc838583615abc565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611f547f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614ad5565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf906024016118f8565b613f287ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614ad5565b80600080516020615e0f833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611881565b613f947f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614ad5565b7fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190055565b613fe37fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614ad5565b6001600160a01b0381161561335e57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613667565b6140447fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614ad5565b6001600160a01b0381161561335e57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612fc7565b6140a57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614ad5565b801561335e57600080516020615e4f833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611881565b6141237fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614ad5565b6001600160a01b0381161561335e57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612344565b6123177f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614ad5565b6123177f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614ad5565b6123177fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614ad5565b6123177fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614ad5565b61420d614b47565b60005b838110156142cf576142c785858381811061422d5761422d61597d565b905060200281019061423f9190615d03565b358686848181106142525761425261597d565b90506020028101906142649190615d03565b6020013587878581811061427a5761427a61597d565b905060200281019061428c9190615d03565b604001358888868181106142a2576142a261597d565b90506020028101906142b49190615d03565b6142c2906060810190615993565b6144cc565b600101614210565b5060005b81811015611924576143628383838181106142f0576142f061597d565b90506020028101906143029190615d23565b358484848181106143155761431561597d565b90506020028101906143279190615d23565b6020013585858581811061433d5761433d61597d565b905060200281019061434f9190615d23565b61435d906040810190615993565b6143d2565b6001016142d3565b600080516020615e8f83398151915280614385848683615abc565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561444357604051635fde02f960e01b815260040160405180910390fd5b6000829003614465576040516366e0344f60e01b815260040160405180910390fd5b6000858152600282016020526040902084815560018101614487848683615abc565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144bc93929190615920565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561454857604051635fde02f960e01b815260040160405180910390fd5b600082900361456a576040516366e0344f60e01b815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101614593848683615abc565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a78787876040516145c993929190615920565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515614659575b835187018035602082018337600038823584305af4614624573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614602575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a90048061469c575050819003601f19909101908152919050565b60606146d082614b72565b8051613078825260020160011990910190815292915050565b6146f68585858585614be1565b6040516344ca709360e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90638994e1269061473190869089908990600401615d39565b60006040518083038186803b15801561474957600080fd5b505af4158015611e13573d6000803e3d6000fd5b60006301ffc9a760e01b6001600160e01b03198316148061153057506001600160e01b0319821663513fc9dd60e11b1492915050565b600061479e8261475d565b8061153057506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af4158015614811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115309190615d6c565b61483e816147be565b156117e75760405163149eae5760e01b815260040160405180910390fd5b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e8061488e573d6000fd5b503d6000f35b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e8061488e573d6000fd5b600080516020615e0f83398151915254811061335e5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db906044016117a0565b614972600085614957866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613bba565b8360601b806149895763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156149bd576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450614a33600085614a18866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856146e9565b833b156119af576119af600085858585614d07565b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061201d908790879087908790600401615d89565b6bffffffffffffffffffffffff1661271080821115614aac5763350a88b36000526004601cfd5b8260601b80614ac35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613cdd565b6123177f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614ad5565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614bb2575050919050565b6001600160a01b038516614c7557600080516020615ecf83398151915260005b8451811015614c6e57838181518110614c1c57614c1c61597d565b6020026020010151826000016000878481518110614c3c57614c3c61597d565b602002602001015181526020019081526020016000206000828254614c619190615de8565b9091555050600101614c01565b5050611924565b6001600160a01b038416614d0257600080516020615ecf83398151915260005b8451811015614c6e57838181518110614cb057614cb061597d565b6020026020010151826000016000878481518110614cd057614cd061597d565b602002602001015181526020019081526020016000206000828254614cf59190615dfb565b9091555050600101614c95565b611924565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c08301528015614d53578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614d76573d15614d76573d6000833e3d82fd5b50805163f23a6e6160e01b146117cc57639c05499b6000526004601cfd5b80356001600160a01b0381168114614dab57600080fd5b919050565b60008060408385031215614dc357600080fd5b614dcc83614d94565b946020939093013593505050565b600060208284031215614dec57600080fd5b81356001600160e01b03198116811461228157600080fd5b60005b83811015614e1f578181015183820152602001614e07565b50506000910152565b60008151808452614e40816020860160208601614e04565b601f01601f19169290920160200192915050565b6020815260006122816020830184614e28565b803565ffffffffffff81168114614dab57600080fd5b60008083601f840112614e8f57600080fd5b5081356001600160401b03811115614ea657600080fd5b6020830191508360208260051b850101111561313a57600080fd5b60008060008060008060008060006101008a8c031215614ee057600080fd5b8935985060208a013560098110614ef657600080fd5b975060408a013560078110614f0a57600080fd5b9650614f1860608b01614d94565b9550614f2660808b01614e67565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614f4f57600080fd5b614f5b8c828d01614e7d565b915080935050809150509295985092959850929598565b60008083601f840112614f8457600080fd5b5081356001600160401b03811115614f9b57600080fd5b60208301915083602082850101111561313a57600080fd5b600080600060408486031215614fc857600080fd5b8335925060208401356001600160401b03811115614fe557600080fd5b614ff186828701614f72565b9497909650939450505050565b60006020828403121561501057600080fd5b5035919050565b6000806020838503121561502a57600080fd5b82356001600160401b0381111561504057600080fd5b61504c85828601614e7d565b90969095509350505050565b60008060006060848603121561506d57600080fd5b61507684614d94565b95602085013595506040909401359392505050565b801515811461335e57600080fd5b6000602082840312156150ab57600080fd5b81356122818161508b565b6000602082840312156150c857600080fd5b61228182614d94565b600080604083850312156150e457600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b03121561510f57600080fd5b61511889614d94565b975061512660208a01614d94565b965060408901356001600160401b0381111561514157600080fd5b61514d8b828c01614e7d565b90975095505060608901356001600160401b0381111561516c57600080fd5b6151788b828c01614e7d565b90955093505060808901356001600160401b0381111561519757600080fd5b6151a38b828c01614f72565b999c989b5096995094979396929594505050565b803561ffff81168114614dab57600080fd5b600080604083850312156151dc57600080fd5b6151e583614d94565b91506151f3602084016151b7565b90509250929050565b6000806000806040858703121561521257600080fd5b84356001600160401b0381111561522857600080fd5b61523487828801614e7d565b90955093505060208501356001600160401b0381111561525357600080fd5b61525f87828801614e7d565b95989497509550505050565b602080825282518282018190526000918401906040840190835b818110156152a3578351835260209384019390920191600101615285565b509095945050505050565b600080600080606085870312156152c457600080fd5b843593506020850135925060408501356001600160401b038111156152e857600080fd5b61525f87828801614f72565b600081518084526020840193506020830160005b82811015615326578151865260209586019590910190600101615308565b5093949350505050565b60208152600061228160208301846152f4565b8281526040602082015260006123f86040830184614e28565b60008060006060848603121561537157600080fd5b505081359360208301359350604090920135919050565b60408152600061539b60408301856152f4565b90508260208301529392505050565b6000602082840312156153bc57600080fd5b81356001600160401b038111156153d257600080fd5b82016102a0818503121561228157600080fd5b6000806000606084860312156153fa57600080fd5b8335925060208401356002811061541057600080fd5b929592945050506040919091013590565b6000806040838503121561543457600080fd5b61543d83614d94565b9150602083013561544d8161508b565b809150509250929050565b60008060008060006080868803121561547057600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561549b57600080fd5b6154a788828901614f72565b969995985093965092949392505050565b600080602083850312156154cb57600080fd5b82356001600160401b038111156154e157600080fd5b61504c85828601614f72565b60008060006060848603121561550257600080fd5b61550b84614d94565b925061551960208501614d94565b915061552760408501614d94565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561558957603f19878603018452615574858351614e28565b94506020938401939190910190600101615558565b50929695505050505050565b634e487b7160e01b600052602160045260246000fd5b600281106155bb576155bb615595565b9052565b604081016155cd82856155ab565b8260208301529392505050565b600080604083850312156155ed57600080fd5b6155f683614d94565b91506151f360208401614d94565b600981106155bb576155bb615595565b600781106155bb576155bb615595565b600061010082018a1515835261563d602084018b615604565b61564a604084018a615614565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156156cd5761011f198786030184526156b8858351614e28565b9450602093840193919091019060010161569b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156156f957600080fd5b61570287614d94565b955061571060208801614d94565b9450604087013593506060870135925060808701356001600160401b0381111561573957600080fd5b61574589828a01614f72565b979a9699509497509295939492505050565b600181811c9082168061576b57607f821691505b60208210810361578b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157d1602084018c615604565b6157de604084018b615614565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158a05786850361011f19018452823581811261584f57600080fd5b89016020810190356001600160401b0381111561586b57600080fd5b80360382131561587a57600080fd5b615885878284615791565b9650505060208301925060208401935060018201915061582f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158ce606083018587615791565b905060018060a01b038316604083015295945050505050565b6020808252810182905260006001600160fb1b0383111561590757600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061593a604083018486615791565b95945050505050565b858152846020820152608060408201526000615963608083018587615791565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126159aa57600080fd5b8301803591506001600160401b038211156159c457600080fd5b60200191503681900382131561313a57600080fd5b6000602082840312156159eb57600080fd5b612281826151b7565b6000808335601e19843603018112615a0b57600080fd5b8301803591506001600160401b03821115615a2557600080fd5b6020019150600581901b360382131561313a57600080fd5b83815260608101615a5160208301856155ab565b826040830152949350505050565b634e487b7160e01b600052604160045260246000fd5b601f8211156117e757806000526020600020601f840160051c81016020851015615a9c5750805b601f840160051c820191505b818110156119245760008155600101615aa8565b6001600160401b03831115615ad357615ad3615a5f565b615ae783615ae18354615757565b83615a75565b6000601f841160018114615b1b5760008515615b035750838201355b600019600387901b1c1916600186901b178355611924565b600083815260209020601f19861690835b82811015615b4c5786850135825560209485019460019092019101615b2c565b5086821015615b695760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006123f8602083018486615791565b600060208284031215615ba157600080fd5b81516001600160401b03811115615bb757600080fd5b8201601f81018413615bc857600080fd5b80516001600160401b03811115615be157615be1615a5f565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615c0f57615c0f615a5f565b604052818152828201602001861015615c2757600080fd5b61593a826020830160208601614e04565b60008151615c4a818560208601614e04565b9290920192915050565b6000808554615c6281615757565b600182168015615c795760018114615c8e57615cbe565b60ff1983168652811515820286019350615cbe565b88600052602060002060005b83811015615cb657815488820152600190910190602001615c9a565b505081860193505b505050602f60f81b81528451615cdb816001840160208901614e04565b01615cec60018201602f60f81b9052565b615cf96002820185615c38565b9695505050505050565b60008235607e19833603018112615d1957600080fd5b9190910192915050565b60008235605e19833603018112615d1957600080fd5b606081526000615d4c60608301866152f4565b6001600160a01b0394851660208401529290931660409091015292915050565b600060208284031215615d7e57600080fd5b81516122818161508b565b6001600160a01b03858116825284166020820152608060408201819052600090615db5908301856152f4565b8281036060840152615dc781856152f4565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561153057611530615dd2565b8181038181111561153057611530615dd256fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a26469706673582212203017836de8b2335d036ff1ef564880d40d1b8b804c0f92d3c76b84fb7a9f4c7064736f6c634300081c0033";
|
|
28
|
+
export const abxEditionLibAbi = [{ "type": "function", "name": "requireWithinEditionCap", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "view" }, { "type": "function", "name": "uri", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }];
|
|
29
|
+
export const abxEditionLibBytecode = "0x611eb7610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100e95760003560e01c80635e5a9e3011610096578063da2bbfc711610070578063da2bbfc71461020e578063dda44fcf1461022e578063edbf22db1461024e578063ff87a5f51461026157600080fd5b80635e5a9e30146101b95780638994e126146101ce578063a9fc664e146101ee57600080fd5b8063325b818c116100c7578063325b818c146101595780633550780d1461017957806337da577c1461019957600080fd5b80630e89341c146100ee57806314cb5667146101175780631622326a14610139575b600080fd5b6101016100fc3660046115e8565b610281565b60405161010e919061166f565b60405180910390f35b81801561012357600080fd5b50610137610132366004611682565b61051d565b005b81801561014557600080fd5b50610137610154366004611742565b610593565b81801561016557600080fd5b506101376101743660046118b8565b6106c5565b81801561018557600080fd5b50610137610194366004611942565b61087f565b8180156101a557600080fd5b506101376101b4366004611977565b610acf565b8180156101c557600080fd5b50610137610ca6565b8180156101da57600080fd5b506101376101e9366004611999565b610d2f565b8180156101fa57600080fd5b506101376102093660046119f7565b610ebf565b81801561021a57600080fd5b50610137610229366004611a12565b610f6f565b81801561023a57600080fd5b506101376102493660046119f7565b611050565b61013761025c366004611977565b6110df565b81801561026d57600080fd5b5061013761027c3660046119f7565b6111ef565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156103a75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103a09190810190611a54565b9392505050565b6000838152600282016020526040812080546103c290611b08565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90611b08565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505090508051600014610452579392505050565b8154829061045f90611b08565b905060000361047f57505060408051602081019091526000815292915050565b61051582600001805461049190611b08565b80601f01602080910402602001604051908101604052809291908181526020018280546104bd90611b08565b801561050a5780601f106104df5761010080835404028352916020019161050a565b820191906000526020600020905b8154815290600101906020018083116104ed57829003601f168201915b5050505050856112f7565b949350505050565b60005b8181101561058e57600083838381811061053c5761053c611b5b565b905060200201359050807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61057083610281565b60405161057d919061166f565b60405180910390a250600101610520565b505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610629576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610644838583611bd1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610677929190611ceb565b60405180910390a2837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6106aa86610281565b6040516106b7919061166f565b60405180910390a250505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806107085750610879565b73ffffffffffffffffffffffffffffffffffffffff8516158061073f575073ffffffffffffffffffffffffffffffffffffffff8416155b1561074a5750610879565b73ffffffffffffffffffffffffffffffffffffffff8116330361076d5750610879565b60005b8351811015610876578173ffffffffffffffffffffffffffffffffffffffff16631854b2413388888886815181106107aa576107aa611b5b565b60200260200101518887815181106107c4576107c4611b5b565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b50505050806001019050610770565b50505b50505050565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d009084106108da576108d4846001611d38565b60018201555b60008481526020829052604090205415801561093657507ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006000858152602091825260408082208583529092522060010154610100900460ff16155b15610879577f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005473ffffffffffffffffffffffffffffffffffffffff168015610ac8576040517f0b1c2e720000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff858116602483015260009190831690630b1c2e72906044016020604051808303816000875af11580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190611d72565b6040517f838128170000000000000000000000000000000000000000000000000000000081526004810188905260248101869052604481018290526000606482015273ffffffffffffffffffffffffffffffffffffffff8416608482015290915073__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015610aae57600080fd5b505af4158015610ac2573d6000803e3d6000fd5b50505050505b5050505050565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615610b76576000838152600182016020526040902054821115610b71576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bbd565b805415801590610b865750805482115b15610bbd576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015610c24576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e035473ffffffffffffffffffffffffffffffffffffffff1680610d725750505050565b60005b8451811015610ac85760008273ffffffffffffffffffffffffffffffffffffffff16868381518110610da957610da9611b5b565b60200260200101518686604051602401610dec9392919092835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f353684070000000000000000000000000000000000000000000000000000000017905251610e6d9190611d8b565b6000604051808303816000865af19150503d8060008114610eaa576040519150601f19603f3d011682016040523d82523d6000602084013e610eaf565b606091505b5050905050806001019050610d75565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16610f33576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615610f5857610f5882611340565b610f628183611394565b610f6b82611411565b5050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611005576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611011838583611bd1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611043929190611ceb565b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff811661106e5750565b61107781611340565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155610f628183611394565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615801561113e57508054155b1561114857505050565b600083815260028201602052604081205460ff16611167578154611179565b60008481526001830160205260409020545b60008581527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490915081906111b7908590611d38565b1115610879576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611285576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a25050565b606082611303466114b7565b61130c30611519565b611315856114b7565b6040516020016113289493929190611da7565b60405160208183030381529060405290505b92915050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611391576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611043565b73ffffffffffffffffffffffffffffffffffffffff811661142f5750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561149e57600080fd5b505af19250505080156114af575060015b156113915750565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806114d25750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606115248261155b565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed0161159b575050919050565b6000602082840312156115fa57600080fd5b5035919050565b60005b8381101561161c578181015183820152602001611604565b50506000910152565b6000815180845261163d816020860160208601611601565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006103a06020830184611625565b6000806020838503121561169557600080fd5b823567ffffffffffffffff8111156116ac57600080fd5b8301601f810185136116bd57600080fd5b803567ffffffffffffffff8111156116d457600080fd5b8560208260051b84010111156116e957600080fd5b6020919091019590945092505050565b60008083601f84011261170b57600080fd5b50813567ffffffffffffffff81111561172357600080fd5b60208301915083602082850101111561173b57600080fd5b9250929050565b60008060006040848603121561175757600080fd5b83359250602084013567ffffffffffffffff81111561177557600080fd5b611781868287016116f9565b9497909650939450505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146117b257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561182d5761182d6117b7565b604052919050565b600082601f83011261184657600080fd5b813567ffffffffffffffff811115611860576118606117b7565b8060051b611870602082016117e6565b9182526020818501810192908101908684111561188c57600080fd5b6020860192505b838310156118ae578235825260209283019290910190611893565b9695505050505050565b600080600080608085870312156118ce57600080fd5b6118d78561178e565b93506118e56020860161178e565b9250604085013567ffffffffffffffff81111561190157600080fd5b61190d87828801611835565b925050606085013567ffffffffffffffff81111561192a57600080fd5b61193687828801611835565b91505092959194509250565b60008060006060848603121561195757600080fd5b833592506119676020850161178e565b9150604084013590509250925092565b6000806040838503121561198a57600080fd5b50508035926020909101359150565b6000806000606084860312156119ae57600080fd5b833567ffffffffffffffff8111156119c557600080fd5b6119d186828701611835565b9350506119e06020850161178e565b91506119ee6040850161178e565b90509250925092565b600060208284031215611a0957600080fd5b6103a08261178e565b60008060208385031215611a2557600080fd5b823567ffffffffffffffff811115611a3c57600080fd5b611a48858286016116f9565b90969095509350505050565b600060208284031215611a6657600080fd5b815167ffffffffffffffff811115611a7d57600080fd5b8201601f81018413611a8e57600080fd5b805167ffffffffffffffff811115611aa857611aa86117b7565b611ad960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016117e6565b818152856020838501011115611aee57600080fd5b611aff826020830160208601611601565b95945050505050565b600181811c90821680611b1c57607f821691505b602082108103611b55577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f82111561058e57806000526020600020601f840160051c81016020851015611bb15750805b601f840160051c820191505b81811015610ac85760008155600101611bbd565b67ffffffffffffffff831115611be957611be96117b7565b611bfd83611bf78354611b08565b83611b8a565b6000601f841160018114611c4f5760008515611c195750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610ac8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611c9e5786850135825560209485019460019092019101611c7e565b5086821015611cd9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b8082018082111561133a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215611d8457600080fd5b5051919050565b60008251611d9d818460208701611601565b9190910192915050565b60008551611db9818460208a01611601565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551611df3816001840160208a01611601565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451611e31816002840160208901611601565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351611e73816002840160208801611601565b01600201969550505050505056fea2646970667358221220db95aca8b4a0d5ba7619a75ad330d738641723f64c44b7521d9a2eabdb3d8ea864736f6c634300081c0033";
|
|
30
|
+
export const abxFixedPriceMinter1155Abi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "qty", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "qty", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }, { "type": "error", "name": "ZeroQuantity", "inputs": [] }];
|
|
31
|
+
export const abxFixedPriceMinter1155Bytecode = "0x6080604052348015600f57600080fd5b50610a128061001f6000396000f3fe60806040526004361061003f5760003560e01c80633a1c83ac1461004457806398968f15146100f0578063c546c95214610105578063c6e9d71a14610125575b600080fd5b34801561005057600080fd5b506100ad61005f366004610862565b6000602081815292815260408082209093529081522080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a00160405180910390f35b6101036100fe36600461088e565b610138565b005b34801561011157600080fd5b506101036101203660046108c3565b610180565b610103610133366004610915565b610301565b3068929eee149b4bd2126854036101575763ab143c066000526004601cfd5b3068929eee149b4bd212685561016f8383833361034a565b3868929eee149b4bd2126855505050565b6101898561073f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ed576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851660009081526020818152604080832087845290915290206003810154821015610259576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528691908816907fe5a7e9d14be75ee6a3536e3dd982da3f8886e25a773c14f0ae215645479434009060600160405180910390a3505050505050565b3068929eee149b4bd2126854036103205763ab143c066000526004601cfd5b3068929eee149b4bd21268556103388484848461034a565b3868929eee149b4bd212685550505050565b81600003610384576040517ff4f5b73300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091529020805460ff166103ed576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060020154838260030154610402919061098e565b111561043a576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ab91906109a1565b905073ffffffffffffffffffffffffffffffffffffffff81166104fa576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018201548254610100900473ffffffffffffffffffffffffffffffffffffffff16600061052887846109c5565b90508685600301600082825461053e919061098e565b909155505073ffffffffffffffffffffffffffffffffffffffff821661059c57803414610597576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105f6565b34156105d4576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105f673ffffffffffffffffffffffffffffffffffffffff83163386846107b6565b6040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152602482018a9052604482018990528a169063156e29f690606401600060405180830381600087803b15801561066d57600080fd5b505af1158015610681573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff82161580156106a857508015155b156106cd576106cd73ffffffffffffffffffffffffffffffffffffffff85168261081d565b604080518981526020810189905273ffffffffffffffffffffffffffffffffffffffff84811682840152606082018690529151888316923392908d16917f9c329a32f319f0ec31aa909cfb5006aa7c3146e71afa8b4672c01b2d3013ea559181900360800190a4505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b091906109a1565b92915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af1806001600051141661080e57803d873b15171061080e57637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16108395763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff8116811461085f57600080fd5b50565b6000806040838503121561087557600080fd5b82356108808161083d565b946020939093013593505050565b6000806000606084860312156108a357600080fd5b83356108ae8161083d565b95602085013595506040909401359392505050565b600080600080600060a086880312156108db57600080fd5b85356108e68161083d565b94506020860135935060408601356108fd8161083d565b94979396509394606081013594506080013592915050565b6000806000806080858703121561092b57600080fd5b84356109368161083d565b9350602085013592506040850135915060608501356109548161083d565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b0576107b061095f565b6000602082840312156109b357600080fd5b81516109be8161083d565b9392505050565b80820281158282048414176107b0576107b061095f56fea2646970667358221220e32a635a5fde4d6d20147a23497ddde81161ffb51f544c15ebb950c1284f2eb864736f6c634300081c0033";
|
|
16
32
|
export const abxSeedSourceAbi = [{ "type": "function", "name": "seed", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }];
|
|
17
33
|
export const abxSeedSourceBytecode = "0x6080604052348015600f57600080fd5b5061019a8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630b1c2e7214610030575b600080fd5b61004361003e3660046100e1565b610055565b60405190815260200160405180910390f35b60003383834461006660014361012a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b8116602083015260348201959095529290941b90921660548201526068810191909152904060888201524260a882015260c8016040516020818303038152906040528051906020012090505b92915050565b600080604083850312156100f457600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461011f57600080fd5b809150509250929050565b818103818111156100db577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212208bd690ae1228a7de1abfd64fc090e0e5de7506a54a027895d588571cf8851b7764736f6c634300081c0033";
|
|
18
34
|
export const abxParamsLibAbi = [{ "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "hasSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "EmptyParamValue", "inputs": [] }, { "type": "error", "name": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
|
|
19
|
-
export const abxParamsLibBytecode = "0x61300f610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101815760003560e01c8063909206e3116100e2578063aa0de18d11610096578063d84d644611610070578063d84d644614610467578063e1b7938114610487578063f22357011461049a57600080fd5b8063aa0de18d14610421578063c4f2604814610441578063cc1cf5151461045457600080fd5b806392b8e739116100c757806392b8e739146103c15780639a851cec146103e15780639ffefae61461040157600080fd5b8063909206e314610399578063909d716e146103a157600080fd5b806333fe6d141161013957806355580cca1161011e57806355580cca146103435780635b02f81c14610358578063838128171461037957600080fd5b806333fe6d14146102865780633c59f1bb146102a657600080fd5b806313bfffac1161016a57806313bfffac146101ff5780631c31cac3146102465780632ed483001461026657600080fd5b806302d66fc2146101865780630ba2352a146101dd575b600080fd5b6101c86101943660046124d2565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156101e957600080fd5b506101fd6101f836600461255f565b6104c1565b005b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d4565b81801561025257600080fd5b506101fd6102613660046125be565b6105d8565b81801561027257600080fd5b506101fd6102813660046125db565b610666565b81801561029257600080fd5b506101fd6102a13660046125db565b61078b565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016101d4565b61034b610889565b6040516101d49190612682565b61036b610366366004612695565b6108dd565b6040516101d49291906126c1565b81801561038557600080fd5b506101fd6103943660046126f1565b610926565b61034b610b46565b8180156103ad57600080fd5b506101fd6103bc366004612739565b610b94565b8180156103cd57600080fd5b506101fd6103dc366004612778565b610d7d565b8180156103ed57600080fd5b506101fd6103fc3660046127b1565b610f15565b81801561040d57600080fd5b506101fd61041c36600461283c565b6110c6565b81801561042d57600080fd5b506101fd61043c3660046128ee565b611565565b61036b61044f36600461292e565b611685565b61036b61046236600461292e565b6116c0565b81801561047357600080fd5b506101fd610482366004612950565b6116ef565b61034b6104953660046124d2565b61179b565b6104ad6104a83660046124d2565b6117fd565b6040516101d49897969594939291906129fd565b60008290036104fc576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516105d29085906105c29086908690612b1c565b6040518091039020600184610b94565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b60008290036106a1576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161078490869086906107749087908790612b1c565b6040518091039020600185610926565b5050505050565b60006107988686846119d0565b905060078154610100900460ff1660088111156107b7576107b7612986565b141580156107e0575060088154610100900460ff1660088111156107dd576107dd612986565b14155b15610817576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610852576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087486868686604051610867929190612b1c565b6040518091039020611af3565b6108818686868633610666565b505050505050565b60606108d77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610919908585611bd0565b915091505b935093915050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561098557506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156109cc5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f73656564000000000000000000000000000000000000000000000000000000008514610ab5576000868152600482016020908152604080832060058501909252909120610ab5919087611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b60606108d77f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530082158015610be85750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b15610c24576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931692909217179055610cc9600682016007830187611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610df8576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120610e96919085611d0c565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610fa6576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611025600682016007830185611d0c565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b60018860088111156110da576110da612986565b0361111f57600081900361111a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157565b8015611157576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600388600881111561116b5761116b612986565b036111af57828413156111aa576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111f4565b82158015906111bd57508284115b156111f4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600288600681111561120a5761120a612986565b14806112275750600488600681111561122557611225612986565b145b806112435750600588600681111561124157611241612986565b145b8061125f5750600688600681111561125d5761125d612986565b145b905080151573ffffffffffffffffffffffffffffffffffffffff88161515146112b4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805460ff16611330576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010083600881111561136d5761136d612986565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100008360068111156113b0576113b0612986565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8a1602178155600181018790556002810186905561145b600382016000612446565b60005b848110156114b7578160030186868381811061147c5761147c612b2c565b905060200281019061148e9190612b5b565b825460018101845560009384526020909320909201916114ae9183612c88565b5060010161145e565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c6040516114f6989796959493929190612deb565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610f07565b606060006116b47ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585611bd0565b915091505b9250929050565b606060006116b47f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585611bd0565b60006116fc8585846119d0565b905060078154610100900460ff16600881111561171b5761171b612986565b1480611741575060088154610100900460ff16600881111561173f5761173f612986565b145b15611778576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117828184611df5565b61178d858585611af3565b610784858585600033610926565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885304602052604081206060916117f691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b5092915050565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561196a5783829060005260206000200180546118dd90612bef565b80601f016020809104026020016040519081016040528092919081815260200182805461190990612bef565b80156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050815260200190600101906118be565b5050505090509850985098509850985098509850985050919395975091939597565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816119ca5763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff16611a38576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff168015801590611a7357508065ffffffffffff1642115b15611aaa576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab5828685611ffa565b611aeb576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff1680611b365750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b158015611bb257600080fd5b505af1158015611bc6573d6000803e3d6000fd5b5050505050505050565b8254606090808410611bf257604080516000815260208101909152915061091e565b83810383811115611c005750825b8067ffffffffffffffff811115611c1957611c19612bc0565b604051908082528060200260200182016040528015611c42578160200160208202803683370190505b50925060005b81811015611c94578681870181548110611c6457611c64612b2c565b9060005260206000200154848281518110611c8157611c81612b2c565b6020908102919091010152600101611c48565b5050935093915050565b7f7365656400000000000000000000000000000000000000000000000000000000811480611cd9575060008181526020839052604090205415155b15611ce357505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003611d295750505050565b8354818114611d9b57600085611d40600184612f14565b81548110611d5057611d50612b2c565b906000526020600020015490508086600185611d6c9190612f14565b81548110611d7c57611d7c612b2c565b6000918252602080832090910192909255918252859052604090208290555b84805480611dab57611dab612f54565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115611e1457611e14612986565b03611e59576001811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105d2565b6001826008811115611e6d57611e6d612986565b03611eaf5760038401548110611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115611ec357611ec3612986565b03611f055762ffffff811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115611f1957611f19612986565b03611f725760018401548190811280611f355750600285015481135b15611f6c576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506105d2565b6001840154811015611fb0576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590611fc357508082115b15610784576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff16818082600681111561201c5761201c612986565b14806120395750600382600681111561203757612037612986565b145b806120555750600482600681111561205357612053612986565b145b806120715750600682600681111561206f5761206f612986565b145b905080801561209557503373ffffffffffffffffffffffffffffffffffffffff8516145b156120a557600192505050612292565b600060028360068111156120bb576120bb612986565b14806120d8575060048360068111156120d6576120d6612986565b145b806120f4575060058360068111156120f2576120f2612986565b145b806121105750600683600681111561210e5761210e612986565b145b905080801561213c575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b1561214d5760019350505050612292565b6000600184600681111561216357612163612986565b14806121805750600384600681111561217e5761217e612986565b145b8061219c5750600584600681111561219a5761219a612986565b145b806121b8575060068460068111156121b6576121b6612986565b145b90508015612289576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018890526000903090636352211e90602401602060405180830381865afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612f83565b905073ffffffffffffffffffffffffffffffffffffffff8116330361226957600195505050505050612292565b61227433828a612299565b1561228757600195505050505050612292565b505b60009450505050505b9392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806122f6575073ffffffffffffffffffffffffffffffffffffffff81163b155b15612305576000915050612292565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f3687400000000000000000000000000000000000000000000000000000000179052516123cd9190612fa0565b600060405180830381855afa9150503d8060008114612408576040519150601f19603f3d011682016040523d82523d6000602084013e61240d565b606091505b5091509150818015612420575080516020145b801561243b57508080602001905181019061243b9190612fbc565b979650505050505050565b50805460008255906000526020600020908101906124649190612467565b50565b8082111561248457600061247b8282612488565b50600101612467565b5090565b50805461249490612bef565b6000825580601f106124a4575050565b601f01602090049060005260206000209081019061246491905b8082111561248457600081556001016124be565b6000602082840312156124e457600080fd5b5035919050565b60008083601f8401126124fd57600080fd5b50813567ffffffffffffffff81111561251557600080fd5b6020830191508360208285010111156116b957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461246457600080fd5b803561255a8161252d565b919050565b6000806000806060858703121561257557600080fd5b84359350602085013567ffffffffffffffff81111561259357600080fd5b61259f878288016124eb565b90945092505060408501356125b38161252d565b939692955090935050565b6000602082840312156125d057600080fd5b81356122928161252d565b6000806000806000608086880312156125f357600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561261857600080fd5b612624888289016124eb565b90945092505060608601356126388161252d565b809150509295509295909350565b600081518084526020840193506020830160005b8281101561267857815186526020958601959091019060010161265a565b5093949350505050565b6020815260006122926020830184612646565b6000806000606084860312156126aa57600080fd5b505081359360208301359350604090920135919050565b6040815260006126d46040830185612646565b90508260208301529392505050565b801515811461246457600080fd5b600080600080600060a0868803121561270957600080fd5b8535945060208601359350604086013592506060860135612729816126e3565b915060808601356126388161252d565b6000806000806080858703121561274f57600080fd5b84359350602085013592506040850135612768816126e3565b915060608501356125b38161252d565b60008060006060848603121561278d57600080fd5b833592506020840135915060408401356127a68161252d565b809150509250925092565b600080604083850312156127c457600080fd5b8235915060208301356127d68161252d565b809150509250929050565b803565ffffffffffff8116811461255a57600080fd5b60008083601f84011261280957600080fd5b50813567ffffffffffffffff81111561282157600080fd5b6020830191508360208260051b85010111156116b957600080fd5b60008060008060008060008060006101008a8c03121561285b57600080fd5b8935985060208a01356009811061287157600080fd5b975060408a01356007811061288557600080fd5b965061289360608b0161254f565b95506128a160808b016127e1565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff8111156128cb57600080fd5b6128d78c828d016127f7565b915080935050809150509295985092959850929598565b60008060006060848603121561290357600080fd5b833561290e8161252d565b9250602084013561291e8161252d565b915060408401356127a68161252d565b6000806040838503121561294157600080fd5b50508035926020909101359150565b6000806000806080858703121561296657600080fd5b84359350602085013592506040850135915060608501356125b38161252d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600981106129c5576129c5612986565b9052565b600781106129c5576129c5612986565b60005b838110156129f45781810151838201526020016129dc565b50506000910152565b600061010082018a15158352612a16602084018b6129b5565b612a23604084018a6129c9565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015612b09577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee087860301845281518051808752612ac88160208901602085016129d9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169590950160209081019550938401939190910190600101612a81565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b9057600080fd5b83018035915067ffffffffffffffff821115612bab57600080fd5b6020019150368190038213156116b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680612c0357607f821691505b6020821081036108d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115612c8357806000526020600020601f840160051c81016020851015612c635750805b601f840160051c820191505b818110156107845760008155600101612c6f565b505050565b67ffffffffffffffff831115612ca057612ca0612bc0565b612cb483612cae8354612bef565b83612c3c565b6000601f841160018114612d065760008515612cd05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610784565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015612d555786850135825560209485019460019092019101612d35565b5086821015612d90577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e08201612dfb838c6129b5565b612e08602084018b6129c9565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612b09577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008786030184528235818112612ec257600080fd5b890160208101903567ffffffffffffffff811115612edf57600080fd5b803603821315612eee57600080fd5b612ef9878284612da2565b96505050602083019250602084019350600182019150612e85565b81810381811115612f4e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600060208284031215612f9557600080fd5b81516122928161252d565b60008251612fb28184602087016129d9565b9190910192915050565b600060208284031215612fce57600080fd5b8151612292816126e356fea264697066735822122062d27b6977c4261226f9a4b124f1b937cd8df977a426150ba660efec43da26f464736f6c634300081c0033";
|
|
35
|
+
export const abxParamsLibBytecode = "0x6131ed610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101815760003560e01c8063909206e3116100e2578063aa0de18d11610096578063d84d644611610070578063d84d644614610467578063e1b7938114610487578063f22357011461049a57600080fd5b8063aa0de18d14610421578063c4f2604814610441578063cc1cf5151461045457600080fd5b806392b8e739116100c757806392b8e739146103c15780639a851cec146103e15780639ffefae61461040157600080fd5b8063909206e314610399578063909d716e146103a157600080fd5b806333fe6d141161013957806355580cca1161011e57806355580cca146103435780635b02f81c14610358578063838128171461037957600080fd5b806333fe6d14146102865780633c59f1bb146102a657600080fd5b806313bfffac1161016a57806313bfffac146101ff5780631c31cac3146102465780632ed483001461026657600080fd5b806302d66fc2146101865780630ba2352a146101dd575b600080fd5b6101c861019436600461269d565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156101e957600080fd5b506101fd6101f836600461272a565b6104c1565b005b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d4565b81801561025257600080fd5b506101fd610261366004612789565b6105d8565b81801561027257600080fd5b506101fd6102813660046127a6565b610666565b81801561029257600080fd5b506101fd6102a13660046127a6565b61078b565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016101d4565b61034b610889565b6040516101d4919061284d565b61036b610366366004612860565b6108dd565b6040516101d492919061288c565b81801561038557600080fd5b506101fd6103943660046128bc565b610926565b61034b610b46565b8180156103ad57600080fd5b506101fd6103bc366004612904565b610b94565b8180156103cd57600080fd5b506101fd6103dc366004612943565b610d7d565b8180156103ed57600080fd5b506101fd6103fc36600461297c565b610f15565b81801561040d57600080fd5b506101fd61041c366004612a07565b6110c6565b81801561042d57600080fd5b506101fd61043c366004612ab9565b611565565b61036b61044f366004612af9565b611685565b61036b610462366004612af9565b6116c0565b81801561047357600080fd5b506101fd610482366004612b1b565b6116ef565b61034b61049536600461269d565b61179b565b6104ad6104a836600461269d565b6117fd565b6040516101d4989796959493929190612bc8565b60008290036104fc576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516105d29085906105c29086908690612ce7565b6040518091039020600184610b94565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b60008290036106a1576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161078490869086906107749087908790612ce7565b6040518091039020600185610926565b5050505050565b60006107988686846119d0565b905060078154610100900460ff1660088111156107b7576107b7612b51565b141580156107e0575060088154610100900460ff1660088111156107dd576107dd612b51565b14155b15610817576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610852576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087486868686604051610867929190612ce7565b6040518091039020611af3565b6108818686868633610666565b505050505050565b60606108d77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610919908585611bd0565b915091505b935093915050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561098557506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156109cc5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f73656564000000000000000000000000000000000000000000000000000000008514610ab5576000868152600482016020908152604080832060058501909252909120610ab5919087611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b60606108d77f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530082158015610be85750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b15610c24576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931692909217179055610cc9600682016007830187611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610df8576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120610e96919085611d0c565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610fa6576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611025600682016007830185611d0c565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b60018860088111156110da576110da612b51565b0361111f57600081900361111a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157565b8015611157576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600388600881111561116b5761116b612b51565b036111af57828413156111aa576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111f4565b82158015906111bd57508284115b156111f4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600288600681111561120a5761120a612b51565b14806112275750600488600681111561122557611225612b51565b145b806112435750600588600681111561124157611241612b51565b145b8061125f5750600688600681111561125d5761125d612b51565b145b905080151573ffffffffffffffffffffffffffffffffffffffff88161515146112b4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805460ff16611330576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010083600881111561136d5761136d612b51565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100008360068111156113b0576113b0612b51565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8a1602178155600181018790556002810186905561145b600382016000612611565b60005b848110156114b7578160030186868381811061147c5761147c612cf7565b905060200281019061148e9190612d26565b825460018101845560009384526020909320909201916114ae9183612e53565b5060010161145e565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c6040516114f6989796959493929190612fb6565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610f07565b606060006116b47ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585611bd0565b915091505b9250929050565b606060006116b47f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585611bd0565b60006116fc8585846119d0565b905060078154610100900460ff16600881111561171b5761171b612b51565b1480611741575060088154610100900460ff16600881111561173f5761173f612b51565b145b15611778576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117828184611df5565b61178d858585611af3565b610784858585600033610926565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885304602052604081206060916117f691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b5092915050565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561196a5783829060005260206000200180546118dd90612dba565b80601f016020809104026020016040519081016040528092919081815260200182805461190990612dba565b80156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050815260200190600101906118be565b5050505090509850985098509850985098509850985050919395975091939597565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816119ca5763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff16611a38576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff168015801590611a7357508065ffffffffffff1642115b15611aaa576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab5828685611ffa565b611aeb576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff1680611b365750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b158015611bb257600080fd5b505af1158015611bc6573d6000803e3d6000fd5b5050505050505050565b8254606090808410611bf257604080516000815260208101909152915061091e565b83810383811115611c005750825b8067ffffffffffffffff811115611c1957611c19612d8b565b604051908082528060200260200182016040528015611c42578160200160208202803683370190505b50925060005b81811015611c94578681870181548110611c6457611c64612cf7565b9060005260206000200154848281518110611c8157611c81612cf7565b6020908102919091010152600101611c48565b5050935093915050565b7f7365656400000000000000000000000000000000000000000000000000000000811480611cd9575060008181526020839052604090205415155b15611ce357505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003611d295750505050565b8354818114611d9b57600085611d406001846130df565b81548110611d5057611d50612cf7565b906000526020600020015490508086600185611d6c91906130df565b81548110611d7c57611d7c612cf7565b6000918252602080832090910192909255918252859052604090208290555b84805480611dab57611dab613119565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115611e1457611e14612b51565b03611e59576001811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105d2565b6001826008811115611e6d57611e6d612b51565b03611eaf5760038401548110611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115611ec357611ec3612b51565b03611f055762ffffff811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115611f1957611f19612b51565b03611f725760018401548190811280611f355750600285015481135b15611f6c576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506105d2565b6001840154811015611fb0576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590611fc357508082115b15610784576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff16818082600681111561201c5761201c612b51565b14806120395750600382600681111561203757612037612b51565b145b806120555750600482600681111561205357612053612b51565b145b806120715750600682600681111561206f5761206f612b51565b145b905080801561209557503373ffffffffffffffffffffffffffffffffffffffff8516145b156120a5576001925050506121e6565b600060028360068111156120bb576120bb612b51565b14806120d8575060048360068111156120d6576120d6612b51565b145b806120f4575060058360068111156120f2576120f2612b51565b145b806121105750600683600681111561210e5761210e612b51565b145b905080801561213c575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b1561214d57600193505050506121e6565b6000600184600681111561216357612163612b51565b14806121805750600384600681111561217e5761217e612b51565b145b8061219c5750600584600681111561219a5761219a612b51565b145b806121b8575060068460068111156121b6576121b6612b51565b145b90508080156121cb57506121cb876121ed565b156121dd5760019450505050506121e6565b60009450505050505b9392505050565b60008060006121fb84612249565b91509150811561223f5773ffffffffffffffffffffffffffffffffffffffff8116330361222c575060019392505050565b612237338286612352565b949350505050565b61223733856124ff565b6000806000803073ffffffffffffffffffffffffffffffffffffffff16636352211e8660405160240161227e91815260200190565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516122cc9190613148565b600060405180830381855afa9150503d8060008114612307576040519150601f19603f3d011682016040523d82523d6000602084013e61230c565b606091505b509150915081801561231f575080516020145b156123455760018180602001905181019061233a9190613164565b935093505050915091565b5060009485945092505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806123af575073ffffffffffffffffffffffffffffffffffffffff81163b155b156123be5760009150506121e6565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f3687400000000000000000000000000000000000000000000000000000000179052516124869190613148565b600060405180830381855afa9150503d80600081146124c1576040519150601f19603f3d011682016040523d82523d6000602084013e6124c6565b606091505b50915091508180156124d9575080516020145b80156124f45750808060200190518101906124f49190613181565b979650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff84166024820152604480820184905282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167efdd58e0000000000000000000000000000000000000000000000000000000017905290516000918291829130916125949190613148565b600060405180830381855afa9150503d80600081146125cf576040519150601f19603f3d011682016040523d82523d6000602084013e6125d4565b606091505b50915091508180156125e7575080516020145b80156126065750600081806020019051810190612604919061319e565b115b925050505b92915050565b508054600082559060005260206000209081019061262f9190612632565b50565b8082111561264f5760006126468282612653565b50600101612632565b5090565b50805461265f90612dba565b6000825580601f1061266f575050565b601f01602090049060005260206000209081019061262f91905b8082111561264f5760008155600101612689565b6000602082840312156126af57600080fd5b5035919050565b60008083601f8401126126c857600080fd5b50813567ffffffffffffffff8111156126e057600080fd5b6020830191508360208285010111156116b957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461262f57600080fd5b8035612725816126f8565b919050565b6000806000806060858703121561274057600080fd5b84359350602085013567ffffffffffffffff81111561275e57600080fd5b61276a878288016126b6565b909450925050604085013561277e816126f8565b939692955090935050565b60006020828403121561279b57600080fd5b81356121e6816126f8565b6000806000806000608086880312156127be57600080fd5b8535945060208601359350604086013567ffffffffffffffff8111156127e357600080fd5b6127ef888289016126b6565b9094509250506060860135612803816126f8565b809150509295509295909350565b600081518084526020840193506020830160005b82811015612843578151865260209586019590910190600101612825565b5093949350505050565b6020815260006121e66020830184612811565b60008060006060848603121561287557600080fd5b505081359360208301359350604090920135919050565b60408152600061289f6040830185612811565b90508260208301529392505050565b801515811461262f57600080fd5b600080600080600060a086880312156128d457600080fd5b85359450602086013593506040860135925060608601356128f4816128ae565b91506080860135612803816126f8565b6000806000806080858703121561291a57600080fd5b84359350602085013592506040850135612933816128ae565b9150606085013561277e816126f8565b60008060006060848603121561295857600080fd5b83359250602084013591506040840135612971816126f8565b809150509250925092565b6000806040838503121561298f57600080fd5b8235915060208301356129a1816126f8565b809150509250929050565b803565ffffffffffff8116811461272557600080fd5b60008083601f8401126129d457600080fd5b50813567ffffffffffffffff8111156129ec57600080fd5b6020830191508360208260051b85010111156116b957600080fd5b60008060008060008060008060006101008a8c031215612a2657600080fd5b8935985060208a013560098110612a3c57600080fd5b975060408a013560078110612a5057600080fd5b9650612a5e60608b0161271a565b9550612a6c60808b016129ac565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff811115612a9657600080fd5b612aa28c828d016129c2565b915080935050809150509295985092959850929598565b600080600060608486031215612ace57600080fd5b8335612ad9816126f8565b92506020840135612ae9816126f8565b91506040840135612971816126f8565b60008060408385031215612b0c57600080fd5b50508035926020909101359150565b60008060008060808587031215612b3157600080fd5b843593506020850135925060408501359150606085013561277e816126f8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60098110612b9057612b90612b51565b9052565b60078110612b9057612b90612b51565b60005b83811015612bbf578181015183820152602001612ba7565b50506000910152565b600061010082018a15158352612be1602084018b612b80565b612bee604084018a612b94565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015612cd4577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee087860301845281518051808752612c93816020890160208501612ba4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169590950160209081019550938401939190910190600101612c4c565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612d5b57600080fd5b83018035915067ffffffffffffffff821115612d7657600080fd5b6020019150368190038213156116b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680612dce57607f821691505b6020821081036108d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115612e4e57806000526020600020601f840160051c81016020851015612e2e5750805b601f840160051c820191505b818110156107845760008155600101612e3a565b505050565b67ffffffffffffffff831115612e6b57612e6b612d8b565b612e7f83612e798354612dba565b83612e07565b6000601f841160018114612ed15760008515612e9b5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610784565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015612f205786850135825560209485019460019092019101612f00565b5086821015612f5b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e08201612fc6838c612b80565b612fd3602084018b612b94565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612cd4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00878603018452823581811261308d57600080fd5b890160208101903567ffffffffffffffff8111156130aa57600080fd5b8036038213156130b957600080fd5b6130c4878284612f6d565b96505050602083019250602084019350600182019150613050565b8181038181111561260b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000825161315a818460208701612ba4565b9190910192915050565b60006020828403121561317657600080fd5b81516121e6816126f8565b60006020828403121561319357600080fd5b81516121e6816128ae565b6000602082840312156131b057600080fd5b505191905056fea26469706673582212200e2ee385bc740d2a79d97b518599c7c9467768043c4516a60cf6f4992250299d64736f6c634300081c0033";
|
|
20
36
|
export const abxCodeLibAbi = [{ "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DependenciesAreLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyDependencyRef", "inputs": [] }, { "type": "error", "name": "EmptyScriptChunk", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "ScriptIsLocked", "inputs": [] }];
|
|
21
37
|
export const abxCodeLibBytecode = "0x610dec610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80639a5db503116100655780639a5db503146100e35780639aa1a1f0146100f8578063b478424714610118578063dc9838791461012d57600080fd5b806325628d341461008c5780636b40ee45146100a357806396f4205a146100c3575b600080fd5b81801561009857600080fd5b506100a1610142565b005b8180156100af57600080fd5b506100a16100be366004610ba7565b6102cb565b8180156100cf57600080fd5b506100a16100de366004610be3565b610502565b8180156100ef57600080fd5b506100a161060a565b81801561010457600080fd5b506100a1610113366004610c20565b6106e2565b81801561012457600080fd5b506100a1610910565b81801561013957600080fd5b506100a1610a60565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156101d8576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610215576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815482908061022657610226610c9e565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd89906102b69083610ccd565b60405190815260200160405180910390a15050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610361576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610398576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156103d3576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180604001604052808560018111156103f2576103f2610d0d565b60ff1681526020018490528254909150850361045e578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9094169390931783558301519101556104c1565b8082600001868154811061047457610474610d3c565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be886866040516104f3929190610d6b565b60405180910390a25050505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610598576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a25050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610688576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610760576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082900361079b576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156107d6576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061081784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b6392505050565b825490915085036108775781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556108d6565b8082600001868154811061088d5761088d610d3c565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a15050505050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff161561098e576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036109cb576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806109dc576109dc610c9e565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86102b6600183610ccd565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610af6576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f0915081610ba15763301164256000526004601cfd5b90915290565b600080600060608486031215610bbc57600080fd5b83359250602084013560028110610bd257600080fd5b929592945050506040919091013590565b600060208284031215610bf557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610c1957600080fd5b9392505050565b600080600060408486031215610c3557600080fd5b83359250602084013567ffffffffffffffff811115610c5357600080fd5b8401601f81018613610c6457600080fd5b803567ffffffffffffffff811115610c7b57600080fd5b866020828401011115610c8d57600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b81810381811115610d07577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8281526040810160028310610da9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b826020830152939250505056fea2646970667358221220bc9d39b8fcd0299061fc38ce10548c7a0ccc1f5c94b148fec87c34d225bdd01964736f6c634300081c0033";
|
|
22
38
|
export const abxFixedPriceMinterAbi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }];
|