[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccountBalanceOverflow", "type": "error" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "ExceedsMaxBPS", "type": "error" }, { "inputs": [], "name": "ExceedsMaxNumberMinted", "type": "error" }, { "inputs": [], "name": "ExceedsMaxRecipients", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidLifeCycleStatus", "type": "error" }, { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, { "inputs": [], "name": "InvalidNumberOfDays", "type": "error" }, { "inputs": [], "name": "InvalidOwner", "type": "error" }, { "inputs": [], "name": "InvalidTierId", "type": "error" }, { "inputs": [], "name": "InvalidTimeToInitialize", "type": "error" }, { "inputs": [], "name": "InvalidTimeToUpdate", "type": "error" }, { "inputs": [], "name": "InvalidTimestamp", "type": "error" }, { "inputs": [], "name": "MintIsNotActive", "type": "error" }, { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, { "inputs": [], "name": "NotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "Paused", "type": "error" }, { "inputs": [], "name": "RoyaltyOverflow", "type": "error" }, { "inputs": [], "name": "RoyaltyReceiverIsZeroAddress", "type": "error" }, { "inputs": [], "name": "TokenAlreadyExists", "type": "error" }, { "inputs": [], "name": "TokenDoesNotExist", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "UnableToUpdate", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [], "name": "UnauthorizedForwarder", "type": "error" }, { "inputs": [], "name": "UndefinedFee", "type": "error" }, { "inputs": [], "name": "UndefinedLifeCycle", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isApproved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" } ], "name": "BatchMetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "atTimestamp", "type": "uint256" } ], "name": "EndOfLifeCycleSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "atTimestamp", "type": "uint256" } ], "name": "LifeCycleIsFinished", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "atTimestamp", "type": "uint256" } ], "name": "LifeCycleIsLive", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "atTimestamp", "type": "uint256" } ], "name": "LifeCycleIsPaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "atTimestamp", "type": "uint256" } ], "name": "LifeCycleIsUnpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "totalSeconds", "type": "uint256" } ], "name": "LifeCycleUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierIsOwned", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "tierToMint", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "discountedMintFee", "type": "uint256" } ], "name": "MintFeeForGenesisOwnerUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "mintFee", "type": "uint256" } ], "name": "MintFeeUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "state", "type": "bool" } ], "name": "MintStatusUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "RolesUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "StartOfLifeCycleUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": false, "internalType": "string", "name": "description", "type": "string" }, { "indexed": false, "internalType": "string", "name": "tierName", "type": "string" }, { "indexed": false, "internalType": "string[2]", "name": "images", "type": "string[2]" }, { "indexed": false, "internalType": "string[2]", "name": "animationURLs", "type": "string[2]" } ], "name": "TierDataURIUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "atTimeStamp", "type": "uint256" } ], "name": "TierSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "TokenLifeCycleFeeUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "currentTimeStamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "currentLifeCycle", "type": "uint256" } ], "name": "TokenLifeCycleUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldValidator", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newValidator", "type": "address" } ], "name": "TransferValidatorUpdated", "type": "event" }, { "inputs": [ { "internalType": "address[]", "name": "recipients", "type": "address[]" }, { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "airdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancelOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "completeOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "internalType": "uint256", "name": "toTokenId", "type": "uint256" } ], "name": "emitMetadataUpdate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "endOfLifeCycle", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "endOfLifeCycleToken", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "finishLifeCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "genesisPublicMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTransferValidationFunction", "outputs": [ { "internalType": "bytes4", "name": "functionSignature", "type": "bytes4" }, { "internalType": "bool", "name": "isViewFunction", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getTransferValidator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "grantRoles", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "hasAllRoles", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "hasAnyRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "result", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isItPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "isMintActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "isTierOwned", "outputs": [ { "internalType": "bool", "name": "result", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "name": "isTrustedForwarder", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "lifeCycle", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "lifeCycleStatus", "outputs": [ { "internalType": "enum TierLifeCycle.LifeCycleStatus", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "lifeCycleToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "mintFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "mintFeeForTierOneOwner", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "mintFeeForTierTwoOwner", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "mintTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "numberMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "ownershipHandoverExpiresAt", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "pauseLifeCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "pauseOfLifeCycle", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "publicMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "renounceRoles", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "requestOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "resetDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resetTransferValidator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resetTrustedForwarder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "revokeRoles", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "rolesOf", "outputs": [ { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "isApproved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint96", "name": "feeNumerator", "type": "uint96" } ], "name": "setDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "setEndOfLifeCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "uint256", "name": "numberOfMinutes", "type": "uint256" } ], "name": "setLifeCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "setLifeCycleToLive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "bytes32", "name": "root", "type": "bytes32" } ], "name": "setMerkleRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "setMintFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierToMint", "type": "uint256" }, { "internalType": "uint256", "name": "totalDiscount", "type": "uint256" } ], "name": "setMintFeeForTierOneOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierToMint", "type": "uint256" }, { "internalType": "uint256", "name": "totalDiscount", "type": "uint256" } ], "name": "setMintFeeForTierTwoOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "setMintStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setPausedStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "setStartOfLifeCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "tierName", "type": "string" }, { "internalType": "string[2]", "name": "images", "type": "string[2]" }, { "internalType": "string[2]", "name": "animationURLs", "type": "string[2]" } ], "name": "setTierDataURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "validator", "type": "address" } ], "name": "setTransferValidator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "name": "setTrustedForwarder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "setUpdateFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "setWithdrawalAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "startOfLifeCycle", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "startOfLifeCycleToken", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "result", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "tierDataURI", "outputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "tierName", "type": "string" }, { "internalType": "string[2]", "name": "images", "type": "string[2]" }, { "internalType": "string[2]", "name": "animationURLs", "type": "string[2]" } ], "internalType": "struct ERC721TLCDataURI.DataURI", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tierId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "tiersOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenStatus", "outputs": [ { "internalType": "string", "name": "result", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "tokensOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "trustedForwarder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "unpauseLifeCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" } ], "name": "updateFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "updateTokenFee", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "updateTokenLifeCycle", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tierId", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "whitelistMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawalAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
608060405234801561001057600080fd5b506040518060400160405280600e81526020016d0455243373231544c432044726f760941b8152506040518060400160405280600b81526020016a0373231544c435f44524f560ac1b815250816003908161006b9190610273565b5060046100788282610273565b5050600160025550610089326100f0565b6100a673a000027a9b2802e1ddf7000061001e5c005a000061012c565b6100c573fa98afe34d343d0e63c4c801ebce01d9d4459eca6019610187565b600c80546001600160a01b03191673fa98afe34d343d0e63c4c801ebce01d9d4459eca179055610332565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600780546001600160a01b0319166001600160a01b0383169081179091556040805182815260208101929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac910160405180910390a150565b6001600160601b0316612710808211156101a95763350a88b36000526004601cfd5b8260601b806101c05763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806101fc57607f821691505b60208210810361021c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561026e576000816000526020600020601f850160051c8101602086101561024b5750805b601f850160051c820191505b8181101561026a57828155600101610257565b5050505b505050565b81516001600160401b0381111561028c5761028c6101d2565b6102a08161029a84546101e8565b84610222565b602080601f8311600181146102d557600084156102bd5750858301515b600019600386901b1c1916600185901b17855561026a565b600085815260208120601f198616915b82811015610304578886015182559484019460019091019084016102e5565b50858210156103225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b615bc4806103416000396000f3fe6080604052600436106104cb5760003560e01c806387391b2f11610276578063c204642c1161014f578063e1baf3af116100c1578063f04e283e11610085578063f04e283e14610efa578063f2bcd02214610f0d578063f2fde38b14610f2d578063f72054c614610f40578063f75fb10414610f60578063fee81cf414610f8057600080fd5b8063e1baf3af14610e5c578063e985e9c514610e7c578063eb50411e14610eb2578063ee437dae14610ec5578063eeddb65614610eda57600080fd5b8063d2cab05611610113578063d2cab05614610dbf578063d564b04e14610dd2578063d944ad2614610de7578063da74222814610dfc578063dc6f5ecb14610e1c578063ddff681014610e3c57600080fd5b8063c204642c14610d2a578063c71f6c1d14610d4a578063c87b56dd14610d6a578063cab1dfa614610d8a578063cca29e7114610d9f57600080fd5b80639d5c8d44116101e8578063aad3ec96116101ac578063aad3ec9614610c77578063af14aa9314610c97578063b01ce31f14610cb7578063b0cb054914610cd7578063b88d4fde14610cf7578063bea3c0b514610d0a57600080fd5b80639d5c8d4414610ba7578063a0f8ae4714610bd4578063a22cb46514610c17578063a486a60014610c37578063a9fc664e14610c5757600080fd5b8063937fdb731161023a578063937fdb7314610ad5578063941c73f214610af557806395d89b4114610b1557806395eac10c14610b2a57806398c9a24314610b675780639be021a114610b8757600080fd5b806387391b2f14610a3c578063887fee3114610a5c5780638a35ace314610a7c5780638da5cb5b14610a9c5780639012c4a814610ab557600080fd5b806335081f3e116103a85780635e95210a1161031a5780636ca2728c116102de5780636ca2728c1461098957806370a08231146109a9578063715018a6146109c95780637755da0c146109d15780637da0a877146109f15780638462151c14610a0f57600080fd5b80635e95210a146108f6578063630d7658146109095780636352211e1461092957806369fa0647146109495780636ba335cc1461096957600080fd5b80634a4ee7b11161036c5780634a4ee7b11461084f578063514e62fc146108625780635231968c1461089957806354d1f13d146108b9578063572b6c05146108c157806357df6ca3146108e157600080fd5b806335081f3e146107ba5780633c70b357146107da5780633ccfd60b1461080757806342842e0e1461081c578063449a52f81461082f57600080fd5b806318712c211161044157806323b1a7ce1161040557806323b1a7ce146106fa57806323b872dd1461071a578063256929621461072d5780632a55205a146107355780632db11544146107745780632de948071461078757600080fd5b806318712c21146106505780631989b05b146106705780631c10893f146106905780631cd64df4146106a357806321b8092e146106da57600080fd5b8063081812fc11610493578063081812fc14610597578063095ea7b3146105cf578063098144d4146105e25780630d705df61461060057806318160ddd14610628578063183a4f6e1461063d57600080fd5b806301ffc9a7146104d057806304634d8d14610505578063047dfbe8146105275780630637c8311461055557806306fdde0314610575575b600080fd5b3480156104dc57600080fd5b506104f06104eb366004614eab565b610fb3565b60405190151581526020015b60405180910390f35b34801561051157600080fd5b50610525610520366004614eec565b610ff9565b005b34801561053357600080fd5b50610547610542366004614f2f565b611013565b6040519081526020016104fc565b34801561056157600080fd5b50610525610570366004614f48565b611042565b34801561058157600080fd5b5061058a6110af565b6040516104fc9190614fba565b3480156105a357600080fd5b506105b76105b2366004614f2f565b611141565b6040516001600160a01b0390911681526020016104fc565b6105256105dd366004614fcd565b611180565b3480156105ee57600080fd5b506007546001600160a01b03166105b7565b34801561060c57600080fd5b506040805163657711f560e11b815260016020820152016104fc565b34801561063457600080fd5b5061054761118f565b61052561064b366004614f2f565b6111a9565b34801561065c57600080fd5b5061052561066b366004614f48565b6111b6565b34801561067c57600080fd5b5061052561068b366004614f48565b6111fa565b61052561069e366004614fcd565b61127f565b3480156106af57600080fd5b506104f06106be366004614fcd565b638b78c6d8600c90815260009290925260209091205481161490565b3480156106e657600080fd5b506105256106f5366004614ff7565b611291565b34801561070657600080fd5b50610525610715366004614f48565b6112b7565b610525610728366004615012565b611327565b610525611432565b34801561074157600080fd5b50610755610750366004614f48565b611481565b604080516001600160a01b0390931683526020830191909152016104fc565b610525610782366004614f2f565b6114d6565b34801561079357600080fd5b506105476107a2366004614ff7565b638b78c6d8600c908152600091909152602090205490565b3480156107c657600080fd5b506105476107d5366004614f2f565b611574565b3480156107e657600080fd5b506105476107f5366004614f2f565b6000908152600a602052604090205490565b34801561081357600080fd5b506105256115b2565b61052561082a366004615012565b6115d5565b34801561083b57600080fd5b5061052561084a366004614fcd565b611602565b61052561085d366004614fcd565b611698565b34801561086e57600080fd5b506104f061087d366004614fcd565b638b78c6d8600c90815260009290925260209091205416151590565b3480156108a557600080fd5b506105256108b4366004614f48565b6116aa565b61052561172d565b3480156108cd57600080fd5b506104f06108dc366004614ff7565b611769565b3480156108ed57600080fd5b506104f0611798565b610525610904366004614f2f565b6117c9565b34801561091557600080fd5b506104f0610924366004614fcd565b61182a565b34801561093557600080fd5b506105b7610944366004614f2f565b611854565b34801561095557600080fd5b506104f0610964366004614f2f565b611892565b34801561097557600080fd5b50610525610984366004614f2f565b6118b3565b34801561099557600080fd5b506105476109a4366004614f2f565b61190c565b3480156109b557600080fd5b506105476109c4366004614ff7565b611932565b61052561196d565b3480156109dd57600080fd5b506105256109ec366004614f48565b61197f565b3480156109fd57600080fd5b506008546001600160a01b03166105b7565b348015610a1b57600080fd5b50610a2f610a2a366004614ff7565b6119c6565b6040516104fc919061504e565b348015610a4857600080fd5b50610525610a57366004614f48565b611a98565b348015610a6857600080fd5b50610525610a77366004614f2f565b611adf565b348015610a8857600080fd5b50610547610a97366004614f2f565b611b93565b348015610aa857600080fd5b50638b78c6d819546105b7565b348015610ac157600080fd5b50610547610ad0366004614f2f565b611ba3565b348015610ae157600080fd5b50610547610af0366004614f2f565b611bc5565b348015610b0157600080fd5b50610525610b10366004614f48565b611bd0565b348015610b2157600080fd5b5061058a611c17565b348015610b3657600080fd5b50610b5a610b45366004614f2f565b60009081526020819052604090205460ff1690565b6040516104fc91906150a8565b348015610b7357600080fd5b50610525610b82366004614f48565b611c26565b348015610b9357600080fd5b50610525610ba2366004615129565b611c3b565b348015610bb357600080fd5b50610bc7610bc2366004614f2f565b611d41565b6040516104fc9190615258565b348015610be057600080fd5b50610547610bef366004614fcd565b6001600160a01b03919091166000908152600960209081526040808320938352929052205490565b348015610c2357600080fd5b50610525610c323660046152f3565b6120a5565b348015610c4357600080fd5b50610547610c52366004614f2f565b6120fb565b348015610c6357600080fd5b50610525610c72366004614ff7565b612112565b348015610c8357600080fd5b50610525610c92366004614fcd565b612126565b348015610ca357600080fd5b50610525610cb2366004614f2f565b6121c7565b348015610cc357600080fd5b5061058a610cd2366004614f2f565b612224565b348015610ce357600080fd5b50610547610cf2366004614f2f565b6122b0565b610525610d05366004615324565b6122c0565b348015610d1657600080fd5b50610525610d25366004614f48565b612314565b348015610d3657600080fd5b50610525610d453660046153d6565b61235b565b348015610d5657600080fd5b50610525610d65366004614f2f565b612465565b348015610d7657600080fd5b5061058a610d85366004614f2f565b6124b6565b348015610d9657600080fd5b50610525612632565b348015610dab57600080fd5b50610547610dba366004614f2f565b612652565b610525610dcd366004615421565b6127e8565b348015610dde57600080fd5b5061052561289a565b348015610df357600080fd5b506105256128d5565b348015610e0857600080fd5b50610525610e17366004614ff7565b6128e8565b348015610e2857600080fd5b50610547610e37366004614f2f565b612912565b348015610e4857600080fd5b50610547610e57366004614f2f565b612a44565b348015610e6857600080fd5b50610a2f610e77366004614ff7565b612b63565b348015610e8857600080fd5b506104f0610e9736600461546c565b601c52670a5a2e7a000000006008526000526030600c205490565b610525610ec0366004614f2f565b612c14565b348015610ed157600080fd5b50610525612ca9565b348015610ee657600080fd5b50610547610ef5366004614f2f565b612cc6565b610525610f08366004614ff7565b612ce3565b348015610f1957600080fd5b50600c546105b7906001600160a01b031681565b610525610f3b366004614ff7565b612d20565b348015610f4c57600080fd5b50610547610f5b366004614f2f565b612d47565b348015610f6c57600080fd5b50610547610f7b366004614f2f565b612d6d565b348015610f8c57600080fd5b50610547610f9b366004614ff7565b63389a75e1600c908152600091909152602090205490565b600063152a902d60e11b6001600160e01b031983161480610fe45750632b435fdb60e21b6001600160e01b03198316145b80610ff35750610ff382612d8e565b92915050565b600261100481612dd0565b61100e8383612e03565b505050565b6006600a820181810460009081526001602052604081205490929091066028021c5b64ffffffffff1692915050565b818060000361105b5761105b63907e751560e01b612e4e565b600a8111156110745761107463907e751560e01b612e4e565b600261107f81612dd0565b61108884611ba3565b60000361109f5761109f635a7a35a360e01b612e4e565b6110a98484612e58565b50505050565b6060600380546110be9061549f565b80601f01602080910402602001604051908101604052809291908181526020018280546110ea9061549f565b80156111375780601f1061110c57610100808354040283529160200191611137565b820191906000526020600020905b81548152906001019060200180831161111a57829003601f168201915b5050505050905090565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6111765763ceea21b66000526004601cfd5b6001015492915050565b61118b338383613033565b5050565b60006111a460025461119f600190565b900390565b905090565b6111b333826130d4565b50565b8160018110806111c65750600281115b156111db576111db63907e751560e01b612e4e565b60016111e681612dd0565b50506000918252600a602052604090912055565b81600381108061120a5750600781115b1561121f5761121f63907e751560e01b612e4e565b600161122a81612dd0565b600061123685856130e0565b90506112486005600f87015b83613153565b808560017f2de1deccd0d06349ac773396e6aeaaf00de02d0332bb1b990e5cc1994087551060405160405180910390a45050505050565b61128761318a565b61118b82826131a5565b61129961318a565b600c80546001600160a01b0319166001600160a01b03831617905550565b60016112c281612dd0565b60018310806112d15750600783115b156112e6576112e663907e751560e01b612e4e565b6112f56005600a850184613153565b604051829084907f06255fba5f99bcc77a5d27ee1222dd110e196ad4cfba488e1fceccbec8dedc6890600090a3505050565b6113328383836131b1565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026113845767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176113b2576030600c20546113b257634b6e7f186000526004601cfd5b82156113c057600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026114035767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836114b5576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b8060038110806114e65750600781115b156114fb576114fb63907e751560e01b612e4e565b8161150581612d6d565b60000361151c5761151c63e1e6c49960e01b612e4e565b8261152681611892565b61153a5761153a63fbfb610360e01b612e4e565b611542611798565b15611557576115576313d0ff5960e31b612e4e565b6115613385613257565b61156a846132be565b6110a933856132dd565b60006115a36005600f84015b600181901c600090815260209290925260409091205460079190911b6080161c90565b6001600160801b031692915050565b6115ba61318a565b600c546115d3906001600160a01b03166203345061333b565b565b6115e0838383611327565b813b1561100e5761100e83838360405180602001604052806000815250613365565b808060000361161b5761161b63907e751560e01b612e4e565b600a8111156116345761163463907e751560e01b612e4e565b8161163e81612d6d565b6000036116555761165563e1e6c49960e01b612e4e565b6001611660816133e9565b611668611798565b1561167d5761167d6313d0ff5960e31b612e4e565b6116878585613257565b61169185856132dd565b5050505050565b6116a061318a565b61118b82826130d4565b8160038110806116ba5750600781115b156116cf576116cf63907e751560e01b612e4e565b60016116da81612dd0565b60006116e685856130e0565b90506116f6600560148701611242565b808560027f2de1deccd0d06349ac773396e6aeaaf00de02d0332bb1b990e5cc1994087551060405160405180910390a45050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600061177d6008546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b60008052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765460011690565b806117d381611854565b6001600160a01b0316336001600160a01b0316146117fb576117fb6349e27cff60e01b612e4e565b611803611798565b15611818576118186313d0ff5960e31b612e4e565b6118218261341c565b61118b82613528565b60008061183684612b63565b9050611841816135e0565b61184b8184613784565b50949350505050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b03168061188d5763ceea21b66000526004601cfd5b919050565b600881901c6000908152600b602052604081205460ff83161c600116610ff3565b80806000036118cc576118cc63907e751560e01b612e4e565b600a8111156118e5576118e563907e751560e01b612e4e565b60026118f081612dd0565b6118f98361379e565b61100e60015b61190761118f565b613834565b6006601e820181810460009081526001602052604081205490929091066028021c611035565b60008161194757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61197561318a565b6115d360006138a9565b81806000036119985761199863907e751560e01b612e4e565b600a8111156119b1576119b163907e751560e01b612e4e565b60026119bc81612dd0565b6110a984846138e7565b606060006119d383611932565b90506000816001600160401b038111156119ef576119ef6154d3565b604051908082528060200260200182016040528015611a18578160200160208202803683370190505b509050600060015b83821015611a8e57611a31816139ea565b8015611a565750856001600160a01b0316611a4b82611854565b6001600160a01b0316145b15611a8657808383611a67816154ff565b945081518110611a7957611a79615518565b6020026020010181815250505b600101611a20565b5090949350505050565b8180600003611ab157611ab163907e751560e01b612e4e565b600a811115611aca57611aca63907e751560e01b612e4e565b6002611ad581612dd0565b6110a98484613a0e565b8080600003611af857611af863907e751560e01b612e4e565b600a811115611b1157611b1163907e751560e01b612e4e565b6001611b1c81612dd0565b6000611b2784611892565b611b3357506001611b37565b5060005b600b6020908152600885901c60009081526040908190208054600160ff89161b18905551821515815285917f84b25fa3b33a853925f81a1a723eceeaf2079ce5dac7e75a85da6e59ab5f4596910160405180910390a250505050565b60006115a36005600a8401611580565b600181901c600090815260056020526040812054600783901b6080161c6115a3565b6000610ff382613c53565b8180600003611be957611be963907e751560e01b612e4e565b600a811115611c0257611c0263907e751560e01b612e4e565b6001611c0d81612dd0565b6110a98484613c70565b6060600480546110be9061549f565b6002611c31816133e9565b61100e8383613834565b8880600003611c5457611c5463907e751560e01b612e4e565b600a811115611c6d57611c6d63907e751560e01b612e4e565b6002611c7881612dd0565b611d348b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092019190915250611d2692508b91506155869050565b611d2f89615586565b613d78565b5050505050505050505050565b611d49614d9a565b60008281526006602052604090819020815160a08101909252805482908290611d719061549f565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9d9061549f565b8015611dea5780601f10611dbf57610100808354040283529160200191611dea565b820191906000526020600020905b815481529060010190602001808311611dcd57829003601f168201915b50505050508152602001600182018054611e039061549f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e2f9061549f565b8015611e7c5780601f10611e5157610100808354040283529160200191611e7c565b820191906000526020600020905b815481529060010190602001808311611e5f57829003601f168201915b50505050508152602001600282018054611e959061549f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ec19061549f565b8015611f0e5780601f10611ee357610100808354040283529160200191611f0e565b820191906000526020600020905b815481529060010190602001808311611ef157829003601f168201915b5050509183525050604080518082019091526020909101906003830160026000835b82821015611fd3578382018054611f469061549f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f729061549f565b8015611fbf5780601f10611f9457610100808354040283529160200191611fbf565b820191906000526020600020905b815481529060010190602001808311611fa257829003601f168201915b505050505081526020019060010190611f30565b50505090825250604080518082019091526020909101906005830160026000835b8282101561209757838201805461200a9061549f565b80601f01602080910402602001604051908101604052809291908181526020018280546120369061549f565b80156120835780601f1061205857610100808354040283529160200191612083565b820191906000526020600020905b81548152906001019060200180831161206657829003601f168201915b505050505081526020019060010190611ff4565b505050915250909392505050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b60008061210783613e6e565b61ffff169392505050565b600261211d81612dd0565b61118b82613e90565b8061213081612d6d565b6000036121475761214763e1e6c49960e01b612e4e565b6008546001600160a01b031633146121725760405163d79e123d60e01b815260040160405180910390fd5b61217a611798565b1561218f5761218f6313d0ff5960e31b612e4e565b600882108061219e5750600a82115b156121b3576121b363907e751560e01b612e4e565b6121bd8383613257565b61100e83836132dd565b80806000036121e0576121e063907e751560e01b612e4e565b600a8111156121f9576121f963907e751560e01b612e4e565b600261220481612dd0565b61220d83613eeb565b61221561118f565b1561100e5761100e60016118ff565b606061222f826139ea565b6122435761224363677510db60e11b612e4e565b600061224e83613f8c565b90508060000361227c57505060408051808201909152600681526541637469766560d01b6020820152919050565b806001036122aa575050604080518082019091526008815267496e61637469766560c01b6020820152919050565b50919050565b60006115a3600560148401611580565b6122cb858585611327565b833b156116915761169185858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061336592505050565b818060000361232d5761232d63907e751560e01b612e4e565b600a8111156123465761234663907e751560e01b612e4e565b600261235181612dd0565b6110a98484613ff2565b80806000036123745761237463907e751560e01b612e4e565b600a81111561238d5761238d63907e751560e01b612e4e565b8161239781612d6d565b6000036123ae576123ae63e1e6c49960e01b612e4e565b60016123b9816133e9565b6123c1611798565b156123d6576123d66313d0ff5960e31b612e4e565b60148511156123ef576123ef6302253e6160e61b612e4e565b60005b61242287878381811061240757612407615518565b905060200201602081019061241c9190614ff7565b86613257565b61245287878381811061243757612437615518565b905060200201602081019061244c9190614ff7565b866132dd565b6001018581106123f25750505050505050565b808060000361247e5761247e63907e751560e01b612e4e565b600a8111156124975761249763907e751560e01b612e4e565b60026124a281612dd0565b6124ab836140ea565b6118f9836000613c70565b60606124c1826139ea565b6124d5576124d563677510db60e11b612e4e565b60006124e0836120fb565b9050600360008281526020819052604090205460ff16600681111561250757612507615092565b14801561251c575061251881611013565b4210155b8061255c5750600460008281526020819052604090205460ff16600681111561254757612547615092565b14801561255c575061255881612d47565b4211155b8061259c5750600560008281526020819052604090205460ff16600681111561258757612587615092565b14801561259c57506125988161190c565b4211155b1561260c576125e56125ad846142fa565b6125b6856143a7565b6125bf866143f1565b6040516020016125d19392919061563c565b6040516020818303038152906040526144c7565b6040516020016125f5919061568e565b604051602081830303815290604052915050919050565b6125e5612618846142fa565b612621856143a7565b6040516020016125d19291906156d3565b600161263d816133e9565b6111b3600880546001600160a01b0319169055565b600061265d826139ea565b6126715761267163677510db60e11b612e4e565b600061267c836120fb565b9050600360008281526020819052604090205460ff1660068111156126a3576126a3615092565b036126b8576126b181611ba3565b9392505050565b600460008281526020819052604090205460ff1660068111156126dd576126dd615092565b0361276a576126eb81612d47565b42116127615760006127056126ff83612d47565b42900390565b905061271082612d6d565b81106127275761271f82611ba3565b949350505050565b61273082612d6d565b8110156127495761271f8261274484612d47565b6144d5565b8060000361275b575060009392505050565b506122aa565b50600092915050565b600560008281526020819052604090205460ff16600681111561278f5761278f615092565b036127615761279d8161190c565b42116127615760006127b16126ff8361190c565b90506127bc82612d6d565b81106127cb5761271f82611ba3565b6127d482612d6d565b8110156127495761271f826127448461190c565b8260018110806127f85750600281115b1561280d5761280d63907e751560e01b612e4e565b8361281781612d6d565b60000361282e5761282e63e1e6c49960e01b612e4e565b8461283881611892565b61284c5761284c63fbfb610360e01b612e4e565b612854611798565b15612869576128696313d0ff5960e31b612e4e565b6128733387613257565b61287f33878787614500565b612888866132be565b61289233876132dd565b505050505050565b6128a261318a565b600b602052600080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7680546001189055565b60026128e081612dd0565b6111b361458c565b60016128f3816133e9565b600880546001600160a01b0319166001600160a01b0384161790555050565b600061291d826139ea565b6129315761293163677510db60e11b612e4e565b600061293c836120fb565b9050612947836145d7565b50600360008281526020819052604090205460ff16600681111561296d5761296d615092565b148015612982575061297e81611013565b4210155b806129c25750600460008281526020819052604090205460ff1660068111156129ad576129ad615092565b1480156129c257506129be81612d47565b4211155b80612a025750600560008281526020819052604090205460ff1660068111156129ed576129ed615092565b148015612a0257506129fe8161190c565b4211155b156122aa57612a1081611013565b612a1984612cc6565b1115612a38576126b1612a2b84612cc6565b612a3485611bc5565b0190565b6126b1612a2b82611013565b6000612a4f826139ea565b612a6357612a6363677510db60e11b612e4e565b6000612a6e836120fb565b9050612a79836145d7565b50600360008281526020819052604090205460ff166006811115612a9f57612a9f615092565b148015612ab45750612ab081611013565b4210155b80612af45750600460008281526020819052604090205460ff166006811115612adf57612adf615092565b148015612af45750612af081612d47565b4211155b80612b345750600560008281526020819052604090205460ff166006811115612b1f57612b1f615092565b148015612b345750612b308161190c565b4211155b156122aa57612b4281611013565b612b4b84612cc6565b1115612b5a576126b183612cc6565b6126b181611013565b60606000612b70836119c6565b9050600081516001600160401b03811115612b8d57612b8d6154d3565b604051908082528060200260200182016040528015612bb6578160200160208202803683370190505b50905060005b8151811015612c0c57612be7838281518110612bda57612bda615518565b60200260200101516120fb565b828281518110612bf957612bf9615518565b6020908102919091010152600101612bbc565b509392505050565b806003811080612c245750600781115b15612c3957612c3963907e751560e01b612e4e565b81612c4381612d6d565b600003612c5a57612c5a63e1e6c49960e01b612e4e565b82612c6481611892565b612c7857612c7863fbfb610360e01b612e4e565b612c80611798565b15612c9557612c956313d0ff5960e31b612e4e565b612c9f3385613257565b61156a3385614775565b6002612cb481612dd0565b6111b3600068aa4ec00224afccfdb755565b600080612cd283613e6e565b60101c64ffffffffff169392505050565b612ceb61318a565b63389a75e1600c52806000526020600c208054421115612d1357636f5e88186000526004601cfd5b600090556111b3816138a9565b612d2861318a565b8060601b612d3e57637448fbae6000526004601cfd5b6111b3816138a9565b60066014820181810460009081526001602052604081205490929091066028021c611035565b6006808204600090815260016020526040812054909183066028021c611035565b6000632483248360e11b6001600160e01b031983161480610ff35750610ff3826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b638b78c6d8600c5233600052806020600c2054166111b357638b78c6d8195433146111b3576382b429006000526004601cfd5b6001600160601b031661271080821115612e255763350a88b36000526004601cfd5b8260601b80612e3c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b8060005260046000fd5b80428111612e7057612e7063b7d0949760e01b612e4e565b64ffffffffff811115612e8d57612e8d63b7d0949760e01b612e4e565b826000808281526020819052604090205460ff166006811115612eb257612eb2615092565b03612ec757612ec76315bffde560e01b612e4e565b600460008281526020819052604090205460ff166006811115612eec57612eec615092565b03612f0157612f016315bffde560e01b612e4e565b600560008281526020819052604090205460ff166006811115612f2657612f26615092565b03612f3b57612f3b6315bffde560e01b612e4e565b600660008281526020819052604090205460ff166006811115612f6057612f60615092565b03612f7557612f756315bffde560e01b612e4e565b600160008581526020819052604090205460ff166006811115612f9a57612f9a615092565b03612fc8576000848152602081905260409020805460ff19166002179055612fc86001600a86015b85614809565b600260008581526020819052604090205460ff166006811115612fed57612fed615092565b03613000576130006001600a8601612fc2565b604051839085907f0bdde6339acf564fe3c2c80469ba4bd11a24e6fc4708e6f2d69ae6eeba18c89d90600090a350505050565b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c526020600020820182018054821691508161307a5763ceea21b66000526004601cfd5b8185148515176130a057816000526030600c20546130a057634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b61118b8282600061483e565b60006130eb83611b93565b60000361310257613102635a7a35a360e01b612e4e565b61271082111561311c5761311c63b49de9a560e01b612e4e565b60006127108361312b86611b93565b6131359190615711565b61313f9190615728565b905061271f61314d85611b93565b82900390565b826020528160011c60005260406000206001831660071b81546001600160801b038482841c188116831b8218845550505050505050565b638b78c6d8195433146115d3576382b429006000526004601cfd5b61118b8282600161483e565b6001600160a01b0383161561100e576001600160a01b0382161561100e576007546001600160a01b03161561100e5760075460405163657711f560e11b81523360048201526001600160a01b0385811660248301528481166044830152606482018490529091169063caee23ea9060840160006040518083038186803b15801561323a57600080fd5b505afa15801561324e573d6000803e3d6000fd5b50505050505050565b6001600160a01b0382166000908152600960209081526040808320848452909152902054600103613292576132926371e6dc4b60e11b612e4e565b6001600160a01b0390911660009081526009602090815260408083209383529290522080546001019055565b6132c781611b93565b156111b3576111b36132d882611b93565b614897565b60006132e860025490565b60028054600101905590506132fd81836148af565b61330783826148e4565b4282827f834cc6b59b3cde68921a932284aba232def2a681a83c5c44f5d25e8f2ef4a28360405160405180910390a4505050565b600038600038478686f161118b57816000526073600b5360ff6020536016600b47f061118b573838fd5b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156133ac578060c08401826020870160045afa505b60208360a48301601c860160008a5af16133cf573d156133cf573d6000843e3d83fd5b508060e01b8251146128925763d1a57ed66000526004601cfd5b638b78c6d8195433146111b357638b78c6d8600c5233600052806020600c2054166111b3576382b429006000526004601cfd5b6000613427826120fb565b9050600360008281526020819052604090205460ff16600681111561344e5761344e615092565b036134865761346661345f83612912565b6077190190565b42101561347d5761347d633a938fbb60e21b612e4e565b61118b826148fe565b600460008281526020819052604090205460ff1660068111156134ab576134ab615092565b036134d4576134c2826134bd83612d47565b61492b565b61118b826134cf83612d47565b61496a565b600560008281526020819052604090205460ff1660068111156134f9576134f9615092565b036135185761350b826134bd8361190c565b61118b826134cf8361190c565b61118b6315bffde560e01b612e4e565b6000613533826120fb565b90506000603861354283612d6d565b6001600160601b0316901b6010426001600160601b0316901b831717905061356a83826149c4565b4282847fd5f18f2c38a40d42ec1a76797250f41db861d63d0231672c18ee00ace1a1b27761359786612d6d565b60405190815260200160405180910390a46040518381527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050565b601f1960208251600084526040516002821061366e578285018260051b8601815b8581015181511182821417613617578501613601565b8181036136265750505061366e565b50805b8681015181511161363b578601613629565b828103613662575b825182518452825291850191908601908183106136435750505061366e565b50908252838201526040015b6040515b80821461377b57604082039150815184830151610180828203116136e65785820180518351106136a55780518351825283525b5b86018181116136de57805188820180518281116136c5575050506136a6565b5b818a0152890180518281116136c657508801526136a6565b505050613672565b81601f1681830160061c60051b018251825180821061370157905b825181811061370c57905b80831061371557915b835283528352518190835b5b88018051821161372157825b8a018051831061372d5792508281101561374e578051835182528352613720565b50508681018552818782011060061b85019450828552808786015282811160061b85019450505050613672565b50509092525050565b600080613793848460006149f5565b909590945092505050565b80600460008281526020819052604090205460ff1660068111156137c4576137c4615092565b146137d9576137d96315bffde560e01b612e4e565b6000828152602081905260409020805460ff191660031790556138036001601484015b6000614809565b604051429083907fa76b59bfe05a8c8bf83a040e84b15c912c5a4392996c72d7e42314a0b871d46490600090a35050565b808203613873576040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a15050565b60408051838152602081018390527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101613867565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b81600360008281526020819052604090205460ff16600681111561390d5761390d615092565b14613922576139226315bffde560e01b612e4e565b8142811161393a5761393a63b7d0949760e01b612e4e565b64ffffffffff8111156139575761395763b7d0949760e01b612e4e565b83600061396f61396683611013565b612a3484612d6d565b90506077198101421161398c5761398c630eeecf2f60e31b612e4e565b6000868152602081905260409020805460ff191660051790556139b56001601e88015b87614809565b604051859087907f7b6382a0857965531b719f2afdac97d46ad1162dd942a769f4dfac75a78a4e3990600090a3505050505050565b6000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b81600560008281526020819052604090205460ff166006811115613a3457613a34615092565b03613a4957613a496315bffde560e01b612e4e565b600660008281526020819052604090205460ff166006811115613a6e57613a6e615092565b03613a8357613a836315bffde560e01b612e4e565b600a821015613a9c57613a9c6361d1b57b60e11b612e4e565b6000613aa983603c615711565b90506000808581526020819052604090205460ff166006811115613acf57613acf615092565b03613afb576000848152602081905260409020805460ff19166001908117909155613afb908583614809565b600160008581526020819052604090205460ff166006811115613b2057613b20615092565b1480613b4e5750600260008581526020819052604090205460ff166006811115613b4c57613b4c615092565b145b15613b5f57613b5f60018583614809565b600360008581526020819052604090205460ff166006811115613b8457613b84615092565b03613bcb576000613ba0613b9786611013565b612a3487612d6d565b905060771981014211613bbd57613bbd630eeecf2f60e31b612e4e565b613bc960018684614809565b505b600460008581526020819052604090205460ff166006811115613bf057613bf0615092565b03613c2057613bfe84612d47565b4211613c1457613c14630eeecf2f60e31b612e4e565b613c2060018583614809565b604051819085907f50a308e5488cc3e0bfbaeb9d3c5021320754c019dbed91fc0f38db48a7c5025f90600090a350505050565b600080613c5f83613e6e565b60381c64ffffffffff169392505050565b81600560008281526020819052604090205460ff166006811115613c9657613c96615092565b03613cab57613cab6315bffde560e01b612e4e565b600660008281526020819052604090205460ff166006811115613cd057613cd0615092565b03613ce557613ce56315bffde560e01b612e4e565b600460008481526020819052604090205460ff166006811115613d0a57613d0a615092565b03613d3a57613d1883612d47565b4211613d2e57613d2e630eeecf2f60e31b612e4e565b613d3a60058484613153565b613d4660058484613153565b604051829084907f306ffbf9e4b918b606371fdc8fee0a189ed3111e4b06542f0cc6cdac6f74673790600090a3505050565b6040805160a08101825286815260208082018790528183018690526060820185905260808201849052600089815260069091529190912081518190613dbd9082615792565b5060208201516001820190613dd29082615792565b5060408201516002820190613de79082615792565b506060820151613dfd9060038301906002614dd4565b506080820151613e139060058301906002614dd4565b50905050857f5bed3900db4167247da577537f9e0a36d4256f138c4469c29ea9f864f334de7f8686868686604051613e4f959493929190615851565b60405180910390a2613e5f61118f565b156128925761289260016118ff565b6000818152673ec412a9852d173d60c11b601c52602090208101015460a01c90565b600780546001600160a01b0319166001600160a01b0383169081179091556040805182815260208101929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac910160405180910390a150565b80600260008281526020819052604090205460ff166006811115613f1157613f11615092565b14613f2657613f266315bffde560e01b612e4e565b613f2f82611013565b4210613f4557613f45630eeecf2f60e31b612e4e565b600082815260208190526040808220805460ff1916600317905551429184917fe135c9a43f988f5c3b63d899e8eb745ac54437b69dd280927eb757f9893a8ab49190a35050565b6000613f9782612a44565b600003613fb657613fa782612912565b600003613fb657506000919050565b613fbf82612a44565b1561188d57613fcd82612912565b1561188d57613fdb82612912565b421115613fea57506001919050565b506000919050565b81600360008281526020819052604090205460ff16600681111561401857614018615092565b1461402d5761402d6315bffde560e01b612e4e565b814281116140455761404563b7d0949760e01b612e4e565b64ffffffffff8111156140625761406263b7d0949760e01b612e4e565b83600061407161396683611013565b90506077198101421161408e5761408e630eeecf2f60e31b612e4e565b6000868152602081905260409020805460ff191660041790556140b56001601488016139af565b604051859087907f6ab8a7c5ca86fd865f45b3b78d0c48ba9c43a950bb4cc772ff1d14062ff953ea90600090a3505050505050565b806000808281526020819052604090205460ff16600681111561410f5761410f615092565b03614124576141246315bffde560e01b612e4e565b600160008281526020819052604090205460ff16600681111561414957614149615092565b0361415e5761415e6315bffde560e01b612e4e565b600260008281526020819052604090205460ff16600681111561418357614183615092565b03614198576141986315bffde560e01b612e4e565b600360008281526020819052604090205460ff1660068111156141bd576141bd615092565b036141d2576141d26315bffde560e01b612e4e565b600460008381526020819052604090205460ff1660068111156141f7576141f7615092565b0361423e576000828152602081905260409020805460ff191660061790556142236001601484016137fc565b6142316001600a84016137fc565b61423e6001836000614809565b600560008381526020819052604090205460ff16600681111561426357614263615092565b036142c9576142718261190c565b421161428757614287630eeecf2f60e31b612e4e565b6000828152602081905260409020805460ff191660061790556142ae6001601e84016137fc565b6142bc6001600a84016137fc565b6142c96001836000614809565b604051429083907f2c76226796c0f82868e2e1c04cd428824e48df2648c3ef16331ce144d1ee65bb90600090a35050565b60606000614307836120fb565b9050600061431484613f8c565b600083815260066020526040902090915061432e85614a59565b60008481526006602052604090206001810190600301846002811061435557614355615518565b6000878152600660205260409020910190600501856002811061437a5761437a615518565b0160405160200161438f959493929190615931565b60405160208183030381529060405292505050919050565b606060006143b4836120fb565b905060006143c184612224565b90506143cc82614a59565b600083815260066020908152604091829020915161438f9392600201918591016159ed565b6060600080600061440185614a9d565b925092509250600061441284614a59565b9050600061441f84614a59565b9050600061442c84614a59565b9050600a8510156144625761444085614a59565b6040516020016144509190615ad1565b60405160208183030381529060405291505b600a8410156144965761447484614a59565b6040516020016144849190615ad1565b60405160208183030381529060405290505b8282826040516020016144ab93929190615afa565b6040516020818303038152906040529650505050505050919050565b6060610ff382600080614ac0565b60004282036144e384612d6d565b6144ec85611ba3565b6144f69083615711565b61271f9190615728565b604080516001600160a01b038616602082015290810184905260009060600160408051601f198184030181528282528051602091820120908301520160405160208183030381529060405280519060200120905060006145758484600a60008981526020019081526020016000205485614bb5565b9050806128925761289263582f497d60e11b612e4e565b600780546001600160a01b031916905560408051600080825260208201527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac910160405180910390a1565b6000806145e3836120fb565b90506000808281526020819052604090205460ff16600681111561460957614609615092565b036146175750600092915050565b600160008281526020819052604090205460ff16600681111561463c5761463c615092565b0361464a5750600092915050565b600260008281526020819052604090205460ff16600681111561466f5761466f615092565b0361467d5750600092915050565b600660008281526020819052604090205460ff1660068111156146a2576146a2615092565b036146b05750600092915050565b600360008281526020819052604090205460ff1660068111156146d5576146d5615092565b1480156146e957506146e681611013565b42105b806147285750600460008281526020819052604090205460ff16600681111561471457614714615092565b148015614728575061472581612d47565b42115b806147675750600560008281526020819052604090205460ff16600681111561475357614753615092565b14801561476757506147648161190c565b42115b156122aa5750600092915050565b61477e81611b93565b156147f95761478e82600161182a565b80156147a057506147a082600261182a565b156147b15761118b6132d882611574565b6147bc82600161182a565b156147cd5761118b6132d882611574565b6147d882600261182a565b156147e95761118b6132d8826122b0565b61118b6349e27cff60e01b612e4e565b61118b635a7a35a360e01b612e4e565b8260205260068204600052604060002060068306602802815464ffffffffff8482841c188116831b8218845550505050505050565b638b78c6d8600c52826000526020600c20805483811783614860575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26600080a3505050505050565b803410156111b3576111b3631e9acf1760e31b612e4e565b600060386148bc83612d6d565b6001600160601b0316901b6010426001600160601b0316901b831717905061100e83826149c4565b61118b828260405180602001604052806000815250614bef565b6000614909826120fb565b905061491481611ba3565b34101561118b5761118b631e9acf1760e31b612e4e565b61493761345f83612912565b42101561494e5761494e633a938fbb60e21b612e4e565b603b19810142111561118b5761118b633a938fbb60e21b612e4e565b6000614975836120fb565b905042820361498382612d6d565b811061499257614992846148fe565b61499b82612d6d565b8110156149ac576149ac8484614c0d565b806000036110a9576110a9631faeea6160e01b612e4e565b81600052673ec412a9852d173d60c11b601c5260206000208201820180548060a01c831860a01b8118825550505050565b60008060001960018651600087870197505b81830160011c94508460051b8901518701905087811482841117614a4157808811614a36578385019150614a07565b600185019250614a07565b84151597148716989290930190950295509350505050565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480614a735750819003601f19909101908152919050565b6000806000614ab3614aae85612912565b614c40565b9250925092509193909250565b606083518015612c0c576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f811651600353506000518452600484019350828410614b3c579052602001604052613d3d60f01b60038406600204808303919091526000861515909102918290035290038252509392505050565b60008315614be7578360051b8501855b803580851160051b94855260209485185260406000209301818110614bc55750505b501492915050565b614bf98383614ced565b823b1561100e5761100e6000848484613365565b6000614c18836120fb565b90506000614c2682846144d5565b9050803410156110a9576110a9631e9acf1760e31b612e4e565b60008080614ce0614c546201518086615728565b6000806000620afa6c8401935062023ab1840661016d62023ab082146105b48304618eac84048401030304606481048160021c8261016d0201038203915060996002836005020104600161030161f4ff830201600b1c84030193506b030405060708090a0b0c010260a01b811a9450506003841061019062023ab1880402820101945050509193909250565b9196909550909350915050565b614cf9600083836131b1565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614d375763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614d6c5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a45050565b6040518060a00160405280606081526020016060815260200160608152602001614dc2614e1d565b8152602001614dcf614e1d565b905290565b8260028101928215614e0d579160200282015b82811115614e0d5782518290614dfd9082615792565b5091602001919060010190614de7565b50614e19929150614e44565b5090565b60405180604001604052806002905b6060815260200190600190039081614e2c5790505090565b80821115614e19576000614e588282614e61565b50600101614e44565b508054614e6d9061549f565b6000825580601f10614e7d575050565b601f0160209004906000526020600020908101906111b391905b80821115614e195760008155600101614e97565b600060208284031215614ebd57600080fd5b81356001600160e01b0319811681146126b157600080fd5b80356001600160a01b038116811461188d57600080fd5b60008060408385031215614eff57600080fd5b614f0883614ed5565b915060208301356001600160601b0381168114614f2457600080fd5b809150509250929050565b600060208284031215614f4157600080fd5b5035919050565b60008060408385031215614f5b57600080fd5b50508035926020909101359150565b60005b83811015614f85578181015183820152602001614f6d565b50506000910152565b60008151808452614fa6816020860160208601614f6a565b601f01601f19169290920160200192915050565b6020815260006126b16020830184614f8e565b60008060408385031215614fe057600080fd5b614fe983614ed5565b946020939093013593505050565b60006020828403121561500957600080fd5b6126b182614ed5565b60008060006060848603121561502757600080fd5b61503084614ed5565b925061503e60208501614ed5565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156150865783518352928401929184019160010161506a565b50909695505050505050565b634e487b7160e01b600052602160045260246000fd5b60208101600783106150ca57634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f8401126150e257600080fd5b5081356001600160401b038111156150f957600080fd5b60208301915083602082850101111561511157600080fd5b9250929050565b8060408101831015610ff357600080fd5b600080600080600080600080600060c08a8c03121561514757600080fd5b8935985060208a01356001600160401b038082111561516557600080fd5b6151718d838e016150d0565b909a50985060408c013591508082111561518a57600080fd5b6151968d838e016150d0565b909850965060608c01359150808211156151af57600080fd5b6151bb8d838e016150d0565b909650945060808c01359150808211156151d457600080fd5b6151e08d838e01615118565b935060a08c01359150808211156151f657600080fd5b506152038c828d01615118565b9150509295985092959850929598565b600082604081018360005b600281101561524d578383038752615237838351614f8e565b602097880197909350919091019060010161521e565b509095945050505050565b602081526000825160a0602084015261527460c0840182614f8e565b90506020840151601f19808584030160408601526152928383614f8e565b925060408601519150808584030160608601526152af8383614f8e565b925060608601519150808584030160808601526152cc8383615213565b925060808601519150808584030160a0860152506152ea8282615213565b95945050505050565b6000806040838503121561530657600080fd5b61530f83614ed5565b915060208301358015158114614f2457600080fd5b60008060008060006080868803121561533c57600080fd5b61534586614ed5565b945061535360208701614ed5565b93506040860135925060608601356001600160401b0381111561537557600080fd5b615381888289016150d0565b969995985093965092949392505050565b60008083601f8401126153a457600080fd5b5081356001600160401b038111156153bb57600080fd5b6020830191508360208260051b850101111561511157600080fd5b6000806000604084860312156153eb57600080fd5b83356001600160401b0381111561540157600080fd5b61540d86828701615392565b909790965060209590950135949350505050565b60008060006040848603121561543657600080fd5b8335925060208401356001600160401b0381111561545357600080fd5b61545f86828701615392565b9497909650939450505050565b6000806040838503121561547f57600080fd5b61548883614ed5565b915061549660208401614ed5565b90509250929050565b600181811c908216806154b357607f821691505b6020821081036122aa57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201615511576155116154e9565b5060010190565b634e487b7160e01b600052603260045260246000fd5b604080519081016001600160401b0381118282101715615550576155506154d3565b60405290565b604051601f8201601f191681016001600160401b038111828210171561557e5761557e6154d3565b604052919050565b600061559061552e565b8060408401368111156155a257600080fd5b845b81811015611a8e5780356001600160401b03808211156155c45760008081fd5b90870190601f36818401126155d95760008081fd5b82356020838211156155ed576155ed6154d3565b6155fe828401601f19168201615556565b9350818452368183870101111561561757600092508283fd5b81818601828601376000918401810191909152918752509490940193506020016155a4565b6000845161564e818460208901614f6a565b845190830190615662818360208901614f6a565b8451910190615675818360208801614f6a565b63227d5d7d60e01b910190815260040195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008152600082516156c681601d850160208701614f6a565b91909101601d0192915050565b600083516156e5818460208801614f6a565b8351908301906156f9818360208801614f6a565b63227d5d7d60e01b9101908152600401949350505050565b8082028115828204841417610ff357610ff36154e9565b60008261574557634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561100e576000816000526020600020601f850160051c810160208610156157735750805b601f850160051c820191505b818110156128925782815560010161577f565b81516001600160401b038111156157ab576157ab6154d3565b6157bf816157b9845461549f565b8461574a565b602080601f8311600181146157f457600084156157dc5750858301515b600019600386901b1c1916600185901b178555612892565b600085815260208120601f198616915b8281101561582357888601518255948401946001909101908401615804565b50858210156158415787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60a08152600061586460a0830188614f8e565b82810360208401526158768188614f8e565b9050828103604084015261588a8187614f8e565b9050828103606084015261589e8186615213565b905082810360808401526158b28185615213565b98975050505050505050565b600081546158cb8161549f565b600182811680156158e357600181146158f857615927565b60ff1984168752821515830287019450615927565b8560005260208060002060005b8581101561591e5781548a820152908401908201615905565b50505082870194505b5050505092915050565b683d913730b6b2911d1160b91b8152600061594f60098301886158be565b61202360f01b8152865161596a816002840160208b01614f6a565b701116113232b9b1b934b83a34b7b7111d1160791b6002929091019182015261599660138201876158be565b61088b60f21b808252681134b6b0b3b2911d1160b91b60028301529091506159c1600b8301876158be565b908152701130b734b6b0ba34b7b72fbab936111d1160791b600282015290506158b260138201856158be565b7f222c2261747472696275746573223a5b7b2274726169745f74797065223a225481527034b2b91024a21116113b30b63ab2911d1160791b602082015260008451615a3f816031850160208901614f6a565b7f227d2c7b2274726169745f74797065223a2254696572222c2276616c7565223a603191840191820152601160f91b6051820152615a8060528201866158be565b90507f227d2c7b2274726169745f74797065223a22537461747573222c2276616c7565815262111d1160e91b60208201528351615ac4816023840160208801614f6a565b0160230195945050505050565b600360fc1b815260008251615aed816001850160208701614f6a565b9190910160010192915050565b7f227d2c7b2274726169745f74797065223a224578706972792044617465222c228152673b30b63ab2911d1160c11b602082015260008451615b43816028850160208901614f6a565b8083019050602d60f81b8060288301528551615b66816029850160208a01614f6a565b60299201918201528351615b8181602a840160208801614f6a565b01602a019594505050505056fea2646970667358221220fbf09bdb9e62f12197394506f92577aeb455f831d9b6fb35aa744416d64da59264736f6c63430008190033