[ { "inputs": [ { "internalType": "address[5]", "name": "integrationAddresses_", "type": "address[5]" }, { "internalType": "bytes", "name": "baseParams_", "type": "bytes" }, { "internalType": "bytes", "name": "supplyParams_", "type": "bytes" }, { "internalType": "bytes", "name": "taxParams_", "type": "bytes" }, { "internalType": "bytes", "name": "poolParams_", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AdapterParamsMustBeEmpty", "type": "error" }, { "inputs": [], "name": "AdditionToPoolIsBelowPerTransactionMinimum", "type": "error" }, { "inputs": [], "name": "AdditionToPoolWouldExceedPerAddressCap", "type": "error" }, { "inputs": [], "name": "AdditionToPoolWouldExceedPoolCap", "type": "error" }, { "inputs": [], "name": "AddressAlreadySet", "type": "error" }, { "inputs": [], "name": "AllowanceDecreasedBelowZero", "type": "error" }, { "inputs": [], "name": "AlreadyInitialised", "type": "error" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "ApproveFromTheZeroAddress", "type": "error" }, { "inputs": [], "name": "ApproveToTheZeroAddress", "type": "error" }, { "inputs": [], "name": "AuctionStatusIsNotEnded", "type": "error" }, { "inputs": [], "name": "AuctionStatusIsNotOpen", "type": "error" }, { "inputs": [ { "internalType": "address[]", "name": "modules", "type": "address[]" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "txGas", "type": "uint256" } ], "name": "AuxCallFailed", "type": "error" }, { "inputs": [], "name": "BalanceMismatch", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "BidMustBeBelowTheFloorForRefundDuringAuction", "type": "error" }, { "inputs": [], "name": "BidMustBeBelowTheFloorWhenReducingQuantity", "type": "error" }, { "inputs": [ { "internalType": "enum IErrors.BondingCurveErrorType", "name": "error", "type": "uint8" } ], "name": "BondingCurveError", "type": "error" }, { "inputs": [], "name": "BurnExceedsBalance", "type": "error" }, { "inputs": [], "name": "BurnFromTheZeroAddress", "type": "error" }, { "inputs": [], "name": "CallerIsNotDepositBoxOwner", "type": "error" }, { "inputs": [], "name": "CallerIsNotFactory", "type": "error" }, { "inputs": [], "name": "CallerIsNotFactoryOrProjectOwner", "type": "error" }, { "inputs": [], "name": "CallerIsNotFactoryProjectOwnerOrPool", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address" } ], "name": "CallerIsNotPlatformAdmin", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address" } ], "name": "CallerIsNotSuperAdmin", "type": "error" }, { "inputs": [], "name": "CallerIsNotTheManager", "type": "error" }, { "inputs": [], "name": "CallerIsNotTheOwner", "type": "error" }, { "inputs": [], "name": "CallerMustBeLzApp", "type": "error" }, { "inputs": [], "name": "CanOnlyReduce", "type": "error" }, { "inputs": [], "name": "CannotAddLiquidityOnCreateAndUseDRIPool", "type": "error" }, { "inputs": [], "name": "CannotSetNewManagerToTheZeroAddress", "type": "error" }, { "inputs": [], "name": "CannotSetNewOwnerToTheZeroAddress", "type": "error" }, { "inputs": [], "name": "CannotSetToZeroAddress", "type": "error" }, { "inputs": [], "name": "CannotWithdrawThisToken", "type": "error" }, { "inputs": [], "name": "CollectionAlreadyRevealed", "type": "error" }, { "inputs": [], "name": "ContractIsDecommissioned", "type": "error" }, { "inputs": [], "name": "ContractIsNotPaused", "type": "error" }, { "inputs": [], "name": "ContractIsPaused", "type": "error" }, { "inputs": [], "name": "DecreasedAllowanceBelowZero", "type": "error" }, { "inputs": [], "name": "DeployerOnly", "type": "error" }, { "inputs": [], "name": "DepositBoxIsNotOpen", "type": "error" }, { "inputs": [], "name": "DestinationIsNotTrustedSource", "type": "error" }, { "inputs": [], "name": "DriPoolAddressCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "GasLimitIsTooLow", "type": "error" }, { "inputs": [], "name": "IncorrectConfirmationValue", "type": "error" }, { "inputs": [], "name": "IncorrectPayment", "type": "error" }, { "inputs": [], "name": "InitialLiquidityAlreadyAdded", "type": "error" }, { "inputs": [], "name": "InitialLiquidityNotYetAdded", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InvalidAdapterParams", "type": "error" }, { "inputs": [], "name": "InvalidAddress", "type": "error" }, { "inputs": [], "name": "InvalidEndpointCaller", "type": "error" }, { "inputs": [], "name": "InvalidMinGas", "type": "error" }, { "inputs": [], "name": "InvalidOracleSignature", "type": "error" }, { "inputs": [], "name": "InvalidPayload", "type": "error" }, { "inputs": [], "name": "InvalidReceiver", "type": "error" }, { "inputs": [], "name": "InvalidSourceSendingContract", "type": "error" }, { "inputs": [], "name": "InvalidTotalShares", "type": "error" }, { "inputs": [], "name": "LPLockUpMustFitUint88", "type": "error" }, { "inputs": [], "name": "LimitsCanOnlyBeRaised", "type": "error" }, { "inputs": [], "name": "LiquidityPoolCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "LiquidityPoolMustBeAContractAddress", "type": "error" }, { "inputs": [], "name": "ListLengthMismatch", "type": "error" }, { "inputs": [], "name": "MachineAddressCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "ManagerUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "MaxBidQuantityIs255", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "requested", "type": "uint256" }, { "internalType": "uint256", "name": "alreadyMinted", "type": "uint256" }, { "internalType": "uint256", "name": "maxAllowance", "type": "uint256" } ], "name": "MaxPublicMintAllowanceExceeded", "type": "error" }, { "inputs": [], "name": "MaxSupplyTooHigh", "type": "error" }, { "inputs": [], "name": "MaxTokensPerTxnExceeded", "type": "error" }, { "inputs": [], "name": "MaxTokensPerWalletExceeded", "type": "error" }, { "inputs": [], "name": "MetadataIsLocked", "type": "error" }, { "inputs": [], "name": "MetadropFactoryOnlyOncePerReveal", "type": "error" }, { "inputs": [], "name": "MetadropModulesOnly", "type": "error" }, { "inputs": [], "name": "MetadropOracleCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "MinGasLimitNotSet", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "MintingIsClosedForever", "type": "error" }, { "inputs": [], "name": "NewBuyTaxBasisPointsExceedsMaximum", "type": "error" }, { "inputs": [], "name": "NewSellTaxBasisPointsExceedsMaximum", "type": "error" }, { "inputs": [], "name": "NoETHForLiquidityPair", "type": "error" }, { "inputs": [], "name": "NoPaymentDue", "type": "error" }, { "inputs": [], "name": "NoRefundForCaller", "type": "error" }, { "inputs": [], "name": "NoStoredMessage", "type": "error" }, { "inputs": [], "name": "NoTokenForLiquidityPair", "type": "error" }, { "inputs": [], "name": "NoTrustedPathRecord", "type": "error" }, { "inputs": [], "name": "NothingToClaim", "type": "error" }, { "inputs": [], "name": "OperationDidNotSucceed", "type": "error" }, { "inputs": [], "name": "OracleSignatureHasExpired", "type": "error" }, { "inputs": [], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "ParamTooLargeEndDate", "type": "error" }, { "inputs": [], "name": "ParamTooLargeMinETH", "type": "error" }, { "inputs": [], "name": "ParamTooLargePerAddressMax", "type": "error" }, { "inputs": [], "name": "ParamTooLargePoolPerTxnMinETH", "type": "error" }, { "inputs": [], "name": "ParamTooLargePoolSupply", "type": "error" }, { "inputs": [], "name": "ParamTooLargeStartDate", "type": "error" }, { "inputs": [], "name": "ParamTooLargeVestingDays", "type": "error" }, { "inputs": [], "name": "ParametersDoNotMatchSignedMessage", "type": "error" }, { "inputs": [], "name": "PassedConfigDoesNotMatchApproved", "type": "error" }, { "inputs": [], "name": "PauseCutOffHasPassed", "type": "error" }, { "inputs": [], "name": "PaymentMustCoverPerMintFee", "type": "error" }, { "inputs": [], "name": "PermitDidNotSucceed", "type": "error" }, { "inputs": [], "name": "PlatformAdminCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "PlatformTreasuryCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "PoolIsAboveMinimum", "type": "error" }, { "inputs": [], "name": "PoolIsBelowMinimum", "type": "error" }, { "inputs": [], "name": "PoolPhaseIsClosed", "type": "error" }, { "inputs": [], "name": "PoolPhaseIsNotAfter", "type": "error" }, { "inputs": [], "name": "PoolVestingNotYetComplete", "type": "error" }, { "inputs": [], "name": "ProjectOwnerCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "ProofInvalid", "type": "error" }, { "inputs": [], "name": "QuantityExceedsMaxPossibleCollectionSupply", "type": "error" }, { "inputs": [], "name": "QuantityExceedsRemainingCollectionSupply", "type": "error" }, { "inputs": [], "name": "QuantityExceedsRemainingPhaseSupply", "type": "error" }, { "inputs": [], "name": "ReferralIdAlreadyUsed", "type": "error" }, { "inputs": [], "name": "RequestingMoreThanAvailableBalance", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "previouslyMinted", "type": "uint256" }, { "internalType": "uint256", "name": "requested", "type": "uint256" }, { "internalType": "uint256", "name": "remainingAllocation", "type": "uint256" } ], "name": "RequestingMoreThanRemainingAllocation", "type": "error" }, { "inputs": [], "name": "RoyaltyFeeWillExceedSalePrice", "type": "error" }, { "inputs": [], "name": "ShareTotalCannotBeZero", "type": "error" }, { "inputs": [], "name": "SliceOutOfBounds", "type": "error" }, { "inputs": [], "name": "SliceOverflow", "type": "error" }, { "inputs": [], "name": "SuperAdminCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "SupplyTotalMismatch", "type": "error" }, { "inputs": [], "name": "SupportWindowIsNotOpen", "type": "error" }, { "inputs": [], "name": "TaxFreeAddressCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "TaxPeriodStillInForce", "type": "error" }, { "inputs": [], "name": "TemplateCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "TemplateNotFound", "type": "error" }, { "inputs": [], "name": "ThisMintIsClosed", "type": "error" }, { "inputs": [], "name": "TotalSharesMustMatchDenominator", "type": "error" }, { "inputs": [], "name": "TransferAmountExceedsBalance", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFailed", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferFromZeroAddress", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "UnrecognisedVRFMode", "type": "error" }, { "inputs": [], "name": "VRFCoordinatorCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "ValueExceedsMaximum", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldThreshold", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newThreshold", "type": "uint256" } ], "name": "AutoSwapThresholdUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "identifier", "type": "uint256" } ], "name": "ExternalCallError", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokenA", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokenB", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "lpToken", "type": "uint256" } ], "name": "InitialLiquidityAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldMaxTokensPerTransaction", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newMaxTokensPerTransaction", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMaxTokensPerWallet", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newMaxTokensPerWallet", "type": "uint256" } ], "name": "LimitsUpdated", "type": "event" }, { "anonymous": false, "inputs": [], "name": "LinksUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "lpTokens", "type": "uint256" } ], "name": "LiquidityBurned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "lpTokens", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "lpLockupInDays", "type": "uint256" } ], "name": "LiquidityLocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "addedPool", "type": "address" } ], "name": "LiquidityPoolAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "addedPool", "type": "address" } ], "name": "LiquidityPoolCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "removedPool", "type": "address" } ], "name": "LiquidityPoolRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldBuyBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBuyBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldSellBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newSellBasisPoints", "type": "uint256" } ], "name": "MetadropTaxBasisPointsChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldBuyBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBuyBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldSellBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newSellBasisPoints", "type": "uint256" } ], "name": "ProjectTaxBasisPointsChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "treasury", "type": "address" } ], "name": "ProjectTaxRecipientUpdated", "type": "event" }, { "anonymous": false, "inputs": [], "name": "RevenueAutoSwap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "addedUnlimted", "type": "address" } ], "name": "UnlimitedAddressAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "removedUnlimted", "type": "address" } ], "name": "UnlimitedAddressRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "addedValidCaller", "type": "bytes32" } ], "name": "ValidCallerAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "removedValidCaller", "type": "bytes32" } ], "name": "ValidCallerRemoved", "type": "event" }, { "inputs": [], "name": "_1___telegram", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_2___twitter", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_3___website", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_4___other", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vaultFee_", "type": "uint256" }, { "internalType": "uint256", "name": "lpLockupInDaysOverride_", "type": "uint256" }, { "internalType": "bool", "name": "burnLPTokensOverride_", "type": "bool" } ], "name": "addInitialLiquidity", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newLiquidityPool_", "type": "address" } ], "name": "addLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newUnlimited_", "type": "address" } ], "name": "addUnlimited", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "newValidCallerHash_", "type": "bytes32" } ], "name": "addValidCaller", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "botProtectionDurationInSeconds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "burnLPTokens", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "distributeTaxTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "driPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "fundedDate", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMetadropBuyTaxBasisPoints", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMetadropSellTaxBasisPoints", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "queryAddress_", "type": "address" } ], "name": "isLiquidityPool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "queryAddress_", "type": "address" } ], "name": "isUnlimited", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "queryHash_", "type": "bytes32" } ], "name": "isValidCaller", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsEnforced", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityPools", "outputs": [ { "internalType": "address[]", "name": "liquidityPools_", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpLockupInDays", "outputs": [ { "internalType": "uint88", "name": "", "type": "uint88" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTokensPerTransaction", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTokensPerWallet", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadropBuyTaxBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadropFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadropSellTaxBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadropTaxPendingSwap", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadropTaxPeriodInDays", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadropTaxRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectBuyTaxBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectSellTaxBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectSupplyRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectTaxPendingSwap", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectTaxRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "removedLiquidityPool_", "type": "address" } ], "name": "removeLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "removedUnlimited_", "type": "address" } ], "name": "removeUnlimited", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "removedValidCallerHash_", "type": "bytes32" } ], "name": "removeValidCaller", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxTokensPerTransaction_", "type": "uint256" }, { "internalType": "uint256", "name": "newMaxTokensPerWallet_", "type": "uint256" } ], "name": "setLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "newProjectBuyTaxBasisPoints_", "type": "uint16" }, { "internalType": "uint16", "name": "newProjectSellTaxBasisPoints_", "type": "uint16" } ], "name": "setProjectTaxRates", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "projectTaxRecipient_", "type": "address" } ], "name": "setProjectTaxRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "swapThresholdBasisPoints_", "type": "uint16" } ], "name": "setSwapThresholdBasisPoints", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapThresholdBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalBuyTaxBasisPoints", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSellTaxBasisPoints", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unlimitedAddresses", "outputs": [ { "internalType": "address[]", "name": "unlimitedAddresses_", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool[4]", "name": "linkHasChanged_", "type": "bool[4]" }, { "internalType": "string[4]", "name": "links_", "type": "string[4]" } ], "name": "updateLinks", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "validCallers", "outputs": [ { "internalType": "bytes32[]", "name": "validCallerHashes_", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token_", "type": "address" }, { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "name": "withdrawERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "x_VERSION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6102206040526002805460ff60f01b1916600160f01b17905534801562000024575f80fd5b5060405162004eae38038062004eae833981016040819052620000479162000a51565b620000523362000341565b84516200006090856200035f565b6020808601516001600160a01b0390811661020052604087015181166101e0526060870151166101805283515f91620000a0918601810190860162000b6c565b90505f83806020019051810190620000b9919062000c0a565b6080808901516001600160a01b03166101205260408051610100810182525f808252602082018190529181018290526060810182905291820181905260a0820181905260c0820181905260e082015290915060808801516001600160a01b03161562000138578380602001905181019062000135919062000c89565b90505b620001448382620003f3565b60e08301516001600160a01b031661016052620001646012600a62000e06565b836020015162000175919062000e16565b608052620001866012600a62000e06565b836040015162000197919062000e16565b60a052620001a86012600a62000e06565b8360600151620001b9919062000e16565b600380546001600160801b03928316600160801b029216919091179055620001df601290565b620001ec90600a62000e06565b8360800151620001fd919062000e16565b600380546001600160801b03929092166001600160801b031990921691909117905560a08301516004805460c08087015190526101008601516001600160a01b03908116610140526101208701511515600160f81b026001600160f81b036001600160581b03909516600160a01b02949094169116179190911790556200028482620004ae565b15156101c05260a0828101516101a05260408301516002805461ffff60e01b1916600160e01b61ffff9093169290920291909117905560c0830151600480546001600160a01b0319166001600160a01b0392831617905560e080850151909116905260805190516200031b9190620002fa601290565b6200030790600a62000e06565b845162000315919062000e16565b62000571565b62000325620005b2565b6001600160a01b03166101005250620010dc9650505050505050565b600180546001600160a01b03191690556200035c8162000783565b50565b6200036a8262000341565b8080602001905181019062000380919062000e30565b60065f600781600881600981600a81600b6200039d8c8262000fb8565b50620003ac90508b8262000fb8565b50620003bb90508a8262000fb8565b50620003ca9050898262000fb8565b50620003d99050888262000fb8565b50620003e89050878262000fb8565b505050505050505050565b8051604083015160208401516200040b919062001080565b62000417919062001080565b8251146200043157620004316361cf53d560e01b620007d2565b81516001600160801b031015620004545762000454637f47720f60e11b620007d2565b60a08201516001600160581b0310156200047a576200047a63d1db63ab60e01b620007d2565b60e08201516200048d90601290620007da565b506200049b601230620007da565b50620004a960125f620007da565b505050565b80515f90158015620004c257506020820151155b8015620004d157506060820151155b8015620004e057506080820151155b15620004ed57505f919050565b508051600280546020840151606085015160809095015163ffffffff60a01b19909216600160a01b61ffff9586160261ffff60b01b191617600160b01b918516919091021763ffffffff60c01b1916600160c01b9484169490940261ffff60d01b191693909317600160d01b9290931691909102919091179055600190565b919050565b82156200058457620005843084620007f9565b81156200059b57610160516200059b9083620007f9565b8015620004a95761012051620004a99082620007f9565b6002545f906001600160801b0316156200075f57610200516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000606573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200062c919062001096565b6001600160a01b031663c9c6539630610200516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200067b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006a1919062001096565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620006ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000712919062001096565b905062000721601082620007da565b506040516001600160a01b03821681527f969ffc8569f9af3993220e04ac05164e5db4e3d9f8b1a47f64e7de9a04b8ea2f9060200160405180910390a15b610200516200077190601290620007da565b506200077f601282620007da565b5090565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b805f5260045ffd5b5f620007f0836001600160a01b038416620008b6565b90505b92915050565b6001600160a01b038216620008195762000819622e076360e81b620007d2565b600280548291905f90620008389084906001600160801b0316620010b2565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b0382165f818152600c6020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620008aa9085815260200190565b60405180910390a35050565b5f818152600183016020526040812054620008fd57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155620007f3565b505f620007f3565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b03811182821017156200093e576200093e62000905565b60405290565b60405161014081016001600160401b03811182821017156200093e576200093e62000905565b60405161010081016001600160401b03811182821017156200093e576200093e62000905565b80516001600160a01b03811681146200056c575f80fd5b5f82601f830112620009b7575f80fd5b81516001600160401b0380821115620009d457620009d462000905565b604051601f8301601f19908116603f01168101908282118183101715620009ff57620009ff62000905565b8160405283815260209250868385880101111562000a1b575f80fd5b5f91505b8382101562000a3e578582018301518183018401529082019062000a1f565b5f93810190920192909252949350505050565b5f805f805f610120868803121562000a67575f80fd5b86601f87011262000a76575f80fd5b62000a8062000919565b8060a088018981111562000a92575f80fd5b885b8181101562000ab75762000aa88162000990565b84526020938401930162000a94565b505190965090506001600160401b038082111562000ad3575f80fd5b62000ae189838a01620009a7565b955060c088015191508082111562000af7575f80fd5b62000b0589838a01620009a7565b945060e088015191508082111562000b1b575f80fd5b62000b2989838a01620009a7565b935061010088015191508082111562000b40575f80fd5b5062000b4f88828901620009a7565b9150509295509295909350565b805180151581146200056c575f80fd5b5f610140828403121562000b7e575f80fd5b62000b8862000944565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015262000bd660e0840162000990565b60e082015261010062000beb81850162000990565b9082015261012062000bff84820162000b5c565b908201529392505050565b5f610100828403121562000c1c575f80fd5b62000c266200096a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015262000c6a60c0840162000990565b60c082015262000c7d60e0840162000990565b60e08201529392505050565b5f610100828403121562000c9b575f80fd5b62000ca56200096a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201528091505092915050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111562000d4d57815f190482111562000d315762000d3162000cf9565b8085161562000d3f57918102915b93841c939080029062000d12565b509250929050565b5f8262000d6557506001620007f3565b8162000d7357505f620007f3565b816001811462000d8c576002811462000d975762000db7565b6001915050620007f3565b60ff84111562000dab5762000dab62000cf9565b50506001821b620007f3565b5060208310610133831016604e8410600b841016171562000ddc575081810a620007f3565b62000de8838362000d0d565b805f190482111562000dfe5762000dfe62000cf9565b029392505050565b5f620007f060ff84168362000d55565b8082028115828204841417620007f357620007f362000cf9565b5f805f805f8060c0878903121562000e46575f80fd5b86516001600160401b038082111562000e5d575f80fd5b62000e6b8a838b01620009a7565b9750602089015191508082111562000e81575f80fd5b62000e8f8a838b01620009a7565b9650604089015191508082111562000ea5575f80fd5b62000eb38a838b01620009a7565b9550606089015191508082111562000ec9575f80fd5b62000ed78a838b01620009a7565b9450608089015191508082111562000eed575f80fd5b62000efb8a838b01620009a7565b935060a089015191508082111562000f11575f80fd5b5062000f2089828a01620009a7565b9150509295509295509295565b600181811c9082168062000f4257607f821691505b60208210810362000f6157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004a9575f81815260208120601f850160051c8101602086101562000f8f5750805b601f850160051c820191505b8181101562000fb05782815560010162000f9b565b505050505050565b81516001600160401b0381111562000fd45762000fd462000905565b62000fec8162000fe5845462000f2d565b8462000f67565b602080601f83116001811462001022575f84156200100a5750858301515b5f19600386901b1c1916600185901b17855562000fb0565b5f85815260208120601f198616915b82811015620010525788860151825594840194600190910190840162001031565b50858210156200107057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620007f357620007f362000cf9565b5f60208284031215620010a7575f80fd5b620007f08262000990565b6001600160801b03818116838216019080821115620010d557620010d562000cf9565b5092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051613ca36200120b5f395f8181611e6f01528181611e9a01528181612bb201528181612bf001528181612c8701528181612d3001528181612fd8015261320901525f818161283e01526128f501525f818161222a015261230001525f8181610adb015281816111ac0152611a8901525f81816106f5015261145201525f610d6301525f8181610d1101526129ff01525f8181610883015261149c01525f81816106aa015281816118bd015281816120ac015281816127840152818161286d015261292101525f818161079b0152818161107601528181613180015261331701525f81816107e20152610ef101525f61076801525f61061a0152613ca35ff3fe60806040526004361061040e575f3560e01c806393bf570511610215578063cb8baeac1161011e578063ee6a934c116100a8578063f444324b11610078578063f444324b14610d00578063f85aff9414610d33578063fdd8840e14610d52578063fe6a0bbf14610d85578063ff0d7b9314610d99575f80fd5b8063ee6a934c14610c8f578063eeae0f9714610cae578063f14210a614610cc2578063f2fde38b14610ce1575f80fd5b8063e30c3978116100ee578063e30c397814610bd7578063e37d9e9514610bf4578063e85455d714610c13578063ea8b242414610c32578063eb95ca7014610c51575f80fd5b8063cb8baeac14610b7c578063d6efd7c314610b90578063dd62ed3e14610ba4578063deac447314610bc3575f80fd5b8063a9059cbb1161019f578063b2e9cb381161016f578063b2e9cb3814610aca578063b498d39f14610afd578063bb88603c14610b1e578063bfe3098f14610b3e578063c4590d3f14610b5d575f80fd5b8063a9059cbb14610a4c578063ae22107f14610a6b578063b0d7509714610a8a578063b2c5c9eb14610aa9575f80fd5b8063a1db9782116101e5578063a1db9782146109ad578063a35b4cef146109cc578063a457c2d7146109eb578063a45cae0214610a0a578063a8c2fb8e14610a2b575f80fd5b806393bf57051461095357806395d89b4114610966578063973c7f471461097a5780639808751d1461098e575f80fd5b806349bd5a5e1161031757806370a08231116102a157806379cc67901161027157806379cc6790146108b95780638589287a146108d85780638c804321146108f75780638da5cb5b14610918578063936b293414610934575f80fd5b806370a082311461082a578063715018a61461085e57806376abde001461087257806379ba5097146108a5575f80fd5b806352d0b385116102e757806352d0b385146107575780635b8e79791461078a57806363854565146107bd57806363a9c1f2146107d15780636edb9a9114610804575f80fd5b806349bd5a5e146106995780634b3c3460146106e45780634bed5ad2146107175780634fadc78314610738575f80fd5b8063313ce5671161039857806336520ace1161036857806336520ace146105b657806339509351146105ea5780633b22fc031461060957806342966c681461063c578063469132ce1461065b575f80fd5b8063313ce5671461054d578063318bb54514610568578063326b3b8b1461058357806334527775146105a2575f80fd5b806318160ddd116103de57806318160ddd146104c857806323b872dd146104e557806329c6b348146105045780632aaa9a7c146105185780632ead095514610539575f80fd5b8063038272b61461041957806306fdde0314610440578063095ea7b31461046157806310b828c914610490575f80fd5b3661041557005b5f80fd5b348015610424575f80fd5b5061042d610db8565b6040519081526020015b60405180910390f35b34801561044b575f80fd5b50610454610dde565b6040516104379190613509565b34801561046c575f80fd5b5061048061047b36600461354f565b610e6e565b6040519015158152602001610437565b34801561049b575f80fd5b506002546104b390600160801b900463ffffffff1681565b60405163ffffffff9091168152602001610437565b3480156104d3575f80fd5b506002546001600160801b031661042d565b3480156104f0575f80fd5b506104806104ff366004613579565b610e87565b34801561050f575f80fd5b50610480610ec4565b348015610523575f80fd5b50610537610532366004613632565b610f4e565b005b348015610544575f80fd5b50610537610ff4565b348015610558575f80fd5b5060405160128152602001610437565b348015610573575f80fd5b5061042d67016357a9360a0a0081565b34801561058e575f80fd5b5061053761059d366004613780565b6110a0565b3480156105ad575f80fd5b50610454611118565b3480156105c1575f80fd5b506002546105d790600160d01b900461ffff1681565b60405161ffff9091168152602001610437565b3480156105f5575f80fd5b5061048061060436600461354f565b611127565b348015610614575f80fd5b5061042d7f000000000000000000000000000000000000000000000000000000000000000081565b348015610647575f80fd5b50610537610656366004613799565b611148565b348015610666575f80fd5b5060035461068190600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610437565b3480156106a4575f80fd5b506106cc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610437565b3480156106ef575f80fd5b506106cc7f000000000000000000000000000000000000000000000000000000000000000081565b348015610722575f80fd5b506002546105d790600160e01b900461ffff1681565b348015610743575f80fd5b506105376107523660046137b0565b611152565b348015610762575f80fd5b5061042d7f000000000000000000000000000000000000000000000000000000000000000081565b348015610795575f80fd5b506106cc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c8575f80fd5b5061042d6111a6565b3480156107dc575f80fd5b5061042d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561080f575f80fd5b5060055461068190600160801b90046001600160801b031681565b348015610835575f80fd5b5061042d6108443660046137b0565b6001600160a01b03165f908152600c602052604090205490565b348015610869575f80fd5b5061053761120c565b34801561087d575f80fd5b506106cc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108b0575f80fd5b5061053761121d565b3480156108c4575f80fd5b506105376108d336600461354f565b611249565b3480156108e3575f80fd5b506105376108f2366004613799565b611262565b348015610902575f80fd5b506002546105d790600160c01b900461ffff1681565b348015610923575f80fd5b505f546001600160a01b03166106cc565b34801561093f575f80fd5b5061053761094e3660046137cb565b6112a6565b6105376109613660046137fc565b611450565b348015610971575f80fd5b506104546115bd565b348015610985575f80fd5b506104546115cc565b348015610999575f80fd5b506105376109a83660046137b0565b6115db565b3480156109b8575f80fd5b506105376109c736600461354f565b611631565b3480156109d7575f80fd5b506104806109e63660046137b0565b61166d565b3480156109f6575f80fd5b50610480610a0536600461354f565b611679565b348015610a15575f80fd5b506002546105d790600160a01b900461ffff1681565b348015610a36575f80fd5b50610a3f6116b8565b6040516104379190613874565b348015610a57575f80fd5b50610480610a6636600461354f565b6116c4565b348015610a76575f80fd5b50610537610a853660046137b0565b6116d5565b348015610a95575f80fd5b50600554610681906001600160801b031681565b348015610ab4575f80fd5b506002546105d790600160b01b900461ffff1681565b348015610ad5575f80fd5b5061042d7f000000000000000000000000000000000000000000000000000000000000000081565b348015610b08575f80fd5b50610b11611722565b6040516104379190613886565b348015610b29575f80fd5b5060045461048090600160f81b900460ff1681565b348015610b49575f80fd5b50610480610b58366004613799565b61172e565b348015610b68575f80fd5b50610537610b773660046138c9565b61173a565b348015610b87575f80fd5b50610454611822565b348015610b9b575f80fd5b50610a3f611831565b348015610baf575f80fd5b5061042d610bbe3660046138e9565b61183d565b348015610bce575f80fd5b50610454611867565b348015610be2575f80fd5b506001546001600160a01b03166106cc565b348015610bff575f80fd5b50610537610c0e366004613799565b611876565b348015610c1e575f80fd5b50610480610c2d3660046137b0565b6118ba565b348015610c3d575f80fd5b506004546106cc906001600160a01b031681565b348015610c5c575f80fd5b50600454610c7790600160a01b90046001600160581b031681565b6040516001600160581b039091168152602001610437565b348015610c9a575f80fd5b50610537610ca93660046137b0565b611901565b348015610cb9575f80fd5b5061042d61198d565b348015610ccd575f80fd5b50610537610cdc366004613799565b6119ae565b348015610cec575f80fd5b50610537610cfb3660046137b0565b611a13565b348015610d0b575f80fd5b506106cc7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d3e575f80fd5b50600354610681906001600160801b031681565b348015610d5d575f80fd5b506106cc7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d90575f80fd5b5061042d611a83565b348015610da4575f80fd5b50610537610db33660046137b0565b611ae9565b5f610dc1611a83565b600254610dd99190600160b01b900461ffff16613934565b905090565b606060068054610ded90613947565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1990613947565b8015610e645780601f10610e3b57610100808354040283529160200191610e64565b820191905f5260205f20905b815481529060010190602001808311610e4757829003601f168201915b5050505050905090565b5f33610e7b818585611b36565b60019150505b92915050565b5f33610e94858285611bd3565b610eb7858585610ea3896118ba565b80610eb25750610eb2886118ba565b611c0d565b60019150505b9392505050565b5f80610ed75f546001600160a01b031690565b6001600160a01b0316148015610f265750600254610f23907f000000000000000000000000000000000000000000000000000000000000000090600160801b900463ffffffff16613934565b42115b80610f3e5750600254600160801b900463ffffffff16155b15610f4857505f90565b50600190565b610f56611cdb565b815115610f6e578051600a90610f6c90826139d8565b505b602082015115610f8c576020810151600990610f8a90826139d8565b505b604082015115610faa576040810151600890610fa890826139d8565b505b606082015115610fc8576060810151600b90610fc690826139d8565b505b6040517fe4707d41d941343a4387c76b9cd81375c11c73049b22ea6e7b44e1966b7b9d0d905f90a15050565b6005546001600160801b03161561103e57600580546001600160801b031981169091556004546001600160801b039091169061103c9030906001600160a01b0316835f611c0d565b505b600554600160801b90046001600160801b03161561109e57600580546001600160801b03808216909255600160801b90041661109c307f0000000000000000000000000000000000000000000000000000000000000000835f611c0d565b505b565b6110a8611cdb565b6002805461ffff838116600160e01b90810261ffff60e01b198416179093556040519290910416907fe4351c45b53ffb7ebad0b66cc0f1a3dfe2963c099421eeaded141104df39206a9061110c908390859091825261ffff16602082015260400190565b60405180910390a15050565b606060098054610ded90613947565b5f33610e7b818585611139838361183d565b6111439190613934565b611b36565b61109c3382611cfc565b61115a611cdb565b611165601282611dc1565b506040516001600160a01b03821681527f59129d668a515d00b1370a4f7946e33e4e37ba79d4a0c38d68053f136f6f40fd906020015b60405180910390a150565b5f6111d47f000000000000000000000000000000000000000000000000000000000000000062015180613a94565b6002546111ee9190600160801b900463ffffffff16613934565b4211156111fa57505f90565b50600254600160c01b900461ffff1690565b611214611cdb565b61109e5f611dd5565b60015433906001600160a01b03168114611240576112406212b0c560e81b611dee565b61109c81611dd5565b611254823383611bd3565b61125e8282611cfc565b5050565b61126a611cdb565b611275600e82611df6565b506040518181527fdd5aeaec2032ed464aed048b9014721d48de827cef3d77f78f0a76f1f0136dd49060200161119b565b6112ae611cdb565b60025461ffff600160a01b8204811691600160b01b900481169084168210156112e1576112e1637924ff4760e11b611dee565b8061ffff168361ffff16111561130157611301637924ff4760e11b611dee565b6002805463ffffffff60a01b1916600160a01b61ffff87811691820261ffff60b01b191692909217600160b01b9287169290920291909117909155158061134a575061ffff8316155b156113f65760025461ffff600160c01b8204811691600160d01b90048116908290829088165f03611387576002805461ffff60c01b191690555f91505b8661ffff165f036113a357506002805461ffff60d01b191690555f5b6040805161ffff86811682528481166020830152858116828401528316606082015290517fc62aec06e6c0bd9801f57464e310b42dd2d884cbfaf006c84a761b622aea4f089181900360800190a1505050505b6040805161ffff808516825280871660208301528084169282019290925290841660608201527f8da1f77a22734510b762a9625e69e737d7c0cc48984e810e5802fb341eb80a3e906080015b60405180910390a150505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331480159061149357505f546001600160a01b03163314155b80156114c857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314155b156114dd576114dd630a1c4bd560e41b611dee565b6004545f90600160f81b900460ff161580156114fb57506001821515145b1561151657600480546001600160f81b0316600160f81b1790555b600454600160f81b900460ff161561154657345f0361153f5761153f633cb00bd760e11b611dee565b503461156a565b34841061155d5761155d633cb00bd760e11b611dee565b6115678434613aab565b90505b600454600160a01b90046001600160581b03168311156115ad57600480546affffffffffffffffffffff60a01b1916600160a01b6001600160581b038616021790555b6115b78185611e01565b50505050565b606060078054610ded90613947565b606060088054610ded90613947565b6115e3611cdb565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fa4eea51cd2f21eac6612ba054a363ae2fd59698fc258ab414313cd73f69f2b859060200161119b565b611639611cdb565b306001600160a01b038316036116595761165963992501b360e01b611dee565b61125e6001600160a01b0383163383611ff4565b5f610e81601283612046565b5f3381611686828661183d565b9050838110156116a0576116a0637b5591b560e11b611dee565b6116ad8286868403611b36565b506001949350505050565b6060610dd96012612067565b5f33610e7b818585610ea3836118ba565b6116dd611cdb565b6116e8601082612073565b506040516001600160a01b03821681527f59c3fbcae88f30e9b0e35c132a7f68c53231dffa4722f197c7ecb0ee013eee609060200161119b565b6060610dd9600e612067565b5f610e81600e83612087565b611742611cdb565b6003546001600160801b0380821691600160801b9004168115801561176657508315155b8061177957508015801561177957508215155b1561178e5761178e63299e73c360e11b611dee565b831580159061179c57508184105b806117b0575082158015906117b057508083105b156117c5576117c563299e73c360e11b611dee565b6001600160801b03838116600160801b02908516176003556040805183815260208101869052908101829052606081018490527fe3eb5d4eccdae2d96efa105f65c8db865f9fc72984f2b879a27448fed50d181590608001611442565b6060600a8054610ded90613947565b6060610dd96010612067565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b6060600b8054610ded90613947565b61187e611cdb565b611889600e8261209e565b506040518181527ff7d7abaf8b0e82705f2ef671054dd11a306d870da0bbb8be1ff24bd0096de7ba9060200161119b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480610e815750610e81601083612046565b611909611cdb565b6001600160a01b0381166119275761192763b47cdee560e01b611dee565b806001600160a01b03163b5f0361194857611948630f9da0c760e41b611dee565b611953601082611dc1565b506040516001600160a01b03821681527fb893f883ef734b712208a877459424ee509832c57e0461fb1ac99ed4d42f2d899060200161119b565b5f6119966111a6565b600254610dd99190600160a01b900461ffff16613934565b6119b6611cdb565b6040515f90339083908381818185875af1925050503d805f81146119f5576040519150601f19603f3d011682016040523d82523d5f602084013e6119fa565b606091505b505090508061125e5761125e6312171d8360e31b611dee565b611a1b611cdb565b600180546001600160a01b0383166001600160a01b03199091168117909155611a4b5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f611ab17f000000000000000000000000000000000000000000000000000000000000000062015180613a94565b600254611acb9190600160801b900463ffffffff16613934565b421115611ad757505f90565b50600254600160d01b900461ffff1690565b611af1611cdb565b611afc601282612073565b506040516001600160a01b03821681527fb2ed7b6d5164de63737cc48d793bf899607480780433a1a2eb2b7b99dec273209060200161119b565b6001600160a01b038316611b5457611b546356fdae6560e11b611dee565b6001600160a01b038216611b7257611b7263b2fa1ef360e01b611dee565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f611bde848461183d565b90505f1981146115b75781811015611c0057611c006313be252b60e01b611dee565b6115b78484848403611b36565b5f611c198585856120a9565b9050611c258585612228565b5f611c32838688876122fd565b9050611c3f86868361252b565b611c498483613aab565b6001600160a01b038088165f908152600c60205260408082209390935590871681529081208054839290611c7e908490613934565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cca91815260200190565b60405180910390a35b505050505050565b5f546001600160a01b0316331461109e5761109e633e8be92f60e01b611dee565b6001600160a01b038216611d1a57611d1a6304fca6bd60e41b611dee565b6001600160a01b0382165f908152600c602052604090205481811015611d4a57611d4a63588569f760e01b611dee565b6001600160a01b0383165f818152600c60205260408082208585039055600280546001600160801b03808216889003166001600160801b0319909116179055519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bc69086815260200190565b505050565b5f610ebd836001600160a01b0384166125e3565b600180546001600160a01b031916905561109c8161262f565b805f5260045ffd5b5f610ebd838361267e565b600254600160801b900463ffffffff1615611e2657611e2663b1f3376760e01b611dee565b6002805463ffffffff60801b1916600160801b4263ffffffff1602179055305f908152600c60205260409020545f03611e6957611e696330d86fb160e11b611dee565b611e95307f00000000000000000000000000000000000000000000000000000000000000005f19611b36565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198630611ee7306001600160a01b03165f908152600c602052604090205490565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f6044820181905260648201523060848201524260a482015260c40160606040518083038185885af1158015611f48573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611f6d9190613abe565b604080518481526020810184905290810182905292955090935091507fbf59dda00152e02f20e18cab7307c8afe0714e7f69cf24a1377cbbddcb40f9bb9060600160405180910390a16002805460ff60f01b19169055600454600160f81b900460ff1615611fe357611fde81612768565b611fed565b611fed8482612827565b5050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611dbc908490612aa1565b6001600160a01b0381165f9081526001830160205260408120541515610ebd565b60605f610ebd83612b23565b5f610ebd836001600160a01b03841661267e565b5f8181526001830160205260408120541515610ebd565b5f610ebd83836125e3565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480156120f457506001600160a01b0384163014155b801561210d5750600254600160801b900463ffffffff16155b1561212257612122630d970b4560e21b611dee565b6001600160a01b03841661214057612140630b07e54560e11b611dee565b6001600160a01b03831661215e5761215e633a954ecd60e21b611dee565b506001600160a01b0383165f908152600c60205260409020548181101561218f5761218f635dd58b8b60e01b611dee565b612197610ec4565b80156121ad57506003546001600160801b031615155b80156121f057506121bd846118ba565b80156121cf57506121cd8361166d565b155b806121f057506121de836118ba565b80156121f057506121ee8461166d565b155b15610ebd576003546001600160801b031664174876e800018083111561222057612220635eb9ebe760e11b611dee565b509392505050565b7f00000000000000000000000000000000000000000000000000000000000000001561125e57305f908152600c6020526040812054600254909182916127109061228690600160e01b810461ffff16906001600160801b0316613ae9565b6001600160801b03166122999190613b14565b90506122a785858484612b7c565b15611fed576002805460ff60f01b1916600160f01b1790556122ca601482613a94565b8211156122df576122dc601482613a94565b91505b6122e98284612c2e565b6002805460ff60f01b191690555050505050565b807f000000000000000000000000000000000000000000000000000000000000000080156123285750845b801561233e5750600254600160f01b900460ff16155b15612523575f61234d856118ba565b801561235f57505f61235d610db8565b115b1561240257600254600160b01b900461ffff16156123b657600254600580546001600160801b0380821661271061ffff600160b01b90960495909516880294909404938401166001600160801b0319909116179055015b5f6123bf611a83565b905080156123fc5760058054600160801b8082046001600160801b0390811661271089870204908101821690920292169190911790915591909101905b506124bc565b61240b846118ba565b801561241d57505f61241b61198d565b115b156124bc57600254600160a01b900461ffff161561247457600254600580546001600160801b0380821661271061ffff600160a01b90960495909516880294909404938401166001600160801b0319909116179055015b5f61247d6111a6565b905080156124ba5760058054600160801b8082046001600160801b0390811661271089870204908101821690920292169190911790915591909101905b505b801561252157305f818152600c602052604090819020805484019055516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125139085815260200190565b60405180910390a380820391505b505b949350505050565b612533610ec4565b80156125505750600354600160801b90046001600160801b031615155b801561256257506125608261166d565b155b80156125845750612572836118ba565b801561258457506125828261166d565b155b15611dbc576003546001600160801b03600160801b9091041664174876e80001806125c3846001600160a01b03165f908152600c602052604090205490565b6125cd9084613934565b11156115b7576115b7633b016a6d60e11b611dee565b5f81815260018301602052604081205461262857508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610e81565b505f610e81565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8181526001830160205260408120548015612758575f6126a0600183613aab565b85549091505f906126b390600190613aab565b9050818114612712575f865f0182815481106126d1576126d161397f565b905f5260205f200154905080875f0184815481106126f1576126f161397f565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061272357612723613b33565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610e81565b5f915050610e81565b5092915050565b60405163a9059cbb60e01b81525f6004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af11580156127d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f69190613b47565b506040518181527f781a9d251db551fc7922f7facbbe49bc3fd61d3e236a8dafa34afd0539ebfa729060200161119b565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af11580156128b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d79190613b47565b506040516370a0823160e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691638af416f69185917f0000000000000000000000000000000000000000000000000000000000000000918216906370a0823190602401602060405180830381865afa158015612968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298c9190613b62565b6004546129ac90600160a01b90046001600160581b031662015180613b79565b6129bf906001600160581b031642613934565b60405160e086901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925260448201525f6064820152600160848201527f000000000000000000000000000000000000000000000000000000000000000090911660a482015260c4015f604051808303818588803b158015612a40575f80fd5b505af1158015612a52573d5f803e3d5ffd5b505060045460408051868152600160a01b9092046001600160581b031660208301527fcb75aa8347c098d414422e8cafbbe4e2c1a229f5b27bf425984b2b9792aa787a945001915061110c9050565b5f612ae1826040518060400160405280600981526020016818d85b1b0819985a5b60ba1b815250856001600160a01b03166133bc9092919063ffffffff16565b905080515f14158015612b05575080806020019051810190612b039190613b47565b155b15611dbc576040516308575cad60e01b815260040160405180910390fd5b6060815f01805480602002602001604051908101604052809291908181526020018280548015612b7057602002820191905f5260205f20905b815481526020019060010190808311612b5c575b50505050509050919050565b5f818310158015612b975750600254600160f01b900460ff16155b8015612ba95750612ba7856118ba565b155b8015612be757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8015612c2557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b95945050505050565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f81518110612c6557612c6561397f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ce1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d059190613b9c565b81600181518110612d1857612d1861397f565b6001600160a01b0392831660209182029290920101527f00000000000000000000000000000000000000000000000000000000000000001663791ac947855f8430612d6542610258613934565b6040518663ffffffff1660e01b8152600401612d85959493929190613bb7565b5f604051808303815f87803b158015612d9c575f80fd5b505af1925050508015612dad575060015b612dd757604051600581525f80516020613c4e8339815191529060200160405180910390a16115b7565b475f612de38483613aab565b6005549091505f90612e07906001600160801b03600160801b820481169116613bf2565b6005546001600160801b0391821692505f918391612e26911685613a94565b612e309190613b14565b6005549091505f908390612e5490600160801b90046001600160801b031686613a94565b612e5e9190613b14565b905087891015612f49576005548890612e81908b906001600160801b0316613a94565b612e8b9190613b14565b600580545f90612ea59084906001600160801b0316613c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508789600560109054906101000a90046001600160801b03166001600160801b0316612ef49190613a94565b612efe9190613b14565b60058054601090612f20908490600160801b90046001600160801b0316613c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612f4e565b5f6005555b5f80808415613163575a61c35011612f685761c350612f6a565b5a5b6004546040519192506001600160a01b031690829087905f818181858888f193505050503d805f8114612fb8576040519150601f19603f3d011682016040523d82523d5f602084013e612fbd565b606091505b50508093505082613163576001600160a01b038216613059577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613032573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130569190613b9c565b91505b816001600160a01b031663d0e30db0866040518263ffffffff1660e01b81526004015f604051808303818588803b158015613092575f80fd5b505af1935050505080156130a4575060015b6130cf57604051600281525f80516020613c4e833981519152906020015b60405180910390a1613163565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820187905283169063a9059cbb906044016020604051808303815f875af192505050801561313f575060408051601f3d908101601f1916820190925261313c91810190613b47565b60015b61316157604051600181525f80516020613c4e833981519152906020016130c2565b505b83156133ae575a61c3501161317a5761c35061317c565b5a5b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168482906040515f60405180830381858888f193505050503d805f81146131e9576040519150601f19603f3d011682016040523d82523d5f602084013e6131ee565b606091505b505080935050826133ae576001600160a01b03821661328a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613263573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132879190613b9c565b91505b816001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b1580156132c3575f80fd5b505af1935050505080156132d5575060015b61330057604051600481525f80516020613c4e833981519152906020015b60405180910390a16133ae565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905283169063a9059cbb906044016020604051808303815f875af192505050801561338a575060408051601f3d908101601f1916820190925261338791810190613b47565b60015b6133ac57604051600381525f80516020613c4e833981519152906020016132f3565b505b505050505050505050505050565b606061252384845f85856133d4565b60405180910390fd5b5f80866001600160a01b031685876040516133ef9190613c32565b5f6040518083038185875af1925050503d805f8114613429576040519150601f19603f3d011682016040523d82523d5f602084013e61342e565b606091505b509150915061343f8783838761344a565b979650505050505050565b606083156134b85782515f036134b1576001600160a01b0385163b6134b15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016133cb565b5081612523565b61252383838151156134cd5781518083602001fd5b8060405162461bcd60e51b81526004016133cb9190613509565b5f5b838110156135015781810151838201526020016134e9565b50505f910152565b602081525f82518060208401526135278160408501602087016134e7565b601f01601f19169190910160400192915050565b6001600160a01b038116811461109c575f80fd5b5f8060408385031215613560575f80fd5b823561356b8161353b565b946020939093013593505050565b5f805f6060848603121561358b575f80fd5b83356135968161353b565b925060208401356135a68161353b565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156135ee576135ee6135b7565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561361d5761361d6135b7565b604052919050565b801515811461109c575f80fd5b5f8060a08385031215613643575f80fd5b601f8481850112613652575f80fd5b61365a6135cb565b80608086018781111561366b575f80fd5b865b8181101561368e57803561368081613625565b84526020938401930161366d565b5090945035905067ffffffffffffffff808211156136aa575f80fd5b818601915086838301126136bc575f80fd5b6136c46135cb565b8060808401898111156136d5575f80fd5b845b8181101561375a578035858111156136ee575f8081fd5b86018781018c136136fe575f8081fd5b8035602087821115613712576137126135b7565b613723828b01601f191682016135f4565b8281528e82848601011115613737575f8081fd5b82828501838301375f9281018201929092529086529490940193506020016136d7565b5096999098509650505050505050565b803561ffff8116811461377b575f80fd5b919050565b5f60208284031215613790575f80fd5b610ebd8261376a565b5f602082840312156137a9575f80fd5b5035919050565b5f602082840312156137c0575f80fd5b8135610ebd8161353b565b5f80604083850312156137dc575f80fd5b6137e58361376a565b91506137f36020840161376a565b90509250929050565b5f805f6060848603121561380e575f80fd5b8335925060208401359150604084013561382781613625565b809150509250925092565b5f8151808452602080850194508084015f5b838110156138695781516001600160a01b031687529582019590820190600101613844565b509495945050505050565b602081525f610ebd6020830184613832565b602080825282518282018190525f9190848201906040850190845b818110156138bd578351835292840192918401916001016138a1565b50909695505050505050565b5f80604083850312156138da575f80fd5b50508035926020909101359150565b5f80604083850312156138fa575f80fd5b82356139058161353b565b915060208301356139158161353b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e8157610e81613920565b600181811c9082168061395b57607f821691505b60208210810361397957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b601f821115611dbc575f81815260208120601f850160051c810160208610156139b95750805b601f850160051c820191505b81811015611cd3578281556001016139c5565b815167ffffffffffffffff8111156139f2576139f26135b7565b613a0681613a008454613947565b84613993565b602080601f831160018114613a39575f8415613a225750858301515b5f19600386901b1c1916600185901b178555611cd3565b5f85815260208120601f198616915b82811015613a6757888601518255948401946001909101908401613a48565b5085821015613a8457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8082028115828204841417610e8157610e81613920565b81810381811115610e8157610e81613920565b5f805f60608486031215613ad0575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b03818116838216028082169190828114613b0c57613b0c613920565b505092915050565b5f82613b2e57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215613b57575f80fd5b8151610ebd81613625565b5f60208284031215613b72575f80fd5b5051919050565b6001600160581b03818116838216028082169190828114613b0c57613b0c613920565b5f60208284031215613bac575f80fd5b8151610ebd8161353b565b85815284602082015260a060408201525f613bd560a0830186613832565b6001600160a01b0394909416606083015250608001529392505050565b6001600160801b0381811683821601908082111561276157612761613920565b6001600160801b0382811682821603908082111561276157612761613920565b5f8251613c438184602087016134e7565b919091019291505056fe60dc41faad9fe4f70f304dcef26d96d71e98ec8e21e4a340921d94dfe46307dca26469706673582212207cb4b03d3f5d5fd2a1681fb8f0a78f727941f8c76c37a8bf8d45af380873cd5964736f6c634300081500330000000000000000000000004a3f5eb8ee6cde521ea1bcba366065508564751a0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000663a5c229c09b049e36dcc11a9b0d4a8eb9db2140000000000000000000000008c4113c37cb19ac017a6ad85c791b9d5988732d900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b424c4f434b4255535445520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007424c4b4253545200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b68747470733a2f2f7777772e626c6f636b6275737465722e636f6d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d68747470733a2f2f742e6d652f36707641674245454e51686b4f57497800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000389fd9800000000000000000000000000000000000000000000000000000000002faf0800000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000bbf81e000000000000000000000000004a3f5eb8ee6cde521ea1bcba366065508564751a0000000000000000000000004a3f5eb8ee6cde521ea1bcba366065508564751a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000009c400000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000004a3f5eb8ee6cde521ea1bcba366065508564751a000000000000000000000000de3ff2a50bd1ba1bd6a608ea0138946dddf595bc000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000