Files
to_session/web_process/MetaMask 12.16.1/common-0.js
Administrator a0720d80dc fefdwef
2025-11-12 12:54:37 +08:00

1 line
1.3 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

LavaPack.loadBundle([[1,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){t.exports={QRHardwareInvalidTransactionTitle:{message:"Error"},QRHardwareMismatchedSignId:{message:"Incongruent transaction data. Please check the transaction details."},QRHardwarePubkeyAccountOutOfRange:{message:"No more accounts. If you would like to access another account unlisted below, please reconnect your hardware wallet and select it."},QRHardwareScanInstructions:{message:"Place the QR code in front of your camera. The screen is blurred, but it will not affect the reading."},QRHardwareSignRequestCancel:{message:"Reject"},QRHardwareSignRequestDescription:{message:"After youve signed with your wallet, click on 'Get Signature' to receive the signature"},QRHardwareSignRequestGetSignature:{message:"Get signature"},QRHardwareSignRequestSubtitle:{message:"Scan the QR code with your wallet"},QRHardwareSignRequestTitle:{message:"Request signature"},QRHardwareUnknownQRCodeTitle:{message:"Error"},QRHardwareUnknownWalletQRCode:{message:"Invalid QR code. Please scan the sync QR code of the hardware wallet."},QRHardwareWalletImporterTitle:{message:"Scan QR code"},QRHardwareWalletSteps1Description:{message:"You can choose from a list of official QR-code supporting partners below."},QRHardwareWalletSteps1Title:{message:"Connect your QR hardware wallet"},QRHardwareWalletSteps2Description:{message:"Ngrave Zero"},SrpListHideAccounts:{message:"Hide $1 accounts",description:"$1 is the number of accounts"},SrpListHideSingleAccount:{message:"Hide 1 account"},SrpListShowAccounts:{message:"Show $1 accounts",description:"$1 is the number of accounts"},SrpListShowSingleAccount:{message:"Show 1 account"},about:{message:"About"},accept:{message:"Accept"},acceptTermsOfUse:{message:"I have read and agree to the $1",description:"$1 is the `terms` message"},accessYourWalletWithSRP:{message:"Access your wallet with your Secret Recovery Phrase"},accessYourWalletWithSRPDescription:{message:"MetaMask cannot recover your password. We will use your Secret Recovery Phrase to validate your ownership, restore your wallet and set up a new password. First, enter the Secret Recovery Phrase that you were given when you created your wallet. $1",description:"$1 is the words 'Learn More' from key 'learnMore', separated here so that it can be added as a link"},accessingYourCamera:{message:"Accessing your camera..."},account:{message:"Account"},accountActivity:{message:"Account activity"},accountActivityText:{message:"Select the accounts you want to be notified about:"},accountDetails:{message:"Account details"},accountDetailsRevokeDelegationButton:{message:" Switch back to regular account"},accountIdenticon:{message:"Account identicon"},accountIsntConnectedToastText:{message:"$1 isn't connected to $2"},accountName:{message:"Account name"},accountNameDuplicate:{message:"This account name already exists",description:"This is an error message shown when the user enters a new account name that matches an existing account name"},accountNameReserved:{message:"This account name is reserved",description:"This is an error message shown when the user enters a new account name that is reserved for future use"},accountOptions:{message:"Account options"},accountPermissionToast:{message:"Account permissions updated"},accountSelectionRequired:{message:"You need to select an account!"},accountTypeNotSupported:{message:"Account type not supported"},accounts:{message:"Accounts"},accountsConnected:{message:"Accounts connected"},accountsPermissionsTitle:{message:"See your accounts and suggest transactions"},accountsSmallCase:{message:"accounts"},active:{message:"Active"},activity:{message:"Activity"},activityLog:{message:"Activity log"},add:{message:"Add"},addACustomNetwork:{message:"Add a custom network"},addANetwork:{message:"Add a network"},addANickname:{message:"Add a nickname"},addAUrl:{message:"Add a URL"},addAccount:{message:"Add account"},addAccountToMetaMask:{message:"Add account to MetaMask"},addAcquiredTokens:{message:"Add the tokens you've acquired using MetaMask"},addAlias:{message:"Add alias"},addBitcoinAccountLabel:{message:"Bitcoin account (Beta)"},addBitcoinTestnetAccountLabel:{message:"Bitcoin account (Testnet)"},addBlockExplorer:{message:"Add a block explorer"},addBlockExplorerUrl:{message:"Add a block explorer URL"},addContact:{message:"Add contact"},addCustomNetwork:{message:"Add custom network"},addEthereumChainWarningModalHeader:{message:"Only add this RPC provider if youre sure you can trust it. $1",description:"$1 is addEthereumChainWarningModalHeaderPartTwo passed separately so that it can be bolded"},addEthereumChainWarningModalHeaderPartTwo:{message:"Malicious providers may lie about the state of the blockchain and record your network activity."},addEthereumChainWarningModalListHeader:{message:"It's important that your provider is reliable, as it has the power to:"},addEthereumChainWarningModalListPointOne:{message:"See your accounts and IP address, and associate them together"},addEthereumChainWarningModalListPointThree:{message:"Show account balances and other on-chain states"},addEthereumChainWarningModalListPointTwo:{message:"Broadcast your transactions"},addEthereumChainWarningModalTitle:{message:"You are adding a new RPC provider for Ethereum Mainnet"},addEthereumWatchOnlyAccount:{message:"Watch an Ethereum account (Beta)"},addFriendsAndAddresses:{message:"Add friends and addresses you trust"},addHardwareWalletLabel:{message:"Hardware wallet"},addIPFSGateway:{message:"Add your preferred IPFS gateway"},addImportAccount:{message:"Add account or hardware wallet"},addMemo:{message:"Add memo"},addNetwork:{message:"Add network"},addNetworkConfirmationTitle:{message:"Add $1",description:"$1 represents network name"},addNewAccount:{message:"Add a new Ethereum account"},addNewEthereumAccountLabel:{message:"Ethereum account"},addNewSolanaAccountLabel:{message:"Solana account"},addNft:{message:"Add NFT"},addNfts:{message:"Add NFTs"},addNonEvmAccount:{message:"Add $1 account",description:"$1 is the non EVM network where the account is going to be created, e.g. Bitcoin or Solana"},addNonEvmAccountFromNetworkPicker:{message:"To enable the $1 network, you need to create a $1 account.",description:"$1 is the non EVM network where the account is going to be created, e.g. Bitcoin or Solana"},addRpcUrl:{message:"Add RPC URL"},addSnapAccountToggle:{message:'Enable "Add account Snap (Beta)"'},addSnapAccountsDescription:{message:"Turning on this feature will give you the option to add the new Beta account Snaps right from your account list. If you install an account Snap, remember that it is a third-party service."},addSuggestedNFTs:{message:"Add suggested NFTs"},addSuggestedTokens:{message:"Add suggested tokens"},addToken:{message:"Add token"},addTokenByContractAddress:{message:"Cant find a token? You can manually add any token by pasting its address. Token contract addresses can be found on $1",description:"$1 is a blockchain explorer for a specific network, e.g. Etherscan for Ethereum"},addUrl:{message:"Add URL"},addingAccount:{message:"Adding account"},addingCustomNetwork:{message:"Adding Network"},additionalNetworks:{message:"Additional networks"},address:{message:"Address"},addressCopied:{message:"Address copied!"},addressMismatch:{message:"Site address mismatch"},addressMismatchOriginal:{message:"Current URL: $1",description:"$1 replaced by origin URL in confirmation request"},addressMismatchPunycode:{message:"Punycode version: $1",description:"$1 replaced by punycode version of the URL in confirmation request"},advanced:{message:"Advanced"},advancedBaseGasFeeToolTip:{message:"When your transaction gets included in the block, any difference between your max base fee and the actual base fee will be refunded. Total amount is calculated as max base fee (in GWEI) * gas limit."},advancedDetailsDataDesc:{message:"Data"},advancedDetailsHexDesc:{message:"Hex"},advancedDetailsNonceDesc:{message:"Nonce"},advancedDetailsNonceTooltip:{message:"This is the transaction number of an account. Nonce for the first transaction is 0 and it increases in sequential order."},advancedGasFeeDefaultOptIn:{message:"Save these values as my default for the $1 network.",description:"$1 is the current network name."},advancedGasFeeModalTitle:{message:"Advanced gas fee"},advancedGasPriceTitle:{message:"Gas price"},advancedPriorityFeeToolTip:{message:"Priority fee (aka “miner tip”) goes directly to miners and incentivizes them to prioritize your transaction."},aggregatedBalancePopover:{message:"This reflects the value of all tokens you own on a given network. If you prefer seeing this value in ETH or other currencies, go to $1.",description:"$1 represents the settings page"},agreeTermsOfUse:{message:"I agree to MetaMask's $1",description:"$1 is the `terms` link"},airDropPatternDescription:{message:"The token's on-chain history reveals prior instances of suspicious airdrop activities."},airDropPatternTitle:{message:"Airdrop Pattern"},airgapVault:{message:"AirGap Vault"},alert:{message:"Alert"},alertActionBuyWithNativeCurrency:{message:"Buy $1"},alertActionUpdateGas:{message:"Update gas limit"},alertActionUpdateGasFee:{message:"Update fee"},alertActionUpdateGasFeeLevel:{message:"Update gas options"},alertDisableTooltip:{message:'This can be changed in "Settings > Alerts"'},alertMessageAddressMismatchWarning:{message:"Attackers sometimes mimic sites by making small changes to the site address. Make sure you're interacting with the intended site before you continue."},alertMessageChangeInSimulationResults:{message:"Estimated changes for this transaction have been updated. Review them closely before proceeding."},alertMessageFirstTimeInteraction:{message:"You're interacting with this address for the first time. Make sure that it's correct before you continue."},alertMessageGasEstimateFailed:{message:"Were unable to provide an accurate fee and this estimate might be high. We suggest you to input a custom gas limit, but theres a risk the transaction will still fail."},alertMessageGasFeeLow:{message:"When choosing a low fee, expect slower transactions and longer wait times. For faster transactions, choose Market or Aggressive fee options."},alertMessageGasTooLow:{message:"To continue with this transaction, youll need to increase the gas limit to 21000 or higher."},alertMessageInsufficientBalanceWithNativeCurrency:{message:"You do not have enough $1 in your account to pay for network fees."},alertMessageNetworkBusy:{message:"Gas prices are high and estimates are less accurate."},alertMessageNoGasPrice:{message:"We cant move forward with this transaction until you manually update the fee."},alertMessageSignInDomainMismatch:{message:"The site making the request is not the site youre signing into. This could be an attempt to steal your login credentials."},alertMessageSignInWrongAccount:{message:"This site is asking you to sign in using the wrong account."},alertModalAcknowledge:{message:"I have acknowledged the risk and still want to proceed"},alertModalDetails:{message:"Alert Details"},alertModalReviewAllAlerts:{message:"Review all alerts"},alertReasonChangeInSimulationResults:{message:"Results have changed"},alertReasonFirstTimeInteraction:{message:"1st interaction"},alertReasonGasEstimateFailed:{message:"Inaccurate fee"},alertReasonGasFeeLow:{message:"Slow speed"},alertReasonGasTooLow:{message:"Low gas limit"},alertReasonInsufficientBalance:{message:"Insufficient funds"},alertReasonNetworkBusy:{message:"Network is busy"},alertReasonNoGasPrice:{message:"Fee estimate unavailable"},alertReasonPendingTransactions:{message:"Pending transaction"},alertReasonSignIn:{message:"Suspicious sign-in request"},alertReasonWrongAccount:{message:"Wrong account"},alertSelectedAccountWarning:{message:"This request is for a different account than the one selected in your wallet. To use another account, connect it to the site."},alerts:{message:"Alerts"},all:{message:"All"},allNetworks:{message:"All networks"},allPermissions:{message:"All Permissions"},allTimeHigh:{message:"All time high"},allTimeLow:{message:"All time low"},allowNotifications:{message:"Allow notifications"},allowWithdrawAndSpend:{message:"Allow $1 to withdraw and spend up to the following amount:",description:"The url of the site that requested permission to 'withdraw and spend'"},amount:{message:"Amount"},amountReceived:{message:"Amount Received"},amountSent:{message:"Amount Sent"},andForListItems:{message:"$1, and $2",description:"$1 is the first item, $2 is the last item in a list of items. Used in Snap Install Warning modal."},andForTwoItems:{message:"$1 and $2",description:"$1 is the first item, $2 is the second item. Used in Snap Install Warning modal."},appDescription:{message:"An Ethereum Wallet in your Browser",description:"The description of the application"},appName:{message:"MetaMask",description:"The name of the application"},appNameBeta:{message:"MetaMask Beta",description:"The name of the application (Beta)"},appNameFlask:{message:"MetaMask Flask",description:"The name of the application (Flask)"},appNameMmi:{message:"MetaMask Institutional",description:"The name of the application (MMI)"},apply:{message:"Apply"},approve:{message:"Approve spend limit"},approveButtonText:{message:"Approve"},approveIncreaseAllowance:{message:"Increase $1 spending cap",description:"The token symbol that is being approved"},approveSpendingCap:{message:"Approve $1 spending cap",description:"The token symbol that is being approved"},approved:{message:"Approved"},approvedOn:{message:"Approved on $1",description:"$1 is the approval date for a permission"},approvedOnForAccounts:{message:"Approved on $1 for $2",description:"$1 is the approval date for a permission. $2 is the AvatarGroup component displaying account images."},areYouSure:{message:"Are you sure?"},asset:{message:"Asset"},assetMultipleNFTsBalance:{message:"$1 NFTs"},assetOptions:{message:"Asset options"},assetSingleNFTBalance:{message:"$1 NFT"},assets:{message:"Assets"},assetsDescription:{message:"Autodetect tokens in your wallet, display NFTs, and get batched account balance updates"},attemptToCancelSwapForFree:{message:"Attempt to cancel swap for free"},attributes:{message:"Attributes"},attributions:{message:"Attributions"},auroraRpcDeprecationMessage:{message:"The Infura RPC URL is no longer supporting Aurora."},authorizedPermissions:{message:"You have authorized the following permissions"},autoDetectTokens:{message:"Autodetect tokens"},autoDetectTokensDescription:{message:"We use third-party APIs to detect and display new tokens sent to your wallet. Turn off if you dont want the app to automatically pull data from those services. $1",description:"$1 is a link to a support article"},autoLockTimeLimit:{message:"Auto-lock timer (minutes)"},autoLockTimeLimitDescription:{message:"Set the idle time in minutes before MetaMask will become locked."},average:{message:"Average"},back:{message:"Back"},backupApprovalInfo:{message:"This secret code is required to recover your wallet in case you lose your device, forget your password, have to re-install MetaMask, or want to access your wallet on another device."},backupApprovalNotice:{message:"Back up your Secret Recovery Phrase to keep your wallet and funds secure."},backupKeyringSnapReminder:{message:"Be sure you can access any accounts created by this Snap on your own before removing it"},backupNow:{message:"Back up now"},balance:{message:"Balance"},balanceOutdated:{message:"Balance may be outdated"},baseFee:{message:"Base fee"},basic:{message:"Basic"},basicConfigurationBannerCTA:{message:"Turn on basic functionality"},basicConfigurationBannerTitle:{message:"Basic functionality is off"},basicConfigurationDescription:{message:"MetaMask offers basic features like token details and gas settings through internet services. When you use internet services, your IP address is shared, in this case with MetaMask. This is just like when you visit any website. MetaMask uses this data temporarily and never sells your data. You can use a VPN or turn off these services, but it may affect your MetaMask experience. To learn more read our $1.",description:"$1 is to be replaced by the message for privacyMsg, and will link to https://consensys.io/privacy-policy"},basicConfigurationLabel:{message:"Basic functionality"},basicConfigurationModalCheckbox:{message:"I understand and want to continue"},basicConfigurationModalDisclaimerOff:{message:"This means you won't fully optimize your time on MetaMask. Basic features (like token details, optimal gas settings, and others) won't be available to you."},basicConfigurationModalDisclaimerOn:{message:"To optimize your time on MetaMask, youll need to turn on this feature. Basic functions (like token details, optimal gas settings, and others) are important to the web3 experience."},basicConfigurationModalHeadingOff:{message:"Turn off basic functionality"},basicConfigurationModalHeadingOn:{message:"Turn on basic functionality"},bestPrice:{message:"Best price"},beta:{message:"Beta"},betaHeaderText:{message:"This is a beta version. Please report bugs $1"},betaMetamaskVersion:{message:"MetaMask Beta Version"},betaTerms:{message:"Beta Terms of use"},billionAbbreviation:{message:"B",description:"Shortened form of 'billion'"},bitcoinSupportSectionTitle:{message:"Bitcoin"},bitcoinSupportToggleDescription:{message:"Turning on this feature will give you the option to add a Bitcoin Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk. To give us feedback on this new Bitcoin experience, please fill out this $1.",description:"$1 is the link to a product feedback form"},bitcoinSupportToggleTitle:{message:'Enable "Add a new Bitcoin account (Beta)"'},bitcoinTestnetSupportToggleDescription:{message:"Turning on this feature will give you the option to add a Bitcoin Account for the test network."},bitcoinTestnetSupportToggleTitle:{message:'Enable "Add a new Bitcoin account (Testnet)"'},blockExplorerAccountAction:{message:"Account",description:"This is used with viewOnEtherscan and viewInExplorer e.g View Account in Explorer"},blockExplorerAssetAction:{message:"Asset",description:"This is used with viewOnEtherscan and viewInExplorer e.g View Asset in Explorer"},blockExplorerSwapAction:{message:"Swap",description:"This is used with viewOnEtherscan e.g View Swap on Etherscan"},blockExplorerUrl:{message:"Block explorer URL"},blockExplorerUrlDefinition:{message:"The URL used as the block explorer for this network."},blockExplorerView:{message:"View account at $1",description:"$1 replaced by URL for custom block explorer"},blockaid:{message:"Blockaid"},blockaidAlertInfoDescription:{message:"A third party known for scams has access to this site. If you proceed, you'll lose assets."},blockaidAlertInfoDescription2:{message:"The site may look safe, but a third party might have access to its information. If you sign in, your assets could get stolen."},blockaidAlertInfoDescription3:{message:"If you confirm, you could lose all your funds and assets."},blockaidAlertInfoDescription4:{message:"If you sign in, any or all assets you've listed on OpenSea are at risk."},blockaidAlertInfoDescription5:{message:"If you sign in, any or all assets you've listed on Blur are at risk."},blockaidAlertInfoDescription6:{message:"This site is recognized as a malicious domain. If you sign in, you will lose funds and assets. We strongly suggest you cancel this request."},blockaidAlertInfoDescription7:{message:"If you sign in, you could lose all your assets. We recommend you cancel this request."},blockaidDescriptionApproveFarming:{message:"If you approve this request, a third party known for scams might take all your assets."},blockaidDescriptionBlurFarming:{message:"If you approve this request, someone can steal your assets listed on Blur."},blockaidDescriptionErrored:{message:"Because of an error, we couldn't check for security alerts. Only continue if you trust every address involved."},blockaidDescriptionMaliciousDomain:{message:"You're interacting with a malicious domain. If you approve this request, you might lose your assets."},blockaidDescriptionMightLoseAssets:{message:"If you approve this request, you might lose your assets."},blockaidDescriptionSeaportFarming:{message:"If you approve this request, someone can steal your assets listed on OpenSea."},blockaidDescriptionTransferFarming:{message:"If you approve this request, a third party known for scams will take all your assets."},blockaidMessage:{message:"Privacy preserving - no data is shared with third parties. Available on Arbitrum, Avalanche, BNB chain, Ethereum Mainnet, Linea, Optimism, Polygon, Base and Sepolia."},blockaidTitleDeceptive:{message:"This is a deceptive request"},blockaidTitleMayNotBeSafe:{message:"Be careful"},blockaidTitleSuspicious:{message:"This is a suspicious request"},blockies:{message:"Blockies"},boughtFor:{message:"Bought for"},bridge:{message:"Bridge"},bridgeAllowSwappingOf:{message:"Allow exact access to $1 $2 on $3 for bridging",description:"Shows a user that they need to allow a token for swapping on their hardware wallet"},bridgeApproval:{message:"Approve $1 for bridge",description:"Used in the transaction display list to describe a transaction that is an approve call on a token that is to be bridged. $1 is the symbol of a token that has been approved."},bridgeApprovalWarning:{message:"You are allowing access to the specified amount, $1 $2. The contract will not access any additional funds."},bridgeApprovalWarningForHardware:{message:"You will need to allow access to $1 $2 for bridging, and then approve bridging to $2. This will require two separate confirmations."},bridgeCalculatingAmount:{message:"Calculating..."},bridgeConfirmTwoTransactions:{message:"You'll need to confirm 2 transactions on your hardware wallet:"},bridgeCreateSolanaAccount:{message:"Create Solana account"},bridgeCreateSolanaAccountDescription:{message:"To swap to the Solana network, you need an account and receiving address."},bridgeCreateSolanaAccountTitle:{message:"You'll need a Solana account first."},bridgeEnterAmount:{message:"Select amount"},bridgeEnterAmountAndSelectAccount:{message:"Enter amount and select destination account"},bridgeExplorerLinkViewOn:{message:"View on $1"},bridgeFetchNewQuotes:{message:"Fetch a new one?"},bridgeFrom:{message:"Bridge from"},bridgeFromTo:{message:"Bridge $1 $2 to $3",description:"Tells a user that they need to confirm on their hardware wallet a bridge. $1 is amount of source token, $2 is the source network, and $3 is the destination network"},bridgeGasFeesSplit:{message:"Any network fee quoted on the previous screen includes both transactions and will be split."},bridgeNetCost:{message:"Net cost"},bridgeQuoteExpired:{message:"Your quote timed out."},bridgeSelectDestinationAccount:{message:"Select destination account"},bridgeSelectNetwork:{message:"Select network"},bridgeSelectTokenAmountAndAccount:{message:"Select token, amount and destination account"},bridgeSelectTokenAndAmount:{message:"Select token and amount"},bridgeStepActionBridgeComplete:{message:"$1 received on $2",description:"$1 is the amount of the destination asset, $2 is the name of the destination network"},bridgeStepActionBridgePending:{message:"Receiving $1 on $2",description:"$1 is the amount of the destination asset, $2 is the name of the destination network"},bridgeStepActionSwapComplete:{message:"Swapped $1 for $2",description:"$1 is the amount of the source asset, $2 is the amount of the destination asset"},bridgeStepActionSwapPending:{message:"Swapping $1 for $2",description:"$1 is the amount of the source asset, $2 is the amount of the destination asset"},bridgeTerms:{message:"Terms"},bridgeTimingMinutes:{message:"$1 min",description:"$1 is the ticker symbol of a an asset the user is being prompted to purchase"},bridgeTo:{message:"Bridge to"},bridgeToChain:{message:"Bridge to $1"},bridgeTxDetailsBridging:{message:"Bridging"},bridgeTxDetailsDelayedDescription:{message:"Reach out to"},bridgeTxDetailsDelayedDescriptionSupport:{message:"MetaMask Support"},bridgeTxDetailsDelayedTitle:{message:"Has it been longer than 3 hours?"},bridgeTxDetailsNonce:{message:"Nonce"},bridgeTxDetailsStatus:{message:"Status"},bridgeTxDetailsTimestamp:{message:"Time stamp"},bridgeTxDetailsTimestampValue:{message:"$1 at $2",description:"$1 is the date, $2 is the time"},bridgeTxDetailsTokenAmountOnChain:{message:"$1 $2 on",description:"$1 is the amount of the token, $2 is the ticker symbol of the token"},bridgeTxDetailsTotalGasFee:{message:"Total gas fee"},bridgeTxDetailsYouReceived:{message:"You received"},bridgeTxDetailsYouSent:{message:"You sent"},bridgeValidationInsufficientGasMessage:{message:"You don't have enough $1 to pay the gas fee for this bridge. Enter a smaller amount or buy more $1."},bridgeValidationInsufficientGasTitle:{message:"More $1 needed for gas"},bridging:{message:"Bridging"},browserNotSupported:{message:"Your browser is not supported..."},buildContactList:{message:"Build your contact list"},builtAroundTheWorld:{message:"MetaMask is designed and built around the world."},bulletpoint:{message:"·"},busy:{message:"Busy"},buyAndSell:{message:"Buy & Sell"},buyMoreAsset:{message:"Buy more $1",description:"$1 is the ticker symbol of a an asset the user is being prompted to purchase"},buyNow:{message:"Buy Now"},bytes:{message:"Bytes"},canToggleInSettings:{message:"You can re-enable this notification in Settings > Alerts."},cancel:{message:"Cancel"},cancelPopoverTitle:{message:"Cancel transaction"},cancelSpeedUpLabel:{message:"This gas fee will $1 the original.",description:"$1 is text 'replace' in bold"},cancelSpeedUpTransactionTooltip:{message:"To $1 a transaction the gas fee must be increased by at least 10% for it to be recognized by the network.",description:"$1 is string 'cancel' or 'speed up'"},cancelled:{message:"Cancelled"},chainId:{message:"Chain ID"},chainIdDefinition:{message:"The chain ID used to sign transactions for this network."},chainIdExistsErrorMsg:{message:"This Chain ID is currently used by the $1 network."},chainListReturnedDifferentTickerSymbol:{message:"This token symbol doesn't match the network name or chain ID entered. Many popular tokens use similar symbols, which scammers can use to trick you into sending them a more valuable token in return. Verify everything before you continue."},chooseYourNetwork:{message:"Choose your network"},chooseYourNetworkDescription:{message:"We use Infura as our remote procedure call (RPC) provider to offer the most reliable and private access to Ethereum data we can. You can choose your own RPC, but remember that any RPC will receive your IP address and Ethereum wallet to make transactions. Read our $1 to learn more about how Infura handles data.",description:"$1 is a link to the privacy policy"},chromeRequiredForHardwareWallets:{message:"You need to use MetaMask on Google Chrome in order to connect to your Hardware Wallet."},circulatingSupply:{message:"Circulating supply"},clear:{message:"Clear"},clearActivity:{message:"Clear activity and nonce data"},clearActivityButton:{message:"Clear activity tab data"},clearActivityDescription:{message:"This resets the account's nonce and erases data from the activity tab in your wallet. Only the current account and network will be affected. Your balances and incoming transactions won't change."},click:{message:"Click"},clickToConnectLedgerViaWebHID:{message:"Click here to connect your Ledger via WebHID",description:"Text that can be clicked to open a browser popup for connecting the ledger device via webhid"},close:{message:"Close"},closeExtension:{message:"Close extension"},closeWindowAnytime:{message:"You may close this window anytime."},coingecko:{message:"CoinGecko"},collectionName:{message:"Collection name"},comboNoOptions:{message:"No options found",description:"Default text shown in the combo field dropdown if no options."},concentratedSupplyDistributionDescription:{message:"The majority of the token's supply is held by the top token holders, posing a risk of centralized price manipulation"},concentratedSupplyDistributionTitle:{message:"Concentrated Supply Distribution"},configureSnapPopupDescription:{message:"You're now leaving MetaMask to configure this snap."},configureSnapPopupInstallDescription:{message:"You're now leaving MetaMask to install this snap."},configureSnapPopupInstallTitle:{message:"Install snap"},configureSnapPopupLink:{message:"Click this link to continue:"},configureSnapPopupTitle:{message:"Configure snap"},confirm:{message:"Confirm"},confirmAccountType:{message:"Type"},confirmAccountTypeSmartContract:{message:"Smart account"},confirmAccountTypeStandard:{message:"Standard account"},confirmAlertModalAcknowledgeMultiple:{message:"I have acknowledged the alerts and still want to proceed"},confirmAlertModalAcknowledgeSingle:{message:"I have acknowledged the alert and still want to proceed"},confirmFieldPaymaster:{message:"Fee paid by"},confirmFieldTooltipPaymaster:{message:"The fee for this transaction will be paid by the paymaster smart contract."},confirmGasFeeTokenBalance:{message:"Bal:"},confirmGasFeeTokenInsufficientBalance:{message:"Insufficient funds"},confirmGasFeeTokenMetaMaskFee:{message:"Includes $1 fee"},confirmGasFeeTokenModalTitle:{message:"Select a token"},confirmGasFeeTokenToast:{message:"You're paying this network fee with $1"},confirmGasFeeTokenTooltip:{message:"This is paid to the network to process your transaction. It includes a $1 MetaMask fee for non-ETH tokens."},confirmNestedTransactionTitle:{message:"Transaction $1"},confirmPassword:{message:"Confirm password"},confirmRecoveryPhrase:{message:"Confirm Secret Recovery Phrase"},confirmSimulationApprove:{message:"You approve"},confirmTitleApproveTransactionNFT:{message:"Withdrawal request"},confirmTitleDeployContract:{message:"Deploy a contract"},confirmTitleDescApproveTransaction:{message:"This site wants permission to withdraw your NFTs"},confirmTitleDescDeployContract:{message:"This site wants you to deploy a contract"},confirmTitleDescERC20ApproveTransaction:{message:"This site wants permission to withdraw your tokens"},confirmTitleDescPermitSignature:{message:"This site wants permission to spend your tokens."},confirmTitleDescRevokeDelegation:{message:"This site is requesting to switch back to a standard account."},confirmTitleDescSIWESignature:{message:"A site wants you to sign in to prove you own this account."},confirmTitleDescSign:{message:"Review request details before you confirm."},confirmTitlePermitTokens:{message:"Spending cap request"},confirmTitleRevokeApproveTransaction:{message:"Remove permission"},confirmTitleRevokeDelegation:{message:"Reset account"},confirmTitleSIWESignature:{message:"Sign-in request"},confirmTitleSetApprovalForAllRevokeTransaction:{message:"Remove permission"},confirmTitleSignature:{message:"Signature request"},confirmTitleTransaction:{message:"Transaction request"},confirmUpgradeAcknowledge:{message:"If you confirm this request, your account will be updated to a smart account."},confirmUpgradeCancelModalButtonCancelTransaction:{message:"Cancel transaction"},confirmUpgradeCancelModalButtonCancelUpgrade:{message:"Cancel update & transaction"},confirmUpgradeCancelModalDescription:{message:"If you don't want to update your account, you can cancel it here.\n\nTo finish this transaction without an update, you'll need to make this request again on the site. $1."},confirmUpgradeCancelModalTitle:{message:"Cancel transaction"},confirmationAlertDetails:{message:"To protect your assets, we suggest you reject the request."},confirmationAlertModalTitleDescription:{message:"Your assets may be at risk"},confirmed:{message:"Confirmed"},confusableUnicode:{message:"'$1' is similar to '$2'."},confusableZeroWidthUnicode:{message:"Zero-width character found."},confusingEnsDomain:{message:"We have detected a confusable character in the ENS name. Check the ENS name to avoid a potential scam."},congratulations:{message:"Congratulations!"},connect:{message:"Connect"},connectAccount:{message:"Connect account"},connectAccountOrCreate:{message:"Connect account or create new"},connectAccounts:{message:"Connect accounts"},connectAnAccountHeader:{message:"Connect an account"},connectManually:{message:"Manually connect to current site"},connectMoreAccounts:{message:"Connect more accounts"},connectSnap:{message:"Connect $1",description:"$1 is the snap for which a connection is being requested."},connectWithMetaMask:{message:"Connect with MetaMask"},connectedAccounts:{message:"Connected accounts"},connectedAccountsDescriptionPlural:{message:"You have $1 accounts connected to this site.",description:"$1 is the number of accounts"},connectedAccountsDescriptionSingular:{message:"You have 1 account connected to this site."},connectedAccountsEmptyDescription:{message:"MetaMask is not connected to this site. To connect to a web3 site, find and click the connect button."},connectedAccountsListTooltip:{message:"$1 can see the account balance, address, activity, and suggest transactions to approve for connected accounts.",description:"$1 is the origin name"},connectedAccountsToast:{message:"Connected accounts updated"},connectedSites:{message:"Connected sites"},connectedSitesAndSnaps:{message:"Connected sites and Snaps"},connectedSitesDescription:{message:"$1 is connected to these sites. They can view your account address.",description:"$1 is the account name"},connectedSitesEmptyDescription:{message:"$1 is not connected to any sites.",description:"$1 is the account name"},connectedSnapAndNoAccountDescription:{message:"MetaMask is connected to this site, but no accounts are connected yet"},connectedSnaps:{message:"Connected Snaps"},connectedWithAccount:{message:"$1 accounts connected",description:"$1 represents account length"},connectedWithAccountName:{message:"Connected with $1",description:"$1 represents account name"},connectedWithNetwork:{message:"$1 networks connected",description:"$1 represents network length"},connectedWithNetworkName:{message:"Connected with $1",description:"$1 represents network name"},connecting:{message:"Connecting"},connectingTo:{message:"Connecting to $1"},connectingToDeprecatedNetwork:{message:"'$1' is being phased out and may not work. Try another network."},connectingToGoerli:{message:"Connecting to Goerli test network"},connectingToLineaGoerli:{message:"Connecting to Linea Goerli test network"},connectingToLineaMainnet:{message:"Connecting to Linea Mainnet"},connectingToLineaSepolia:{message:"Connecting to Linea Sepolia test network"},connectingToMainnet:{message:"Connecting to Ethereum Mainnet"},connectingToSepolia:{message:"Connecting to Sepolia test network"},connectionDescription:{message:"Connect this website with MetaMask."},connectionFailed:{message:"Connection failed"},connectionFailedDescription:{message:"Fetching of $1 failed, check your network and try again.",description:"$1 is the name of the snap being fetched."},connectionPopoverDescription:{message:"To connect to a site, select the connect button. MetaMask can only connect to web3 sites."},connectionRequest:{message:"Connection request"},contactUs:{message:"Contact us"},contacts:{message:"Contacts"},contentFromSnap:{message:"Content from $1",description:"$1 represents the name of the snap"},continue:{message:"Continue"},contract:{message:"Contract"},contractAddress:{message:"Contract address"},contractAddressError:{message:"You are sending tokens to the token's contract address. This may result in the loss of these tokens."},contractDeployment:{message:"Contract deployment"},contractInteraction:{message:"Contract interaction"},convertTokenToNFTDescription:{message:"We've detected that this asset is an NFT. MetaMask now has full native support for NFTs. Would you like to remove it from your token list and add it as an NFT?"},convertTokenToNFTExistDescription:{message:"Weve detected that this asset has been added as an NFT. Would you like to remove it from your token list?"},coolWallet:{message:"CoolWallet"},copiedExclamation:{message:"Copied."},copyAddress:{message:"Copy address to clipboard"},copyAddressShort:{message:"Copy address"},copyPrivateKey:{message:"Copy private key"},copyToClipboard:{message:"Copy to clipboard"},copyTransactionId:{message:"Copy transaction ID"},create:{message:"Create"},createNewAccountHeader:{message:"Create a new account"},createNewWallet:{message:"Create a new wallet"},createPassword:{message:"Create password"},createSnapAccountDescription:{message:"$1 wants to add a new account to MetaMask."},createSnapAccountTitle:{message:"Create account"},createSolanaAccount:{message:"Create Solana account"},creatorAddress:{message:"Creator address"},crossChainAggregatedBalancePopover:{message:"This reflects the value of all tokens you own on all networks. If you prefer seeing this value in ETH or other currencies, go to $1.",description:"$1 represents the settings page"},crossChainSwapsLink:{message:"Swap across networks with MetaMask Portfolio"},crossChainSwapsLinkNative:{message:"Swap across networks with Bridge"},cryptoCompare:{message:"CryptoCompare"},currencyConversion:{message:"Currency"},currencyRateCheckToggle:{message:"Show balance and token price checker"},currencyRateCheckToggleDescription:{message:"We use $1 and $2 APIs to display your balance and token price. $3",description:"$1 represents Coingecko, $2 represents CryptoCompare and $3 represents Privacy Policy"},currencySymbol:{message:"Currency symbol"},currencySymbolDefinition:{message:"The ticker symbol displayed for this networks currency."},currentAccountNotConnected:{message:"Your current account is not connected"},currentExtension:{message:"Current extension page"},currentLanguage:{message:"Current language"},currentNetwork:{message:"Current network",description:"Speicifies to token network filter to filter by current Network. Will render when network nickname is not available"},currentRpcUrlDeprecated:{message:"The current rpc url for this network has been deprecated."},currentTitle:{message:"Current:"},currentlyUnavailable:{message:"Unavailable on this network"},curveHighGasEstimate:{message:"Aggressive gas estimate graph"},curveLowGasEstimate:{message:"Low gas estimate graph"},curveMediumGasEstimate:{message:"Market gas estimate graph"},custom:{message:"Advanced"},customGasSettingToolTipMessage:{message:"Use $1 to customize the gas price. This can be confusing if you arent familiar. Interact at your own risk.",description:"$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"},customSlippage:{message:"Custom"},customSpendLimit:{message:"Custom spend limit"},customToken:{message:"Custom token"},customTokenWarningInNonTokenDetectionNetwork:{message:"Token detection is not available on this network yet. Please import token manually and make sure you trust it. Learn about $1"},customTokenWarningInTokenDetectionNetwork:{message:"Anyone can create a token, including creating fake versions of existing tokens. Learn about $1"},customTokenWarningInTokenDetectionNetworkWithTDOFF:{message:"Make sure you trust a token before you import it. Learn how to avoid $1. You can also enable token detection $2."},customerSupport:{message:"customer support"},customizeYourNotifications:{message:"Customize your notifications"},customizeYourNotificationsText:{message:"Turn on the types of notifications you want to receive:"},dappSuggested:{message:"Site suggested"},dappSuggestedGasSettingToolTipMessage:{message:"$1 has suggested this price.",description:"$1 is url for the dapp that has suggested gas settings"},dappSuggestedHigh:{message:"Site suggested"},dappSuggestedHighShortLabel:{message:"Site (high)"},dappSuggestedShortLabel:{message:"Site"},dappSuggestedTooltip:{message:"$1 has recommended this price.",description:"$1 represents the Dapp's origin"},darkTheme:{message:"Dark"},data:{message:"Data"},dataCollectionForMarketing:{message:"Data collection for marketing"},dataCollectionForMarketingDescription:{message:"We'll use MetaMetrics to learn how you interact with our marketing communications. We may share relevant news (like product features and other materials)."},dataCollectionWarningPopoverButton:{message:"Okay"},dataCollectionWarningPopoverDescription:{message:"You turned off data collection for our marketing purposes. This only applies to this device. If you use MetaMask on other devices, make sure to opt out there as well."},dataUnavailable:{message:"data unavailable"},dateCreated:{message:"Date created"},dcent:{message:"D'Cent"},debitCreditPurchaseOptions:{message:"Debit or credit card purchase options"},decimal:{message:"Token decimal"},decimalsMustZerotoTen:{message:"Decimals must be at least 0, and not over 36."},decrypt:{message:"Decrypt"},decryptCopy:{message:"Copy encrypted message"},decryptInlineError:{message:"This message cannot be decrypted due to error: $1",description:"$1 is error message"},decryptMessageNotice:{message:"$1 would like to read this message to complete your action",description:"$1 is the web3 site name"},decryptMetamask:{message:"Decrypt message"},decryptRequest:{message:"Decrypt request"},defaultRpcUrl:{message:"Default RPC URL"},defaultSettingsSubTitle:{message:"MetaMask uses default settings to best balance safety and ease of use. Change these settings to further increase your privacy."},defaultSettingsTitle:{message:"Default privacy settings"},delete:{message:"Delete"},deleteContact:{message:"Delete contact"},deleteMetaMetricsData:{message:"Delete MetaMetrics data"},deleteMetaMetricsDataDescription:{message:"This will delete historical MetaMetrics data associated with your use on this device. Your wallet and accounts will remain exactly as they are now after this data has been deleted. This process may take up to 30 days. View our $1.",description:"$1 will have text saying Privacy Policy "},deleteMetaMetricsDataErrorDesc:{message:"This request can't be completed right now due to an analytics system server issue, please try again later"},deleteMetaMetricsDataErrorTitle:{message:"We are unable to delete this data right now"},deleteMetaMetricsDataModalDesc:{message:"We are about to remove all your MetaMetrics data. Are you sure?"},deleteMetaMetricsDataModalTitle:{message:"Delete MetaMetrics data?"},deleteMetaMetricsDataRequestedDescription:{message:"You initiated this action on $1. This process can take up to 30 days. View the $2",description:"$1 will be the date on which teh deletion is requested and $2 will have text saying Privacy Policy "},deleteNetworkIntro:{message:"If you delete this network, you will need to add it again to view your assets in this network"},deleteNetworkTitle:{message:"Delete $1 network?",description:"$1 represents the name of the network"},depositCrypto:{message:"Deposit crypto from another account with a wallet address or QR code."},deprecatedGoerliNtwrkMsg:{message:"Because of updates to the Ethereum system, the Goerli test network will be phased out soon."},deprecatedNetwork:{message:"This network is deprecated"},deprecatedNetworkButtonMsg:{message:"Got it"},deprecatedNetworkDescription:{message:"The network you're trying to connect to is no longer supported by Metamask. $1"},description:{message:"Description"},descriptionFromSnap:{message:"Description from $1",description:"$1 represents the name of the snap"},destinationAccountPickerNoEligible:{message:"No eligible accounts found"},destinationAccountPickerNoMatching:{message:"No matching accounts found"},destinationAccountPickerReceiveAt:{message:"Receive at"},destinationAccountPickerSearchPlaceholderToMainnet:{message:"Receiving address or ENS"},destinationAccountPickerSearchPlaceholderToSolana:{message:"Receiving address"},details:{message:"Details"},developerOptions:{message:"Developer Options"},disabledGasOptionToolTipMessage:{message:"“$1” is disabled because it does not meet the minimum of a 10% increase from the original gas fee.",description:"$1 is gas estimate type which can be market or aggressive"},disconnect:{message:"Disconnect"},disconnectAllAccounts:{message:"Disconnect all accounts"},disconnectAllAccountsConfirmationDescription:{message:"Are you sure you want to disconnect? You may lose site functionality."},disconnectAllAccountsText:{message:"accounts"},disconnectAllDescriptionText:{message:"If you disconnect from this site, youll need to reconnect your accounts and networks to use this site again."},disconnectAllSnapsText:{message:"Snaps"},disconnectMessage:{message:"This will disconnect you from this site"},disconnectPrompt:{message:"Disconnect $1"},disconnectThisAccount:{message:"Disconnect this account"},disconnectedAllAccountsToast:{message:"All accounts disconnected from $1",description:"$1 is name of the dapp`"},disconnectedSingleAccountToast:{message:"$1 disconnected from $2",description:"$1 is name of the name and $2 represents the dapp name`"},discover:{message:"Discover"},discoverSnaps:{message:"Discover Snaps",description:"Text that links to the Snaps website. Displayed in a banner on Snaps list page in settings."},dismiss:{message:"Dismiss"},dismissReminderDescriptionField:{message:"Turn this on to dismiss the Secret Recovery Phrase backup reminder message. We highly recommend that you back up your Secret Recovery Phrase to avoid loss of funds"},dismissReminderField:{message:"Dismiss Secret Recovery Phrase backup reminder"},displayNftMedia:{message:"Display NFT media"},displayNftMediaDescription:{message:"Displaying NFT media and data exposes your IP address to OpenSea or other third parties. This can allow attackers to associate your IP address with your Ethereum address. NFT autodetection relies on this setting, and won't be available when this is turned off."},doNotShare:{message:"Do not share this with anyone"},domain:{message:"Domain"},done:{message:"Done"},dontShowThisAgain:{message:"Don't show this again"},downArrow:{message:"down arrow"},downloadGoogleChrome:{message:"Download Google Chrome"},downloadNow:{message:"Download Now"},downloadStateLogs:{message:"Download state logs"},dragAndDropBanner:{message:"You can drag networks to reorder them. "},dropped:{message:"Dropped"},duplicateContactTooltip:{message:"This contact name collides with an existing account or contact"},duplicateContactWarning:{message:"You have duplicate contacts"},edit:{message:"Edit"},editANickname:{message:"Edit nickname"},editAccounts:{message:"Edit accounts"},editAddressNickname:{message:"Edit address nickname"},editCancellationGasFeeModalTitle:{message:"Edit cancellation gas fee"},editContact:{message:"Edit contact"},editGasFeeModalTitle:{message:"Edit gas fee"},editGasLimitOutOfBounds:{message:"Gas limit must be at least $1"},editGasLimitOutOfBoundsV2:{message:"Gas limit must be greater than $1 and less than $2",description:"$1 is the minimum limit for gas and $2 is the maximum limit"},editGasLimitTooltip:{message:"Gas limit is the maximum units of gas you are willing to use. Units of gas are a multiplier to “Max priority fee” and “Max fee”."},editGasMaxBaseFeeGWEIImbalance:{message:"Max base fee cannot be lower than priority fee"},editGasMaxBaseFeeHigh:{message:"Max base fee is higher than necessary"},editGasMaxBaseFeeLow:{message:"Max base fee is low for current network conditions"},editGasMaxFeeHigh:{message:"Max fee is higher than necessary"},editGasMaxFeeLow:{message:"Max fee too low for network conditions"},editGasMaxFeePriorityImbalance:{message:"Max fee cannot be lower than max priority fee"},editGasMaxPriorityFeeBelowMinimum:{message:"Max priority fee must be greater than 0 GWEI"},editGasMaxPriorityFeeBelowMinimumV2:{message:"Priority fee must be greater than 0."},editGasMaxPriorityFeeHigh:{message:"Max priority fee is higher than necessary. You may pay more than needed."},editGasMaxPriorityFeeHighV2:{message:"Priority fee is higher than necessary. You may pay more than needed"},editGasMaxPriorityFeeLow:{message:"Max priority fee is low for current network conditions"},editGasMaxPriorityFeeLowV2:{message:"Priority fee is low for current network conditions"},editGasPriceTooLow:{message:"Gas price must be greater than 0"},editGasPriceTooltip:{message:"This network requires a “Gas price” field when submitting a transaction. Gas price is the amount you will pay pay per unit of gas."},editGasSubTextFeeLabel:{message:"Max fee:"},editGasTitle:{message:"Edit priority"},editGasTooLow:{message:"Unknown processing time"},editInPortfolio:{message:"Edit in Portfolio"},editNetworkLink:{message:"edit the original network"},editNetworksTitle:{message:"Edit networks"},editNonceField:{message:"Edit nonce"},editNonceMessage:{message:"This is an advanced feature, use cautiously."},editPermission:{message:"Edit permission"},editPermissions:{message:"Edit permissions"},editSpeedUpEditGasFeeModalTitle:{message:"Edit speed up gas fee"},editSpendingCap:{message:"Edit spending cap"},editSpendingCapAccountBalance:{message:"Account balance: $1 $2"},editSpendingCapDesc:{message:"Enter the amount that you feel comfortable being spent on your behalf."},editSpendingCapError:{message:"The spending cap cant exceed $1 decimal digits. Remove decimal digits to continue."},editSpendingCapSpecialCharError:{message:"Enter numbers only"},enableAutoDetect:{message:" Enable autodetect"},enableFromSettings:{message:" Enable it from Settings."},enableSnap:{message:"Enable"},enableToken:{message:"enable $1",description:"$1 is a token symbol, e.g. ETH"},enabled:{message:"Enabled"},enabledNetworks:{message:"Enabled networks"},encryptionPublicKeyNotice:{message:"$1 would like your public encryption key. By consenting, this site will be able to compose encrypted messages to you.",description:"$1 is the web3 site name"},encryptionPublicKeyRequest:{message:"Request encryption public key"},endpointReturnedDifferentChainId:{message:"The RPC URL you have entered returned a different chain ID ($1).",description:"$1 is the return value of eth_chainId from an RPC endpoint"},enhancedTokenDetectionAlertMessage:{message:"Enhanced token detection is currently available on $1. $2"},ensDomainsSettingDescriptionIntroduction:{message:"MetaMask lets you see ENS domains right in your browser's address bar. Here's how it works:"},ensDomainsSettingDescriptionOutroduction:{message:"Keep in mind that using this feature exposes your IP address to IPFS third-party services."},ensDomainsSettingDescriptionPart1:{message:"MetaMask checks with Ethereum's ENS contract to find the code connected to the ENS name."},ensDomainsSettingDescriptionPart2:{message:"If the code links to IPFS, you can see the content associated with it (usually a website)."},ensDomainsSettingTitle:{message:"Show ENS domains in address bar"},ensUnknownError:{message:"ENS lookup failed."},enterANameToIdentifyTheUrl:{message:"Enter a name to identify the URL"},enterChainId:{message:"Enter Chain ID"},enterMaxSpendLimit:{message:"Enter max spend limit"},enterNetworkName:{message:"Enter network name"},enterOptionalPassword:{message:"Enter optional password"},enterPasswordContinue:{message:"Enter password to continue"},enterRpcUrl:{message:"Enter RPC URL"},enterSymbol:{message:"Enter symbol"},enterTokenNameOrAddress:{message:"Enter token name or paste address"},enterYourPassword:{message:"Enter your password"},errorCode:{message:"Code: $1",description:"Displayed error code for debugging purposes. $1 is the error code"},errorGettingSafeChainList:{message:"Error while getting safe chain list, please continue with caution."},errorMessage:{message:"Message: $1",description:"Displayed error message for debugging purposes. $1 is the error message"},errorName:{message:"Code: $1",description:"Displayed error name for debugging purposes. $1 is the error name"},errorPageContactSupport:{message:"Contact support",description:"Button for contact MM support"},errorPageDescribeUsWhatHappened:{message:"Describe what happened",description:"Button for submitting report to sentry"},errorPageInfo:{message:"Your information cant be shown. Dont worry, your wallet and funds are safe.",description:"Information banner shown in the error page"},errorPageMessageTitle:{message:"Error message",description:"Title for description, which is displayed for debugging purposes"},errorPageSentryFormTitle:{message:"Describe what happened",description:"In sentry feedback form, The title at the top of the feedback form."},errorPageSentryMessagePlaceholder:{message:"Sharing details like how we can reproduce the bug will help us fix the problem.",description:"In sentry feedback form, The placeholder for the feedback description input field."},errorPageSentrySuccessMessageText:{message:"Thanks! We will take a look soon.",description:"In sentry feedback form, The message displayed after a successful feedback submission."},errorPageTitle:{message:"MetaMask encountered an error",description:"Title of generic error page"},errorPageTryAgain:{message:"Try again",description:"Button for try again"},errorStack:{message:"Stack:",description:"Title for error stack, which is displayed for debugging purposes"},errorWhileConnectingToRPC:{message:"Error while connecting to the custom network."},errorWithSnap:{message:"Error with $1",description:"$1 represents the name of the snap"},estimatedFee:{message:"Estimated fee"},estimatedFeeTooltip:{message:"Amount paid to process the transaction on network."},ethGasPriceFetchWarning:{message:"Backup gas price is provided as the main gas estimation service is unavailable right now."},ethereumProviderAccess:{message:"Grant Ethereum provider access to $1",description:"The parameter is the name of the requesting origin"},ethereumPublicAddress:{message:"Ethereum public address"},etherscan:{message:"Etherscan"},etherscanView:{message:"View account on Etherscan"},etherscanViewOn:{message:"View on Etherscan"},existingChainId:{message:"The information you have entered is associated with an existing chain ID."},existingRequestsBannerAlertDesc:{message:"To view and confirm your most recent request, you'll need to approve or reject existing requests first."},expandView:{message:"Expand view"},experimental:{message:"Experimental"},exploreweb3:{message:"Explore web3"},exportYourData:{message:"Export your data"},exportYourDataButton:{message:"Download"},exportYourDataDescription:{message:"You can export data like your contacts and preferences."},extendWalletWithSnaps:{message:"Explore community-built Snaps to customize your web3 experience",description:"Banner description displayed on Snaps list page in Settings when less than 6 Snaps is installed."},externalAccount:{message:"External Account"},externalExtension:{message:"External extension"},externalNameSourcesSetting:{message:"Proposed nicknames"},externalNameSourcesSettingDescription:{message:"Well fetch proposed nicknames for addresses you interact with from third-party sources like Etherscan, Infura, and Lens Protocol. These sources will be able to see those addresses and your IP address. Your account address wont be exposed to third parties."},failed:{message:"Failed"},failedToFetchChainId:{message:"Could not fetch chain ID. Is your RPC URL correct?"},failureMessage:{message:"Something went wrong, and we were unable to complete the action"},fast:{message:"Fast"},feeDetails:{message:"Fee details"},fileImportFail:{message:"File import not working? Click here!",description:"Helps user import their account from a JSON file"},flaskWelcomeUninstall:{message:"you should uninstall this extension",description:"This request is shown on the Flask Welcome screen. It is intended for non-developers, and will be bolded."},flaskWelcomeWarning1:{message:"Flask is for developers to experiment with new unstable APIs. Unless you are a developer or beta tester, $1.",description:"This is a warning shown on the Flask Welcome screen, intended to encourage non-developers not to proceed any further. $1 is the bolded message 'flaskWelcomeUninstall'"},flaskWelcomeWarning2:{message:"We do not guarantee the safety or stability of this extension. The new APIs offered by Flask are not hardened against phishing attacks, meaning that any site or snap that requires Flask might be a malicious attempt to steal your assets.",description:"This explains the risks of using MetaMask Flask"},flaskWelcomeWarning3:{message:"All Flask APIs are experimental. They may be changed or removed without notice, or they might stay on Flask indefinitely without ever being migrated to stable MetaMask. Use them at your own risk.",description:"This message warns developers about unstable Flask APIs"},flaskWelcomeWarning4:{message:"Make sure to disable your regular MetaMask extension when using Flask.",description:"This message calls to pay attention about multiple versions of MetaMask running on the same site (Flask + Prod)"},flaskWelcomeWarningAcceptButton:{message:"I accept the risks",description:"this text is shown on a button, which the user presses to confirm they understand the risks of using Flask"},floatAmountToken:{message:"Token amount must be an integer"},followUsOnTwitter:{message:"Follow us on Twitter"},forbiddenIpfsGateway:{message:"Forbidden IPFS Gateway: Please specify a CID gateway"},forgetDevice:{message:"Forget this device"},forgotPassword:{message:"Forgot password?"},form:{message:"form"},from:{message:"From"},fromAddress:{message:"From: $1",description:"$1 is the address to include in the From label. It is typically shortened first using shortenAddress"},fromTokenLists:{message:"From token lists: $1"},function:{message:"Function: $1"},fundingMethod:{message:"Funding method"},gas:{message:"Gas"},gasDisplayAcknowledgeDappButtonText:{message:"Edit suggested gas fee"},gasDisplayDappWarning:{message:"This gas fee has been suggested by $1. Overriding this may cause a problem with your transaction. Please reach out to $1 if you have questions.",description:"$1 represents the Dapp's origin"},gasFee:{message:"Gas fee"},gasLimit:{message:"Gas limit"},gasLimitInfoTooltipContent:{message:"Gas limit is the maximum amount of units of gas you are willing to spend."},gasLimitRecommended:{message:"Recommended gas limit is $1. If the gas limit is less than that, it may fail."},gasLimitTooLow:{message:"Gas limit must be at least 21000"},gasLimitTooLowWithDynamicFee:{message:"Gas limit must be at least $1",description:"$1 is the custom gas limit, in decimal."},gasLimitV2:{message:"Gas limit"},gasOption:{message:"Gas option"},gasPrice:{message:"Gas price (GWEI)"},gasPriceExcessive:{message:"Your gas fee is set unnecessarily high. Consider lowering the amount."},gasPriceExcessiveInput:{message:"Gas price is excessive"},gasPriceExtremelyLow:{message:"Gas price extremely low"},gasPriceFetchFailed:{message:"Gas price estimation failed due to network error."},gasPriceInfoTooltipContent:{message:"Gas price specifies the amount of Ether you are willing to pay for each unit of gas."},gasTimingHoursShort:{message:"$1 hrs",description:"$1 represents a number of hours"},gasTimingLow:{message:"Slow"},gasTimingMinutesShort:{message:"$1 min",description:"$1 represents a number of minutes"},gasTimingSecondsShort:{message:"$1 sec",description:"$1 represents a number of seconds"},gasUsed:{message:"Gas used"},general:{message:"General"},generalCameraError:{message:"We couldn't access your camera. Please give it another try."},generalCameraErrorTitle:{message:"Something went wrong...."},generalDescription:{message:"Sync settings across devices, select network preferences, and track token data"},genericExplorerView:{message:"View account on $1"},goBack:{message:"Go back"},goToSite:{message:"Go to site"},goerli:{message:"Goerli test network"},gotIt:{message:"Got it"},grantExactAccess:{message:"Grant exact access"},gwei:{message:"GWEI"},hardware:{message:"Hardware"},hardwareWalletConnected:{message:"Hardware wallet connected"},hardwareWalletLegacyDescription:{message:"(legacy)",description:"Text representing the MEW path"},hardwareWalletSubmissionWarningStep1:{message:"Be sure your $1 is plugged in and to select the Ethereum app."},hardwareWalletSubmissionWarningStep2:{message:'Enable "smart contract data" or "blind signing" on your $1 device.'},hardwareWalletSubmissionWarningTitle:{message:"Prior to clicking Submit:"},hardwareWalletSupportLinkConversion:{message:"click here"},hardwareWallets:{message:"Connect a hardware wallet"},hardwareWalletsInfo:{message:"Hardware wallet integrations use API calls to external servers, which can see your IP address and the smart contract addresses you interact with."},hardwareWalletsMsg:{message:"Select a hardware wallet you would like to use with MetaMask."},here:{message:"here",description:"as in -click here- for more information (goes with troubleTokenBalances)"},hexData:{message:"Hex data"},hiddenAccounts:{message:"Hidden accounts"},hide:{message:"Hide"},hideAccount:{message:"Hide account"},hideAdvancedDetails:{message:"Hide advanced details"},hideSeedPhrase:{message:"Hide seed phrase"},hideSentitiveInfo:{message:"Hide sensitive information"},hideTokenPrompt:{message:"Hide token?"},hideTokenSymbol:{message:"Hide $1",description:"$1 is the symbol for a token (e.g. 'DAI')"},hideZeroBalanceTokens:{message:"Hide tokens without balance"},high:{message:"Aggressive"},highGasSettingToolTipMessage:{message:"High probability, even in volatile markets. Use $1 to cover surges in network traffic due to things like popular NFT drops.",description:"$1 is key 'high' (text: 'Aggressive') separated here so that it can be passed in with bold font-weight"},highLowercase:{message:"high"},highestCurrentBid:{message:"Highest current bid"},highestFloorPrice:{message:"Highest floor price"},history:{message:"History"},holdToRevealContent1:{message:"Your Secret Recovery Phrase provides $1",description:"$1 is a bolded text with the message from 'holdToRevealContent2'"},holdToRevealContent2:{message:"full access to your wallet and funds.",description:"Is the bolded text in 'holdToRevealContent1'"},holdToRevealContent3:{message:"Do not share this with anyone. $1 $2",description:"$1 is a message from 'holdToRevealContent4' and $2 is a text link with the message from 'holdToRevealContent5'"},holdToRevealContent4:{message:"MetaMask Support will not request this,",description:"Part of 'holdToRevealContent3'"},holdToRevealContent5:{message:"but phishers might.",description:"The text link in 'holdToRevealContent3'"},holdToRevealContentPrivateKey1:{message:"Your Private Key provides $1",description:"$1 is a bolded text with the message from 'holdToRevealContentPrivateKey2'"},holdToRevealContentPrivateKey2:{message:"full access to your wallet and funds.",description:"Is the bolded text in 'holdToRevealContentPrivateKey2'"},holdToRevealLockedLabel:{message:"hold to reveal circle locked"},holdToRevealPrivateKey:{message:"Hold to reveal Private Key"},holdToRevealPrivateKeyTitle:{message:"Keep your private key safe"},holdToRevealSRP:{message:"Hold to reveal SRP"},holdToRevealSRPTitle:{message:"Keep your SRP safe"},holdToRevealUnlockedLabel:{message:"hold to reveal circle unlocked"},honeypotDescription:{message:"This token might pose a honeypot risk. It is advised to conduct due diligence before interacting to prevent any potential financial loss."},honeypotTitle:{message:"Honey Pot"},howNetworkFeesWorkExplanation:{message:"Estimated fee required to process the transaction. The max fee is $1."},howQuotesWork:{message:"How quotes work"},howQuotesWorkExplanation:{message:"This quote has the best return of the quotes we searched. This is based on the swap rate, which includes bridging fees and a $1% MetaMask fee, minus gas fees. Gas fees depend on how busy the network is and how complex the transaction is."},id:{message:"ID"},ifYouGetLockedOut:{message:"If you get locked out of the app or get a new device, you will lose your funds. Be sure to back up your Secret Recovery Phrase in $1 ",description:"$1 is the menu path to be shown with font weight bold"},ignoreAll:{message:"Ignore all"},ignoreTokenWarning:{message:"If you hide tokens, they will not be shown in your wallet. However, you can still add them by searching for them."},imToken:{message:"imToken"},import:{message:"Import",description:"Button to import an account from a selected file"},importAccountError:{message:"Error importing account."},importAccountErrorIsSRP:{message:"You have entered a Secret Recovery Phrase (or mnemonic). To import an account here, you have to enter a private key, which is a hexadecimal string of length 64."},importAccountErrorNotAValidPrivateKey:{message:"This is not a valid private key. You have entered a hexadecimal string, but it must be 64 characters long."},importAccountErrorNotHexadecimal:{message:"This is not a valid private key. You must enter a hexadecimal string of length 64."},importAccountJsonLoading1:{message:"Expect this JSON import to take a few minutes and freeze MetaMask."},importAccountJsonLoading2:{message:"We apologize, and we will make it faster in the future."},importAccountMsg:{message:"Imported accounts wont be associated with your MetaMask Secret Recovery Phrase. Learn more about imported accounts"},importMyWallet:{message:"Import my wallet"},importNFT:{message:"Import NFT"},importNFTAddressToolTip:{message:"On OpenSea, for example, on the NFT's page under Details, there is a blue hyperlinked value labeled 'Contract Address'. If you click on this, it will take you to the contract's address on Etherscan; at the top-left of that page, there should be an icon labeled 'Contract', and to the right, a long string of letters and numbers. This is the address of the contract that created your NFT. Click on the 'copy' icon to the right of the address, and you'll have it on your clipboard."},importNFTPage:{message:"Import NFT page"},importNFTTokenIdToolTip:{message:"An NFT's ID is a unique identifier since no two NFTs are alike. Again, on OpenSea this number is under 'Details'. Make a note of it, or copy it onto your clipboard."},importNWordSRP:{message:"I have a $1 word recovery phrase",description:"$1 is the number of words in the recovery phrase"},importPrivateKey:{message:"Private Key"},importSRPDescription:{message:"Import an existing wallet with your 12 or 24-word secret recovery phrase."},importSRPNumberOfWordsError:{message:"Secret Recovery Phrases contain 12, or 24 words"},importSRPWordError:{message:"Word $1 is incorrect or misspelled.",description:"$1 is the word that is incorrect or misspelled"},importSRPWordErrorAlternative:{message:"Word $1 and $2 is incorrect or misspelled.",description:"$1 and $2 are multiple words that are mispelled."},importSecretRecoveryPhrase:{message:"Import Secret Recovery Phrase"},importSelectedTokens:{message:"Import selected tokens?"},importSelectedTokensDescription:{message:"Only the tokens you've selected will appear in your wallet. You can always import hidden tokens later by searching for them."},importTokenQuestion:{message:"Import token?"},importTokenWarning:{message:"Anyone can create a token with any name, including fake versions of existing tokens. Add and trade at your own risk!"},importTokensCamelCase:{message:"Import tokens"},importTokensError:{message:"We could not import the tokens. Please try again later."},importWallet:{message:"Import wallet"},importWalletOrAccountHeader:{message:"Import a wallet or account"},importWalletSuccess:{message:"Wallet successfully imported"},importWithCount:{message:"Import $1",description:"$1 will the number of detected tokens that are selected for importing, if all of them are selected then $1 will be all"},imported:{message:"Imported",description:"status showing that an account has been fully loaded into the keyring"},inYourSettings:{message:"in your Settings"},included:{message:"included"},infuraBlockedNotification:{message:"MetaMask is unable to connect to the blockchain host. Review possible reasons $1.",description:"$1 is a clickable link with with text defined by the 'here' key"},initialTransactionConfirmed:{message:"Your initial transaction was confirmed by the network. Click OK to go back."},insightsFromSnap:{message:"Insights from $1",description:"$1 represents the name of the snap"},install:{message:"Install"},installOrigin:{message:"Install origin"},installRequest:{message:"Add to MetaMask"},installedOn:{message:"Installed on $1",description:"$1 is the date when the snap has been installed"},insufficientBalance:{message:"Insufficient balance."},insufficientFunds:{message:"Insufficient funds."},insufficientFundsForGas:{message:"Insufficient funds for gas"},insufficientLockedLiquidityDescription:{message:"The lack of adequately locked or burned liquidity leaves the token vulnerable to sudden liquidity withdrawals, potentially causing market instability."},insufficientLockedLiquidityTitle:{message:"Insufficient Locked Liquidity"},insufficientTokens:{message:"Insufficient tokens."},interactingWith:{message:"Interacting with"},interactingWithTransactionDescription:{message:"This is the contract you're interacting with. Protect yourself from scammers by verifying the details."},invalidAddress:{message:"Invalid address"},invalidAddressRecipient:{message:"Recipient address is invalid"},invalidAssetType:{message:"This asset is an NFT and needs to be re-added on the Import NFTs page found under the NFTs tab"},invalidChainIdTooBig:{message:"Invalid chain ID. The chain ID is too big."},invalidCustomNetworkAlertContent1:{message:"The chain ID for custom network '$1' has to be re-entered.",description:"$1 is the name/identifier of the network."},invalidCustomNetworkAlertContent2:{message:"To protect you from malicious or faulty network providers, chain IDs are now required for all custom networks."},invalidCustomNetworkAlertContent3:{message:"Go to Settings > Network and enter the chain ID. You can find the chain IDs of most popular networks on $1.",description:"$1 is a link to https://chainid.network"},invalidCustomNetworkAlertTitle:{message:"Invalid custom network"},invalidHexData:{message:"Invalid hex data"},invalidHexNumber:{message:"Invalid hexadecimal number."},invalidHexNumberLeadingZeros:{message:"Invalid hexadecimal number. Remove any leading zeros."},invalidIpfsGateway:{message:"Invalid IPFS Gateway: The value must be a valid URL"},invalidNumber:{message:"Invalid number. Enter a decimal or '0x'-prefixed hexadecimal number."},invalidNumberLeadingZeros:{message:"Invalid number. Remove any leading zeros."},invalidRPC:{message:"Invalid RPC URL"},invalidSeedPhrase:{message:"Invalid Secret Recovery Phrase"},invalidSeedPhraseCaseSensitive:{message:"Invalid input! Secret Recovery Phrase is case sensitive."},ipfsGateway:{message:"IPFS gateway"},ipfsGatewayDescription:{message:"MetaMask uses third-party services to show images of your NFTs stored on IPFS, display information related to ENS addresses entered in your browser's address bar, and fetch icons for different tokens. Your IP address may be exposed to these services when youre using them."},ipfsToggleModalDescriptionOne:{message:"We use third-party services to show images of your NFTs stored on IPFS, display information related to ENS addresses entered in your browser's address bar, and fetch icons for different tokens. Your IP address may be exposed to these services when youre using them."},ipfsToggleModalDescriptionTwo:{message:"Selecting Confirm turns on IPFS resolution. You can turn it off in $1 at any time.",description:"$1 is the method to turn off ipfs"},ipfsToggleModalSettings:{message:"Settings > Security and privacy"},isSigningOrSubmitting:{message:"A previous transaction is still being signed or submitted"},jazzAndBlockies:{message:"Jazzicons and Blockies are two different styles of unique icons that help you identify an account at a glance."},jazzicons:{message:"Jazzicons"},jsonFile:{message:"JSON File",description:"format for importing an account"},keepReminderOfSRP:{message:"Keep a reminder of your Secret Recovery Phrase somewhere safe. If you lose it, no one can help you get it back. Even worse, you wont be able access to your wallet ever again. $1",description:"$1 is a learn more link"},keyringAccountName:{message:"Account name"},keyringAccountPublicAddress:{message:"Public Address"},keyringSnapRemovalResult1:{message:"$1 $2removed",description:"Displays the result after removal of a keyring snap. $1 is the snap name, $2 is whether it is successful or not"},keyringSnapRemovalResultNotSuccessful:{message:"not ",description:"Displays the `not` word in $2."},keyringSnapRemoveConfirmation:{message:"Type $1 to confirm you want to remove this snap:",description:"Asks user to input the name nap prior to deleting the snap. $1 is the snap name"},keystone:{message:"Keystone"},knownAddressRecipient:{message:"Known contract address."},knownTokenWarning:{message:"This action will edit tokens that are already listed in your wallet, which can be used to phish you. Only approve if you are certain that you mean to change what these tokens represent. Learn more about $1"},l1Fee:{message:"L1 fee"},l1FeeTooltip:{message:"L1 gas fee"},l2Fee:{message:"L2 fee"},l2FeeTooltip:{message:"L2 gas fee"},lastConnected:{message:"Last connected"},lastSold:{message:"Last sold"},lavaDomeCopyWarning:{message:"For your safety, selecting this text is not available right now."},layer1Fees:{message:"Layer 1 fees"},layer2Fees:{message:"Layer 2 fees"},learnHow:{message:"Learn how"},learnMore:{message:"learn more"},learnMoreAboutGas:{message:"Want to $1 about gas?",description:"$1 will be replaced by the learnMore translation key"},learnMoreAboutPrivacy:{message:"Learn more about privacy best practices."},learnMoreKeystone:{message:"Learn More"},learnMoreUpperCase:{message:"Learn more"},learnMoreUpperCaseWithDot:{message:"Learn more."},learnScamRisk:{message:"scams and security risks."},leaveMetaMask:{message:"Leave MetaMask?"},leaveMetaMaskDesc:{message:"You're about to visit a site outside of MetaMask. Double-check the URL before continuing."},ledgerAccountRestriction:{message:"You need to make use your last account before you can add a new one."},ledgerConnectionInstructionCloseOtherApps:{message:"Close any other software connected to your device and then click here to refresh."},ledgerConnectionInstructionHeader:{message:"Prior to clicking confirm:"},ledgerConnectionInstructionStepFour:{message:'Enable "smart contract data" or "blind signing" on your Ledger device.'},ledgerConnectionInstructionStepThree:{message:"Be sure your Ledger is plugged in and to select the Ethereum app."},ledgerDeviceOpenFailureMessage:{message:"The Ledger device failed to open. Your Ledger might be connected to other software. Please close Ledger Live or other applications connected to your Ledger device, and try to connect again."},ledgerErrorConnectionIssue:{message:"Reconnect your ledger, open the ETH app and try again."},ledgerErrorDevicedLocked:{message:"Your Ledger is locked. Unlock it then try again."},ledgerErrorEthAppNotOpen:{message:"To solve the issue, open the ETH application on your device and retry."},ledgerErrorTransactionDataNotPadded:{message:"Ethereum transaction's input data isn't sufficiently padded."},ledgerLiveApp:{message:"Ledger Live App"},ledgerLocked:{message:"Cannot connect to Ledger device. Please make sure your device is unlocked and Ethereum app is opened."},ledgerMultipleDevicesUnsupportedErrorMessage:{message:"Multiple Ledger devices cannot be connected at the same time. To connect a new Ledger device, you'll need to first disconnect the previous one."},ledgerTimeout:{message:"Ledger Live is taking too long to respond or connection timeout. Make sure Ledger Live app is opened and your device is unlocked."},ledgerWebHIDNotConnectedErrorMessage:{message:"The ledger device was not connected. If you wish to connect your Ledger, please click 'Continue' again and approve HID connection",description:"An error message shown to the user during the hardware connect flow."},levelArrow:{message:"level arrow"},lightTheme:{message:"Light"},likeToImportToken:{message:"Would you like to import this token?"},likeToImportTokens:{message:"Would you like to import these tokens?"},lineaGoerli:{message:"Linea Goerli test network"},lineaMainnet:{message:"Linea Mainnet"},lineaSepolia:{message:"Linea Sepolia test network"},link:{message:"Link"},linkCentralizedExchanges:{message:"Link your Coinbase or Binance accounts to transfer crypto to MetaMask for free."},links:{message:"Links"},loadMore:{message:"Load more"},loading:{message:"Loading..."},loadingScreenSnapMessage:{message:"Please complete the transaction on the Snap."},loadingTokenList:{message:"Loading token list"},localhost:{message:"Localhost 8545"},lock:{message:"Lock"},lockMetaMask:{message:"Lock MetaMask"},lockTimeInvalid:{message:"Lock time must be a number between 0 and 10080"},logo:{message:"$1 logo",description:"$1 is the name of the ticker"},low:{message:"Low"},lowEstimatedReturnTooltipMessage:{message:"Youll pay more than $1% of your starting amount in fees. Check your receiving amount and network fees."},lowEstimatedReturnTooltipTitle:{message:"High cost"},lowGasSettingToolTipMessage:{message:"Use $1 to wait for a cheaper price. Time estimates are much less accurate as prices are somewhat unpredictable.",description:"$1 is key 'low' separated here so that it can be passed in with bold font-weight"},lowLowercase:{message:"low"},mainnet:{message:"Ethereum Mainnet"},mainnetToken:{message:"This address matches a known Ethereum Mainnet token address. Recheck the contract address and network for the token you are trying to add."},makeAnotherSwap:{message:"Create a new swap"},makeSureNoOneWatching:{message:"Make sure nobody is looking",description:"Warning to users to be care while creating and saving their new Secret Recovery Phrase"},manageDefaultSettings:{message:"Manage default privacy settings"},managePermissions:{message:"Manage permissions"},marketCap:{message:"Market cap"},marketDetails:{message:"Market details"},max:{message:"Max"},maxBaseFee:{message:"Max base fee"},maxFee:{message:"Max fee"},maxFeeTooltip:{message:"A maximum fee provided to pay for the transaction."},maxPriorityFee:{message:"Max priority fee"},medium:{message:"Market"},mediumGasSettingToolTipMessage:{message:"Use $1 for fast processing at current market price.",description:"$1 is key 'medium' (text: 'Market') separated here so that it can be passed in with bold font-weight"},memo:{message:"memo"},message:{message:"Message"},metaMaskConnectStatusParagraphOne:{message:"You now have more control over your account connections in MetaMask."},metaMaskConnectStatusParagraphThree:{message:"Click it to manage your connected accounts."},metaMaskConnectStatusParagraphTwo:{message:"The connection status button shows if the website youre visiting is connected to your currently selected account."},metaMetricsIdNotAvailableError:{message:"Since you've never opted into MetaMetrics, there's no data to delete here."},metadataModalSourceTooltip:{message:"$1 is hosted on npm and $2 is this Snaps unique identifier.",description:"$1 is the snap name and $2 is the snap NPM id."},metamaskNotificationsAreOff:{message:"Wallet notifications are currently not active."},metamaskSwapsOfflineDescription:{message:"MetaMask Swaps is undergoing maintenance. Please check back later."},metamaskVersion:{message:"MetaMask Version"},methodData:{message:"Method"},methodDataTransactionDesc:{message:"Function executed based on decoded input data."},methodNotSupported:{message:"Not supported with this account."},metrics:{message:"Metrics"},millionAbbreviation:{message:"M",description:"Shortened form of 'million'"},mismatchedChainLinkText:{message:"verify the network details",description:"Serves as link text for the 'mismatchedChain' key. This text will be embedded inside the translation for that key."},mismatchedChainRecommendation:{message:"We recommend that you $1 before proceeding.",description:"$1 is a clickable link with text defined by the 'mismatchedChainLinkText' key. The link will open to instructions for users to validate custom network details."},mismatchedNetworkName:{message:"According to our record the network name may not correctly match this chain ID."},mismatchedNetworkSymbol:{message:"The submitted currency symbol does not match what we expect for this chain ID."},mismatchedRpcChainId:{message:"Chain ID returned by the custom network does not match the submitted chain ID."},mismatchedRpcUrl:{message:"According to our records the submitted RPC URL value does not match a known provider for this chain ID."},missingSetting:{message:"Can't find a setting?"},missingSettingRequest:{message:"Request here"},more:{message:"more"},moreAccounts:{message:"+ $1 more accounts",description:"$1 is the number of accounts"},moreNetworks:{message:"+ $1 more networks",description:"$1 is the number of networks"},moreQuotes:{message:"More quotes"},multichainAddEthereumChainConfirmationDescription:{message:"You're adding this network to MetaMask and giving this site permission to use it."},multichainQuoteCardBridgingLabel:{message:"Bridging"},multichainQuoteCardQuoteLabel:{message:"Quote"},multichainQuoteCardTimeLabel:{message:"Time"},multipleSnapConnectionWarning:{message:"$1 wants to use $2 Snaps",description:"$1 is the dapp and $2 is the number of snaps it wants to connect to."},mustSelectOne:{message:"Must select at least 1 token."},name:{message:"Name"},nameAddressLabel:{message:"Address",description:"Label above address field in name component modal."},nameAlreadyInUse:{message:"Name is already in use"},nameInstructionsNew:{message:"If you know this address, give it a nickname to recognize it in the future.",description:"Instruction text in name component modal when value is not recognised."},nameInstructionsRecognized:{message:"This address has a default nickname, but you can edit it or explore other suggestions.",description:"Instruction text in name component modal when value is recognized but not saved."},nameInstructionsSaved:{message:"You've added a nickname for this address before. You can edit or view other suggested nicknames.",description:"Instruction text in name component modal when value is saved."},nameLabel:{message:"Nickname",description:"Label above name input field in name component modal."},nameModalMaybeProposedName:{message:"Maybe: $1",description:"$1 is the proposed name"},nameModalTitleNew:{message:"Unknown address",description:"Title of the modal created by the name component when value is not recognised."},nameModalTitleRecognized:{message:"Recognized address",description:"Title of the modal created by the name component when value is recognized but not saved."},nameModalTitleSaved:{message:"Saved address",description:"Title of the modal created by the name component when value is saved."},nameProviderProposedBy:{message:"Proposed by $1",description:"$1 is the name of the provider"},nameProvider_ens:{message:"Ethereum Name Service (ENS)"},nameProvider_etherscan:{message:"Etherscan"},nameProvider_lens:{message:"Lens Protocol"},nameProvider_token:{message:"MetaMask"},nameSetPlaceholder:{message:"Choose a nickname...",description:"Placeholder text for name input field in name component modal."},nativeNetworkPermissionRequestDescription:{message:"$1 is asking for your approval to:",description:"$1 represents dapp name"},nativeTokenScamWarningConversion:{message:"Edit network details"},nativeTokenScamWarningDescription:{message:"The native token symbol does not match the expected symbol of the native token for the network with the associated chain ID. You have entered $1 while the expected token symbol is $2. Please verify you are connected to the correct chain.",description:"$1 represents the currency name, $2 represents the expected currency symbol"},nativeTokenScamWarningDescriptionExpectedTokenFallback:{message:"something else",description:"graceful fallback for when token symbol isn't found"},nativeTokenScamWarningTitle:{message:"Unexpected Native Token Symbol",description:"Title for nativeTokenScamWarningDescription"},needHelp:{message:"Need help? Contact $1",description:"$1 represents `needHelpLinkText`, the text which goes in the help link"},needHelpFeedback:{message:"Share your feedback"},needHelpLinkText:{message:"MetaMask support"},needHelpSubmitTicket:{message:"Submit a ticket"},needImportFile:{message:"You must select a file to import.",description:"User is important an account and needs to add a file to continue"},negativeETH:{message:"Can not send negative amounts of ETH."},negativeOrZeroAmountToken:{message:"Cannot send negative or zero amounts of asset."},network:{message:"Network:"},networkChanged:{message:"Network changed"},networkChangedMessage:{message:"You're now transacting on $1.",description:"$1 is the name of the network"},networkDetails:{message:"Network details"},networkFee:{message:"Network fee"},networkIsBusy:{message:"Network is busy. Gas prices are high and estimates are less accurate."},networkMenu:{message:"Network Menu"},networkMenuHeading:{message:"Select a network"},networkName:{message:"Network name"},networkNameArbitrum:{message:"Arbitrum"},networkNameAvalanche:{message:"Avalanche"},networkNameBSC:{message:"BSC"},networkNameBase:{message:"Base"},networkNameBitcoin:{message:"Bitcoin"},networkNameDefinition:{message:"The name associated with this network."},networkNameEthereum:{message:"Ethereum"},networkNameGoerli:{message:"Goerli"},networkNameLinea:{message:"Linea"},networkNameOpMainnet:{message:"OP Mainnet"},networkNamePolygon:{message:"Polygon"},networkNameSolana:{message:"Solana"},networkNameTestnet:{message:"Testnet"},networkNameZkSyncEra:{message:"zkSync Era"},networkOptions:{message:"Network options"},networkPermissionToast:{message:"Network permissions updated"},networkProvider:{message:"Network provider"},networkStatus:{message:"Network status"},networkStatusBaseFeeTooltip:{message:"The base fee is set by the network and changes every 13-14 seconds. Our $1 and $2 options account for sudden increases.",description:"$1 and $2 are bold text for Medium and Aggressive respectively."},networkStatusPriorityFeeTooltip:{message:"Range of priority fees (aka “miner tip”). This goes to miners and incentivizes them to prioritize your transaction."},networkStatusStabilityFeeTooltip:{message:"Gas fees are $1 relative to the past 72 hours.",description:"$1 is networks stability value - stable, low, high"},networkSwitchConnectionError:{message:"We can't connect to $1",description:"$1 represents the network name"},networkURL:{message:"Network URL"},networkURLDefinition:{message:"The URL used to access this network."},networkUrlErrorWarning:{message:"Attackers sometimes mimic sites by making small changes to the site address. Make sure you're interacting with the intended site before you continue. Punycode version: $1",description:"$1 replaced by RPC URL for network"},networks:{message:"Networks"},networksSmallCase:{message:"networks"},nevermind:{message:"Nevermind"},new:{message:"New!"},newAccount:{message:"New account"},newAccountNumberName:{message:"Account $1",description:"Default name of next account to be created on create account screen"},newContact:{message:"New contact"},newContract:{message:"New contract"},newNFTDetectedInImportNFTsMessageStrongText:{message:"Settings > Security and privacy"},newNFTDetectedInImportNFTsMsg:{message:"To use Opensea to see your NFTs, turn on 'Display NFT Media' in $1.",description:"$1 is used for newNFTDetectedInImportNFTsMessageStrongText"},newNFTDetectedInNFTsTabMessage:{message:"Let MetaMask automatically detect and display NFTs in your wallet."},newNFTsAutodetected:{message:"NFT autodetection"},newNetworkAdded:{message:"“$1” was successfully added!"},newNetworkEdited:{message:"“$1” was successfully edited!"},newNftAddedMessage:{message:"NFT was successfully added!"},newPassword:{message:"New password (8 characters min)"},newPrivacyPolicyActionButton:{message:"Read more"},newPrivacyPolicyTitle:{message:"Weve updated our privacy policy"},newRpcUrl:{message:"New RPC URL"},newTokensImportedMessage:{message:"Youve successfully imported $1.",description:"$1 is the string of symbols of all the tokens imported"},newTokensImportedTitle:{message:"Token imported"},next:{message:"Next"},nftAddFailedMessage:{message:"NFT cant be added as the ownership details do not match. Make sure you have entered correct information."},nftAddressError:{message:"This token is an NFT. Add on the $1",description:"$1 is a clickable link with text defined by the 'importNFTPage' key"},nftAlreadyAdded:{message:"NFT has already been added."},nftAutoDetectionEnabled:{message:"NFT autodetection enabled"},nftDisclaimer:{message:"Disclaimer: MetaMask pulls the media file from the source url. This url sometimes gets changed by the marketplace on which the NFT was minted."},nftOptions:{message:"NFT Options"},nftTokenIdPlaceholder:{message:"Enter the token id"},nftWarningContent:{message:"You're granting access to $1, including any you might own in the future. The party on the other end can transfer these NFTs from your wallet at any time without asking you until you revoke this approval. $2",description:"$1 is nftWarningContentBold bold part, $2 is Learn more link"},nftWarningContentBold:{message:"all your $1 NFTs",description:"$1 is name of the collection"},nftWarningContentGrey:{message:"Proceed with caution."},nfts:{message:"NFTs"},nftsPreviouslyOwned:{message:"Previously Owned"},nickname:{message:"Nickname"},noAccountsFound:{message:"No accounts found for the given search query"},noConnectedAccountTitle:{message:"MetaMask isnt connected to this site"},noConnectionDescription:{message:'To connect to a site, find and select the "connect" button. Remember MetaMask can only connect to sites on web3'},noConversionRateAvailable:{message:"No conversion rate available"},noDomainResolution:{message:"No resolution for domain provided."},noHardwareWalletOrSnapsSupport:{message:"Snaps, and most hardware wallets, will not work with your current browser version."},noNFTs:{message:"No NFTs yet"},noNetworksFound:{message:"No networks found for the given search query"},noOptionsAvailableMessage:{message:"This trade route isn't available right now. Try changing the amount, network, or token and we'll find the best option."},noSnaps:{message:"You don't have any snaps installed."},noThanks:{message:"No thanks"},noTransactions:{message:"You have no transactions"},noWebcamFound:{message:"Your computer's webcam was not found. Please try again."},noWebcamFoundTitle:{message:"Webcam not found"},nonContractAddressAlertDesc:{message:"You're sending call data to an address that isn't a contract. This could cause you to lose funds. Make sure you're using the correct address and network before continuing."},nonContractAddressAlertTitle:{message:"Potential mistake"},nonce:{message:"Nonce"},none:{message:"None"},notBusy:{message:"Not busy"},notCurrentAccount:{message:"Is this the correct account? It's different from the currently selected account in your wallet"},notEnoughBalance:{message:"Insufficient balance"},notEnoughGas:{message:"Not enough gas"},notNow:{message:"Not now"},notificationDetail:{message:"Details"},notificationDetailBaseFee:{message:"Base fee (GWEI)"},notificationDetailGasLimit:{message:"Gas limit (units)"},notificationDetailGasUsed:{message:"Gas used (units)"},notificationDetailMaxFee:{message:"Max fee per gas"},notificationDetailNetwork:{message:"Network"},notificationDetailNetworkFee:{message:"Network fee"},notificationDetailPriorityFee:{message:"Priority fee (GWEI)"},notificationItemCheckBlockExplorer:{message:"Check on the Block Explorer"},notificationItemCollection:{message:"Collection"},notificationItemConfirmed:{message:"Confirmed"},notificationItemError:{message:"Unable to retrieve fees currently"},notificationItemFrom:{message:"From"},notificationItemLidoStakeReadyToBeWithdrawn:{message:"Withdrawal Ready"},notificationItemLidoStakeReadyToBeWithdrawnMessage:{message:"You can now withdraw your unstaked $1"},notificationItemLidoWithdrawalRequestedMessage:{message:"Your request to unstake $1 has been sent"},notificationItemNFTReceivedFrom:{message:"Received NFT from"},notificationItemNFTSentTo:{message:"Sent NFT to"},notificationItemNetwork:{message:"Network"},notificationItemRate:{message:"Rate (fee included)"},notificationItemReceived:{message:"Received"},notificationItemReceivedFrom:{message:"Received from"},notificationItemSent:{message:"Sent"},notificationItemSentTo:{message:"Sent to"},notificationItemStakeCompleted:{message:"Stake completed"},notificationItemStaked:{message:"Staked"},notificationItemStakingProvider:{message:"Staking Provider"},notificationItemStatus:{message:"Status"},notificationItemSwapped:{message:"Swapped"},notificationItemSwappedFor:{message:"for"},notificationItemTo:{message:"To"},notificationItemTransactionId:{message:"Transaction ID"},notificationItemUnStakeCompleted:{message:"UnStaking complete"},notificationItemUnStaked:{message:"Unstaked"},notificationItemUnStakingRequested:{message:"Unstaking requested"},notificationTransactionFailedMessage:{message:"Transaction $1 failed! $2",description:"Content of the browser notification that appears when a transaction fails"},notificationTransactionFailedMessageMMI:{message:"Transaction failed! $1",description:"Content of the browser notification that appears when a transaction fails in MMI"},notificationTransactionFailedTitle:{message:"Failed transaction",description:"Title of the browser notification that appears when a transaction fails"},notificationTransactionSuccessMessage:{message:"Transaction $1 confirmed!",description:"Content of the browser notification that appears when a transaction is confirmed"},notificationTransactionSuccessTitle:{message:"Confirmed transaction",description:"Title of the browser notification that appears when a transaction is confirmed"},notificationTransactionSuccessView:{message:"View on $1",description:"Additional content in a notification that appears when a transaction is confirmed and has a block explorer URL."},notifications:{message:"Notifications"},notificationsFeatureToggle:{message:"Enable Wallet Notifications",description:"Experimental feature title"},notificationsFeatureToggleDescription:{message:"This enables wallet notifications like send/receive funds or nfts and feature announcements.",description:"Description of the experimental notifications feature"},notificationsMarkAllAsRead:{message:"Mark all as read"},notificationsPageEmptyTitle:{message:"Nothing to see here"},notificationsPageErrorContent:{message:"Please, try to visit this page again."},notificationsPageErrorTitle:{message:"There has been an error"},notificationsPageNoNotificationsContent:{message:"You have not received any notifications yet."},notificationsSettingsBoxError:{message:"Something went wrong. Please try again."},notificationsSettingsPageAllowNotifications:{message:"Stay in the loop on whats happening in your wallet with notifications. To use notifications, we use a profile to sync some settings across your devices. $1"},notificationsSettingsPageAllowNotificationsLink:{message:"Learn how we protect your privacy while using this feature."},numberOfNewTokensDetectedPlural:{message:"$1 new tokens found in this account",description:"$1 is the number of new tokens detected"},numberOfNewTokensDetectedSingular:{message:"1 new token found in this account"},numberOfTokens:{message:"Number of tokens"},ofTextNofM:{message:"of"},off:{message:"Off"},offlineForMaintenance:{message:"Offline for maintenance"},ok:{message:"Ok"},on:{message:"On"},onboardedMetametricsAccept:{message:"I agree"},onboardedMetametricsDisagree:{message:"No thanks"},onboardedMetametricsKey1:{message:"Latest developments"},onboardedMetametricsKey2:{message:"Product features"},onboardedMetametricsKey3:{message:"Other relevant promotional materials"},onboardedMetametricsLink:{message:"MetaMetrics"},onboardedMetametricsParagraph1:{message:"In addition to $1, we'd like to use data to understand how you interact with marketing communications.",description:"$1 represents the 'onboardedMetametricsLink' locale string"},onboardedMetametricsParagraph2:{message:"This helps us personalize what we share with you, like:"},onboardedMetametricsParagraph3:{message:"Remember, we never sell the data you provide and you can opt out any time."},onboardedMetametricsTitle:{message:"Help us enhance your experience"},onboardingAdvancedPrivacyIPFSDescription:{message:"The IPFS gateway makes it possible to access and view data hosted by third parties. You can add a custom IPFS gateway or continue using the default."},onboardingAdvancedPrivacyIPFSInvalid:{message:"Please enter a valid URL"},onboardingAdvancedPrivacyIPFSTitle:{message:"Add custom IPFS Gateway"},onboardingAdvancedPrivacyIPFSValid:{message:"IPFS gateway URL is valid"},onboardingAdvancedPrivacyNetworkDescription:{message:"We use Infura as our remote procedure call (RPC) provider to offer the most reliable and private access to Ethereum data we can. You can choose your own RPC, but remember that any RPC will receive your IP address and Ethereum wallet to make transactions. Read our $1 to learn more about how Infura handles data."},onboardingAdvancedPrivacyNetworkTitle:{message:"Choose your network"},onboardingCreateWallet:{message:"Create a new wallet"},onboardingImportWallet:{message:"Import an existing wallet"},onboardingMetametricsAgree:{message:"I agree"},onboardingMetametricsDescription:{message:"Wed like to gather basic usage and diagnostics data to improve MetaMask. Know that we never sell the data you provide here."},onboardingMetametricsDescription2:{message:"When we gather metrics, it will always be..."},onboardingMetametricsInfuraTerms:{message:"Well let you know if we decide to use this data for other purposes. You can review our $1 for more information. Remember, you can go to settings and opt out at any time.",description:"$1 represents `onboardingMetametricsInfuraTermsPolicy`"},onboardingMetametricsInfuraTermsPolicy:{message:"Privacy Policy"},onboardingMetametricsNeverCollect:{message:"$1 clicks and views on the app are stored, but other details (like your public address) are not.",description:"$1 represents `onboardingMetametricsNeverCollectEmphasis`"},onboardingMetametricsNeverCollectEmphasis:{message:"Private:"},onboardingMetametricsNeverCollectIP:{message:"$1 we temporarily use your IP address to detect a general location (like your country or region), but it's never stored.",description:"$1 represents `onboardingMetametricsNeverCollectIPEmphasis`"},onboardingMetametricsNeverCollectIPEmphasis:{message:"General:"},onboardingMetametricsNeverSellData:{message:"$1 you decide if you want to share or delete your usage data via settings any time.",description:"$1 represents `onboardingMetametricsNeverSellDataEmphasis`"},onboardingMetametricsNeverSellDataEmphasis:{message:"Optional:"},onboardingMetametricsPrivacyDescription:{message:"Learn how we protect your privacy while collecting usage data for your profile."},onboardingMetametricsTitle:{message:"Help us improve MetaMask"},onboardingMetametricsUseDataCheckbox:{message:"Well use this data to learn how you interact with our marketing communications. We may share relevant news (like product features)."},onboardingPinExtensionBillboardAccess:{message:"Full access"},onboardingPinExtensionBillboardDescription:{message:"These extensions can see and change information"},onboardingPinExtensionBillboardDescription2:{message:"on this site."},onboardingPinExtensionBillboardTitle:{message:"Extensions"},onboardingPinExtensionChrome:{message:"Click the browser extension icon"},onboardingPinExtensionDescription:{message:"Pin MetaMask on your browser so it's accessible and easy to view transaction confirmations."},onboardingPinExtensionDescription2:{message:"You can open MetaMask by clicking on the extension and access your wallet with 1 click."},onboardingPinExtensionDescription3:{message:"Click browser extension icon to access it instantly"},onboardingPinExtensionLabel:{message:"Pin MetaMask"},onboardingPinExtensionStep1:{message:"1"},onboardingPinExtensionStep2:{message:"2"},onboardingPinExtensionTitle:{message:"Your MetaMask install is complete!"},oneDayAbbreviation:{message:"1D",description:"Shortened form of '1 day'"},oneMonthAbbreviation:{message:"1M",description:"Shortened form of '1 month'"},oneWeekAbbreviation:{message:"1W",description:"Shortened form of '1 week'"},oneYearAbbreviation:{message:"1Y",description:"Shortened form of '1 year'"},onlyConnectTrust:{message:"Only connect with sites you trust. $1",description:"Text displayed above the buttons for connection confirmation. $1 is the link to the learn more web page."},openFullScreenForLedgerWebHid:{message:"Go to full screen to connect your Ledger.",description:"Shown to the user on the confirm screen when they are viewing MetaMask in a popup window but need to connect their ledger via webhid."},openInBlockExplorer:{message:"Open in block explorer"},optional:{message:"Optional"},options:{message:"Options"},origin:{message:"Origin"},originChanged:{message:"Site changed"},originChangedMessage:{message:"You're now reviewing a request from $1.",description:"$1 is the name of the origin"},osTheme:{message:"System"},otherSnaps:{message:"other snaps",description:"Used in the 'permission_rpc' message."},outdatedBrowserNotification:{message:"Your browser is out of date. If you don't update your browser, you won't be able to get security patches and new features from MetaMask."},overrideContentSecurityPolicyHeader:{message:"Override Content-Security-Policy header"},overrideContentSecurityPolicyHeaderDescription:{message:"This option is a workaround for a known issue in Firefox, where a dapp's Content-Security-Policy header may prevent the extension from loading properly. Disabling this option is not recommended unless required for specific web page compatibility."},padlock:{message:"Padlock"},participateInMetaMetrics:{message:"Participate in MetaMetrics"},participateInMetaMetricsDescription:{message:"Participate in MetaMetrics to help us make MetaMask better"},password:{message:"Password"},passwordNotLongEnough:{message:"Password not long enough"},passwordSetupDetails:{message:"This password will unlock your MetaMask wallet only on this device. MetaMask can not recover this password."},passwordStrength:{message:"Password strength: $1",description:"Return password strength to the user when user wants to create password."},passwordStrengthDescription:{message:"A strong password can improve the security of your wallet should your device be stolen or compromised."},passwordTermsWarning:{message:"I understand that MetaMask cannot recover this password for me. $1"},passwordsDontMatch:{message:"Passwords don't match"},pastePrivateKey:{message:"Enter your private key string here:",description:"For importing an account from a private key"},pending:{message:"Pending"},pendingConfirmationAddNetworkAlertMessage:{message:"Updating network will cancel $1 pending transactions from this site.",description:"Number of transactions."},pendingConfirmationSwitchNetworkAlertMessage:{message:"Switching network will cancel $1 pending transactions from this site.",description:"Number of transactions."},pendingTransactionAlertMessage:{message:"This transaction won't go through until a previous transaction is complete. $1",description:"$1 represents the words 'how to cancel or speed up a transaction' in a hyperlink"},pendingTransactionAlertMessageHyperlink:{message:"Learn how to cancel or speed up a transaction.",description:"The text for the hyperlink in the pending transaction alert message"},permissionDetails:{message:"Permission details"},permissionFor:{message:"Permission for"},permissionFrom:{message:"Permission from"},permissionRequested:{message:"Requested now"},permissionRequestedForAccounts:{message:"Requested now for $1",description:"Permission cell status for requested permission including accounts, rendered as AvatarGroup which is $1."},permissionRevoked:{message:"Revoked in this update"},permissionRevokedForAccounts:{message:"Revoked in this update for $1",description:"Permission cell status for revoked permission including accounts, rendered as AvatarGroup which is $1."},permission_accessNamedSnap:{message:"Connect to $1.",description:"The description for the `wallet_snap` permission. $1 is the human-readable name of the snap."},permission_accessNetwork:{message:"Access the internet.",description:"The description of the `endowment:network-access` permission."},permission_accessNetworkDescription:{message:"Allow $1 to access the internet. This can be used to both send and receive data with third-party servers.",description:"An extended description of the `endowment:network-access` permission. $1 is the snap name."},permission_accessSnap:{message:"Connect to the $1 snap.",description:"The description for the `wallet_snap` permission. $1 is the name of the snap."},permission_accessSnapDescription:{message:"Allow the website or snap to interact with $1.",description:"The description for the `wallet_snap_*` permission. $1 is the name of the Snap."},permission_assets:{message:"Display account assets in MetaMask.",description:"The description for the `endowment:assets` permission."},permission_assetsDescription:{message:"Allow $1 to provide asset information to the MetaMask client. The assets can be onchain or offchain.",description:"An extended description for the `endowment:assets` permission. $1 is the name of the Snap."},permission_cronjob:{message:"Schedule and execute periodic actions.",description:"The description for the `snap_cronjob` permission"},permission_cronjobDescription:{message:"Allow $1 to perform actions that run periodically at fixed times, dates, or intervals. This can be used to trigger time-sensitive interactions or notifications.",description:"An extended description for the `snap_cronjob` permission. $1 is the snap name."},permission_dialog:{message:"Display dialog windows in MetaMask.",description:"The description for the `snap_dialog` permission"},permission_dialogDescription:{message:"Allow $1 to display MetaMask popups with custom text, input field, and buttons to approve or reject an action.\nCan be used to create e.g. alerts, confirmations, and opt-in flows for a snap.",description:"An extended description for the `snap_dialog` permission. $1 is the snap name."},permission_ethereumAccounts:{message:"See address, account balance, activity and suggest transactions to approve",description:"The description for the `eth_accounts` permission"},permission_ethereumProvider:{message:"Access the Ethereum provider.",description:"The description for the `endowment:ethereum-provider` permission"},permission_ethereumProviderDescription:{message:"Allow $1 to communicate with MetaMask directly, in order for it to read data from the blockchain and suggest messages and transactions.",description:"An extended description for the `endowment:ethereum-provider` permission. $1 is the snap name."},permission_getEntropy:{message:"Derive arbitrary keys unique to $1.",description:"The description for the `snap_getEntropy` permission. $1 is the snap name."},permission_getEntropyDescription:{message:"Allow $1 to derive arbitrary keys unique to $1, without exposing them. These keys are separate from your MetaMask account(s) and not related to your private keys or Secret Recovery Phrase. Other snaps cannot access this information.",description:"An extended description for the `snap_getEntropy` permission. $1 is the snap name."},permission_getLocale:{message:"View your preferred language.",description:"The description for the `snap_getLocale` permission"},permission_getLocaleDescription:{message:"Let $1 access your preferred language from your MetaMask settings. This can be used to localize and display $1's content using your language.",description:"An extended description for the `snap_getLocale` permission. $1 is the snap name."},permission_getPreferences:{message:"See information like your preferred language and fiat currency.",description:"The description for the `snap_getPreferences` permission"},permission_getPreferencesDescription:{message:"Let $1 access information like your preferred language and fiat currency in your MetaMask settings. This helps $1 display content tailored to your preferences. ",description:"An extended description for the `snap_getPreferences` permission. $1 is the snap name."},permission_homePage:{message:"Display a custom screen",description:"The description for the `endowment:page-home` permission"},permission_homePageDescription:{message:"Let $1 display a custom home screen in MetaMask. This can be used for user interfaces, configuration, and dashboards.",description:"An extended description for the `endowment:page-home` permission. $1 is the snap name."},permission_keyring:{message:"Allow requests for adding and controlling Ethereum accounts",description:"The description for the `endowment:keyring` permission"},permission_keyringDescription:{message:"Let $1 receive requests to add or remove accounts, plus sign and transact on behalf of these accounts.",description:"An extended description for the `endowment:keyring` permission. $1 is the snap name."},permission_lifecycleHooks:{message:"Use lifecycle hooks.",description:"The description for the `endowment:lifecycle-hooks` permission"},permission_lifecycleHooksDescription:{message:"Allow $1 to use lifecycle hooks to run code at specific times during its lifecycle.",description:"An extended description for the `endowment:lifecycle-hooks` permission. $1 is the snap name."},permission_manageAccounts:{message:"Add and control Ethereum accounts",description:"The description for `snap_manageAccounts` permission"},permission_manageAccountsDescription:{message:"Allow $1 to add or remove Ethereum accounts, then transact and sign with these accounts.",description:"An extended description for the `snap_manageAccounts` permission. $1 is the snap name."},permission_manageBip32Keys:{message:"Manage $1 accounts.",description:"The description for the `snap_getBip32Entropy` permission. $1 is a derivation path, e.g. 'm/44'/0'/0' (secp256k1)'."},permission_manageBip44AndBip32KeysDescription:{message:"Allow $1 to manage accounts and assets on the requested network. These accounts are derived and backed up using your secret recovery phrase (without revealing it). With the power to derive keys, $1 can support a variety of blockchain protocols beyond Ethereum (EVMs).",description:"An extended description for the `snap_getBip44Entropy` and `snap_getBip44Entropy` permissions. $1 is the snap name."},permission_manageBip44Keys:{message:"Manage $1 accounts.",description:"The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."},permission_manageState:{message:"Store and manage its data on your device.",description:"The description for the `snap_manageState` permission"},permission_manageStateDescription:{message:"Allow $1 to store, update, and retrieve data securely with encryption. Other snaps cannot access this information.",description:"An extended description for the `snap_manageState` permission. $1 is the snap name."},permission_nameLookup:{message:"Provide domain and address lookups.",description:"The description for the `endowment:name-lookup` permission."},permission_nameLookupDescription:{message:"Allow the snap to fetch and display address and domain lookups in different parts of the MetaMask UI.",description:"An extended description for the `endowment:name-lookup` permission."},permission_notifications:{message:"Show notifications.",description:"The description for the `snap_notify` permission"},permission_notificationsDescription:{message:"Allow $1 to display notifications within MetaMask. A short notification text can be triggered by a snap for actionable or time-sensitive information.",description:"An extended description for the `snap_notify` permission. $1 is the snap name."},permission_protocol:{message:"Provide protocol data for one or more chains.",description:"The description for the `endowment:protocol` permission."},permission_protocolDescription:{message:"Allow $1 to provide MetaMask with protocol data such as gas estimates or token information.",description:"An extended description for the `endowment:protocol` permission. $1 is the name of the Snap."},permission_rpc:{message:"Allow $1 to communicate directly with $2.",description:"The description for the `endowment:rpc` permission. $1 is 'other snaps' or 'websites', $2 is the snap name."},permission_rpcDescription:{message:"Allow $1 to send messages to $2 and receive a response from $2.",description:"An extended description for the `endowment:rpc` permission. $1 is 'other snaps' or 'websites', $2 is the snap name."},permission_rpcDescriptionOriginList:{message:"$1 and $2",description:"A list of allowed origins where $2 is the last origin of the list and $1 is the rest of the list separated by ','."},permission_signatureInsight:{message:"Display signature insights modal.",description:"The description for the `endowment:signature-insight` permission"},permission_signatureInsightDescription:{message:"Allow $1 to display a modal with insights on any signature request before approval. This can be used for anti-phishing and security solutions.",description:"An extended description for the `endowment:signature-insight` permission. $1 is the snap name."},permission_signatureInsightOrigin:{message:"See the origins of websites that initiate a signature request",description:"The description for the `signatureOrigin` caveat, to be used with the `endowment:signature-insight` permission"},permission_signatureInsightOriginDescription:{message:"Allow $1 to see the origin (URI) of websites that initiate signature requests. This can be used for anti-phishing and security solutions.",description:"An extended description for the `signatureOrigin` caveat, to be used with the `endowment:signature-insight` permission. $1 is the snap name."},permission_transactionInsight:{message:"Fetch and display transaction insights.",description:"The description for the `endowment:transaction-insight` permission"},permission_transactionInsightDescription:{message:"Allow $1 to decode transactions and show insights within the MetaMask UI. This can be used for anti-phishing and security solutions.",description:"An extended description for the `endowment:transaction-insight` permission. $1 is the snap name."},permission_transactionInsightOrigin:{message:"See the origins of websites that suggest transactions",description:"The description for the `transactionOrigin` caveat, to be used with the `endowment:transaction-insight` permission"},permission_transactionInsightOriginDescription:{message:"Allow $1 to see the origin (URI) of websites that suggest transactions. This can be used for anti-phishing and security solutions.",description:"An extended description for the `transactionOrigin` caveat, to be used with the `endowment:transaction-insight` permission. $1 is the snap name."},permission_unknown:{message:"Unknown permission: $1",description:"$1 is the name of a requested permission that is not recognized."},permission_viewBip32PublicKeys:{message:"View your public key for $1 ($2).",description:"The description for the `snap_getBip32PublicKey` permission. $1 is a derivation path, e.g. 'm/44'/0'/0''. $2 is the elliptic curve name, e.g. 'secp256k1'."},permission_viewBip32PublicKeysDescription:{message:"Allow $2 to view your public keys (and addresses) for $1. This does not grant any control of accounts or assets.",description:"An extended description for the `snap_getBip32PublicKey` permission. $1 is a derivation path (name). $2 is the snap name."},permission_viewNamedBip32PublicKeys:{message:"View your public key for $1.",description:"The description for the `snap_getBip32PublicKey` permission. $1 is a name for the derivation path, e.g., 'Ethereum accounts'."},permission_walletSwitchEthereumChain:{message:"Use your enabled networks",description:"The label for the `wallet_switchEthereumChain` permission"},permission_webAssembly:{message:"Support for WebAssembly.",description:"The description of the `endowment:webassembly` permission."},permission_webAssemblyDescription:{message:"Allow $1 to access low-level execution environments via WebAssembly.",description:"An extended description of the `endowment:webassembly` permission. $1 is the snap name."},permissions:{message:"Permissions"},permissionsPageEmptyContent:{message:"Nothing to see here"},permissionsPageEmptySubContent:{message:"This is where you can see the permissions you've given to installed Snaps or connected sites."},permitSimulationChange_approve:{message:"Spending cap"},permitSimulationChange_bidding:{message:"You bid"},permitSimulationChange_listing:{message:"You list"},permitSimulationChange_nft_listing:{message:"Listing price"},permitSimulationChange_receive:{message:"You receive"},permitSimulationChange_revoke2:{message:"Revoke"},permitSimulationChange_transfer:{message:"You send"},permitSimulationDetailInfo:{message:"You're giving the spender permission to spend this many tokens from your account."},permittedChainToastUpdate:{message:"$1 has access to $2."},personalAddressDetected:{message:"Personal address detected. Input the token contract address."},pinToTop:{message:"Pin to top"},pleaseConfirm:{message:"Please confirm"},plusMore:{message:"+ $1 more",description:"$1 is the number of additional items"},plusXMore:{message:"+ $1 more",description:"$1 is a number of additional but unshown items in a list- this message will be shown in place of those items"},popularNetworkAddToolTip:{message:"Some of these networks rely on third parties. The connections may be less reliable or enable third-parties to track activity. $1",description:"$1 is Learn more link"},popularNetworks:{message:"Popular networks"},portfolio:{message:"Portfolio"},preparingSwap:{message:"Preparing swap..."},prev:{message:"Prev"},price:{message:"Price"},priceUnavailable:{message:"price unavailable"},primaryType:{message:"Primary type"},priorityFee:{message:"Priority fee"},priorityFeeProperCase:{message:"Priority Fee"},privacy:{message:"Privacy"},privacyMsg:{message:"Privacy policy"},privateKey:{message:"Private Key",description:"select this type of file to use to import an account"},privateKeyCopyWarning:{message:"Private key for $1",description:"$1 represents the account name"},privateKeyHidden:{message:"The private key is hidden",description:"Explains that the private key input is hidden"},privateKeyShow:{message:"Show/Hide the private key input",description:"Describes a toggle that is used to show or hide the private key input"},privateKeyShown:{message:"This private key is being shown",description:"Explains that the private key input is being shown"},privateKeyWarning:{message:"Warning: Never disclose this key. Anyone with your private keys can steal any assets held in your account."},privateNetwork:{message:"Private network"},proceedWithTransaction:{message:"I want to proceed anyway"},productAnnouncements:{message:"Product announcements"},profileSync:{message:"Profile Sync"},profileSyncConfirmation:{message:"If you turn off profile sync, you wont be able to receive notifications."},profileSyncDescription:{message:"Creates a profile that MetaMask uses to sync some settings among your devices. This is required to get notifications. $1."},profileSyncPrivacyLink:{message:"Learn how we protect your privacy"},proposedApprovalLimit:{message:"Proposed approval limit"},provide:{message:"Provide"},publicAddress:{message:"Public address"},pushPlatformNotificationsFundsReceivedDescription:{message:"You received $1 $2"},pushPlatformNotificationsFundsReceivedDescriptionDefault:{message:"You received some tokens"},pushPlatformNotificationsFundsReceivedTitle:{message:"Funds received"},pushPlatformNotificationsFundsSentDescription:{message:"You successfully sent $1 $2"},pushPlatformNotificationsFundsSentDescriptionDefault:{message:"You successfully sent some tokens"},pushPlatformNotificationsFundsSentTitle:{message:"Funds sent"},pushPlatformNotificationsNftReceivedDescription:{message:"You received new NFTs"},pushPlatformNotificationsNftReceivedTitle:{message:"NFT received"},pushPlatformNotificationsNftSentDescription:{message:"You have successfully sent an NFT"},pushPlatformNotificationsNftSentTitle:{message:"NFT sent"},pushPlatformNotificationsStakingLidoStakeCompletedDescription:{message:"Your Lido stake was successful"},pushPlatformNotificationsStakingLidoStakeCompletedTitle:{message:"Stake complete"},pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnDescription:{message:"Your Lido stake is now ready to be withdrawn"},pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnTitle:{message:"Stake ready for withdrawal"},pushPlatformNotificationsStakingLidoWithdrawalCompletedDescription:{message:"Your Lido withdrawal was successful"},pushPlatformNotificationsStakingLidoWithdrawalCompletedTitle:{message:"Withdrawal completed"},pushPlatformNotificationsStakingLidoWithdrawalRequestedDescription:{message:"Your Lido withdrawal request was submitted"},pushPlatformNotificationsStakingLidoWithdrawalRequestedTitle:{message:"Withdrawal requested"},pushPlatformNotificationsStakingRocketpoolStakeCompletedDescription:{message:"Your RocketPool stake was successful"},pushPlatformNotificationsStakingRocketpoolStakeCompletedTitle:{message:"Stake complete"},pushPlatformNotificationsStakingRocketpoolUnstakeCompletedDescription:{message:"Your RocketPool unstake was successful"},pushPlatformNotificationsStakingRocketpoolUnstakeCompletedTitle:{message:"Unstake complete"},pushPlatformNotificationsSwapCompletedDescription:{message:"Your MetaMask Swap was successful"},pushPlatformNotificationsSwapCompletedTitle:{message:"Swap completed"},queued:{message:"Queued"},quoteRate:{message:"Quote rate"},quotedReceiveAmount:{message:"$1 receive amount"},quotedTotalCost:{message:"$1 total cost"},rank:{message:"Rank"},rateIncludesMMFee:{message:"Rate includes $1% fee"},reAddAccounts:{message:"re-add any other accounts"},reAdded:{message:"re-added"},readdToken:{message:"You can add this token back in the future by going to “Import token” in your accounts options menu."},receive:{message:"Receive"},receiveCrypto:{message:"Receive crypto"},recipientAddressPlaceholderNew:{message:"Enter public address (0x) or domain name"},recommendedGasLabel:{message:"Recommended"},recoveryPhraseReminderBackupStart:{message:"Start here"},recoveryPhraseReminderConfirm:{message:"Got it"},recoveryPhraseReminderHasBackedUp:{message:"Always keep your Secret Recovery Phrase in a secure and secret place"},recoveryPhraseReminderHasNotBackedUp:{message:"Need to backup your Secret Recovery Phrase again?"},recoveryPhraseReminderItemOne:{message:"Never share your Secret Recovery Phrase with anyone"},recoveryPhraseReminderItemTwo:{message:"The MetaMask team will never ask for your Secret Recovery Phrase"},recoveryPhraseReminderSubText:{message:"Your Secret Recovery Phrase controls all of your accounts."},recoveryPhraseReminderTitle:{message:"Protect your funds"},redeposit:{message:"Redeposit"},refreshList:{message:"Refresh list"},reject:{message:"Reject"},rejectAll:{message:"Reject all"},rejectRequestsDescription:{message:"You are about to batch reject $1 requests."},rejectRequestsN:{message:"Reject $1 requests"},rejectTxsDescription:{message:"You are about to batch reject $1 transactions."},rejectTxsN:{message:"Reject $1 transactions"},rejected:{message:"Rejected"},rememberSRPIfYouLooseAccess:{message:"Remember, if you lose your Secret Recovery Phrase, you lose access to your wallet. $1 to keep this set of words safe so you can always access your funds."},reminderSet:{message:"Reminder set!"},remove:{message:"Remove"},removeAccount:{message:"Remove account"},removeAccountDescription:{message:"This account will be removed from your wallet. Please make sure you have the original Secret Recovery Phrase or private key for this imported account before continuing. You can import or create accounts again from the account drop-down. "},removeKeyringSnap:{message:"Removing this Snap removes these accounts from MetaMask:"},removeKeyringSnapToolTip:{message:"The snap controls the accounts, and by removing it, the accounts will be removed from MetaMask, too, but they will remain in the blockchain."},removeNFT:{message:"Remove NFT"},removeNftErrorMessage:{message:"We could not remove this NFT."},removeNftMessage:{message:"NFT was successfully removed!"},removeSnap:{message:"Remove Snap"},removeSnapAccountDescription:{message:"If you proceed, this account will no longer be available in MetaMask."},removeSnapAccountTitle:{message:"Remove account"},removeSnapConfirmation:{message:"Are you sure you want to remove $1?",description:"$1 represents the name of the snap"},removeSnapDescription:{message:"This action will delete the snap, its data and revoke your given permissions."},replace:{message:"replace"},reportIssue:{message:"Report an issue"},requestFrom:{message:"Request from"},requestFromInfo:{message:"This is the site asking for your signature."},requestFromInfoSnap:{message:"This is the Snap asking for your signature."},requestFromTransactionDescription:{message:"This is the site asking for your confirmation."},requestingFor:{message:"Requesting for"},requestingForAccount:{message:"Requesting for $1",description:"Name of Account"},requestingForNetwork:{message:"Requesting for $1",description:"Name of Network"},required:{message:"Required"},reset:{message:"Reset"},resetWallet:{message:"Reset wallet"},resetWalletSubHeader:{message:"MetaMask does not keep a copy of your password. If youre having trouble unlocking your account, you will need to reset your wallet. You can do this by providing the Secret Recovery Phrase you used when you set up your wallet."},resetWalletUsingSRP:{message:"This action will delete your current wallet and Secret Recovery Phrase from this device, along with the list of accounts youve curated. After resetting with a Secret Recovery Phrase, youll see a list of accounts based on the Secret Recovery Phrase you use to reset. This new list will automatically include accounts that have a balance. Youll also be able to $1 created previously. Custom accounts that youve imported will need to be $2, and any custom tokens youve added to an account will need to be $3 as well."},resetWalletWarning:{message:"Make sure youre using the correct Secret Recovery Phrase before proceeding. You will not be able to undo this."},restartMetamask:{message:"Restart MetaMask"},restore:{message:"Restore"},restoreUserData:{message:"Restore user data"},resultPageError:{message:"Error"},resultPageErrorDefaultMessage:{message:"The operation failed."},resultPageSuccess:{message:"Success"},resultPageSuccessDefaultMessage:{message:"The operation completed successfully."},retryTransaction:{message:"Retry transaction"},reusedTokenNameWarning:{message:"A token here reuses a symbol from another token you watch, this can be confusing or deceptive."},revealSecretRecoveryPhrase:{message:"Reveal Secret Recovery Phrase"},revealSeedWords:{message:"Reveal Secret Recovery Phrase"},revealSeedWordsDescription1:{message:"The $1 provides $2",description:"This is a sentence consisting of link using 'revealSeedWordsSRPName' as $1 and bolded text using 'revealSeedWordsDescription3' as $2."},revealSeedWordsDescription2:{message:"MetaMask is a $1. That means you're the owner of your SRP.",description:"$1 is text link with the message from 'revealSeedWordsNonCustodialWallet'"},revealSeedWordsDescription3:{message:"full access to your wallet and funds.\n"},revealSeedWordsNonCustodialWallet:{message:"non-custodial wallet"},revealSeedWordsQR:{message:"QR"},revealSeedWordsSRPName:{message:"Secret Recovery Phrase (SRP)"},revealSeedWordsText:{message:"Text"},revealSeedWordsWarning:{message:"Make sure no one is looking at your screen. $1",description:"$1 is bolded text using the message from 'revealSeedWordsWarning2'"},revealSeedWordsWarning2:{message:"MetaMask Support will never request this.",description:"The bolded texted in the second part of 'revealSeedWordsWarning'"},revealSensitiveContent:{message:"Reveal sensitive content"},revealTheSeedPhrase:{message:"Reveal seed phrase"},review:{message:"Review"},reviewAlert:{message:"Review alert"},reviewAlerts:{message:"Review alerts"},reviewPendingTransactions:{message:"Review pending transactions"},reviewPermissions:{message:"Review permissions"},revokePermission:{message:"Revoke permission"},revokePermissionTitle:{message:"Remove $1 permission",description:"The token symbol that is being revoked"},revokeSimulationDetailsDesc:{message:"You're removing someone's permission to spend tokens from your account."},rpcNameOptional:{message:"RPC Name (Optional)"},rpcUrl:{message:"RPC URL"},safeTransferFrom:{message:"Safe transfer from"},save:{message:"Save"},scanInstructions:{message:"Place the QR code in front of your camera"},scanQrCode:{message:"Scan QR code"},scrollDown:{message:"Scroll down"},search:{message:"Search"},searchAccounts:{message:"Search accounts"},searchNfts:{message:"Search NFTs"},searchTokens:{message:"Search tokens"},searchTokensByNameOrAddress:{message:"Search tokens by name or address"},secretRecoveryPhrase:{message:"Secret Recovery Phrase"},secretRecoveryPhrasePlusNumber:{message:"Secret Recovery Phrase $1",description:"The $1 is the order of the Secret Recovery Phrase"},secureWallet:{message:"Secure wallet"},security:{message:"Security"},securityAlert:{message:"Security alert from $1 and $2"},securityAlerts:{message:"Security alerts"},securityAlertsDescription:{message:"This feature alerts you to malicious or unusual activity by actively reviewing transaction and signature requests. $1",description:"Link to learn more about security alerts"},securityAndPrivacy:{message:"Security & privacy"},securityDescription:{message:"Reduce your chances of joining unsafe networks and protect your accounts"},securityMessageLinkForNetworks:{message:"network scams and security risks"},securityPrivacyPath:{message:"Settings > Security & Privacy."},securityProviderPoweredBy:{message:"Powered by $1",description:"The security provider that is providing data"},seeAllPermissions:{message:"See all permissions",description:"Used for revealing more content (e.g. permission list, etc.)"},seeDetails:{message:"See details"},seedPhraseConfirm:{message:"Confirm Secret Recovery Phrase"},seedPhraseEnterMissingWords:{message:"Confirm Secret Recovery Phrase"},seedPhraseIntroNotRecommendedButtonCopy:{message:"Remind me later (not recommended)"},seedPhraseIntroRecommendedButtonCopy:{message:"Secure my wallet (recommended)"},seedPhraseIntroSidebarBulletOne:{message:"Write down and store in multiple secret places"},seedPhraseIntroSidebarBulletTwo:{message:"Store in a safe deposit box"},seedPhraseIntroSidebarCopyOne:{message:"Your Secret Recovery Phrase is a 12-word phrase that is the “master key” to your wallet and your funds"},seedPhraseIntroSidebarCopyThree:{message:"If someone asks for your recovery phrase they are likely trying to scam you and steal your wallet funds."},seedPhraseIntroSidebarCopyTwo:{message:"Never, ever share your Secret Recovery Phrase, not even with MetaMask!"},seedPhraseIntroSidebarTitleOne:{message:"What is a Secret Recovery Phrase?"},seedPhraseIntroSidebarTitleThree:{message:"Should I share my Secret Recovery Phrase?"},seedPhraseIntroSidebarTitleTwo:{message:"How do I save my Secret Recovery Phrase?"},seedPhraseIntroTitle:{message:"Secure your wallet"},seedPhraseReq:{message:"Secret Recovery Phrases contain 12, 15, 18, 21, or 24 words"},seedPhraseWriteDownDetails:{message:"Write down this 12-word Secret Recovery Phrase and save it in a place that you trust and only you can access."},seedPhraseWriteDownHeader:{message:"Write down your Secret Recovery Phrase"},select:{message:"Select"},selectAccountToConnect:{message:"Select an account to connect"},selectAccounts:{message:"Select the account(s) to use on this site"},selectAccountsForSnap:{message:"Select the account(s) to use with this snap"},selectAll:{message:"Select all"},selectAnAccount:{message:"Select an account"},selectAnAccountAlreadyConnected:{message:"This account has already been connected to MetaMask"},selectEnableDisplayMediaPrivacyPreference:{message:"Turn on Display NFT Media"},selectHdPath:{message:"Select HD path"},selectNFTPrivacyPreference:{message:"Enable NFT Autodetection"},selectPathHelp:{message:"If you don't see the accounts you expect, try switching the HD path or current selected network."},selectRpcUrl:{message:"Select RPC URL"},selectSecretRecoveryPhrase:{message:"Select Secret Recovery Phrase"},selectType:{message:"Select Type"},selectedAccountMismatch:{message:"Different account selected"},selectingAllWillAllow:{message:"Selecting all will allow this site to view all of your current accounts. Make sure you trust this site."},send:{message:"Send"},sendBugReport:{message:"Send us a bug report."},sendNoContactsConversionText:{message:"click here"},sendNoContactsDescription:{message:"Contacts allow you to safely send transactions to another account multiple times. To create a contact, $1",description:"$1 represents the action text 'click here'"},sendNoContactsTitle:{message:"You don't have any contacts yet"},sendSelectReceiveAsset:{message:"Select asset to receive"},sendSelectSendAsset:{message:"Select asset to send"},sendSpecifiedTokens:{message:"Send $1",description:"Symbol of the specified token"},sendSwapSubmissionWarning:{message:"Clicking this button will immediately initiate your swap transaction. Please review your transaction details before proceeding."},sendTokenAsToken:{message:"Send $1 as $2",description:"Used in the transaction display list to describe a swap and send. $1 and $2 are the symbols of tokens in involved in the swap."},sendingAsset:{message:"Sending $1"},sendingDisabled:{message:"Sending of ERC-1155 NFT assets is not yet supported."},sendingNativeAsset:{message:"Sending $1",description:"$1 represents the native currency symbol for the current network (e.g. ETH or BNB)"},sendingToTokenContractWarning:{message:"Warning: you are about to send to a token contract which could result in a loss of funds. $1",description:"$1 is a clickable link with text defined by the 'learnMoreUpperCase' key. The link will open to a support article regarding the known contract address warning"},sepolia:{message:"Sepolia test network"},setApprovalForAll:{message:"Set approval for all"},setApprovalForAllRedesignedTitle:{message:"Withdrawal request"},setApprovalForAllTitle:{message:"Approve $1 with no spend limit",description:"The token symbol that is being approved"},settingAddSnapAccount:{message:"Add account Snap"},settings:{message:"Settings"},settingsOptimisedForEaseOfUseAndSecurity:{message:"Settings are optimised for ease of use and security. Change these any time."},settingsSearchMatchingNotFound:{message:"No matching results found."},settingsSubHeadingSignaturesAndTransactions:{message:"Signature and transaction requests"},show:{message:"Show"},showAccount:{message:"Show account"},showAdvancedDetails:{message:"Show advanced details"},showExtensionInFullSizeView:{message:"Show extension in full-size view"},showExtensionInFullSizeViewDescription:{message:"Turn this on to make full-size view your default when you click the extension icon."},showFiatConversionInTestnets:{message:"Show conversion on test networks"},showFiatConversionInTestnetsDescription:{message:"Select this to show fiat conversion on test networks"},showHexData:{message:"Show hex data"},showHexDataDescription:{message:"Select this to show the hex data field on the send screen"},showIncomingTransactions:{message:"Show incoming transactions"},showIncomingTransactionsDescription:{message:"This relies on $1 which will have access to your Ethereum address and your IP address. $2",description:"$1 is the link to etherscan url and $2 is the link to the privacy policy of consensys APIs"},showIncomingTransactionsExplainer:{message:"This relies on different third-party APIs for each network, which expose your Ethereum address and your IP address."},showLess:{message:"Show less"},showMore:{message:"Show more"},showNativeTokenAsMainBalance:{message:"Show native token as main balance"},showNft:{message:"Show NFT"},showPermissions:{message:"Show permissions"},showPrivateKey:{message:"Show private key"},showSRP:{message:"Show Secret Recovery Phrase"},showTestnetNetworks:{message:"Show test networks"},showTestnetNetworksDescription:{message:"Select this to show test networks in network list"},sign:{message:"Sign"},signatureRequest:{message:"Signature request"},signature_decoding_bid_nft_tooltip:{message:"The NFT will be reflected in your wallet, when the bid is accepted."},signature_decoding_list_nft_tooltip:{message:"Expect changes only if someone buys your NFTs."},signed:{message:"Signed"},signing:{message:"Signing"},signingInWith:{message:"Signing in with"},signingWith:{message:"Signing with"},simulationApproveHeading:{message:"Withdraw"},simulationDetailsApproveDesc:{message:"You're giving someone else permission to withdraw NFTs from your account."},simulationDetailsERC20ApproveDesc:{message:"You're giving someone else permission to spend this amount from your account."},simulationDetailsFiatNotAvailable:{message:"Not Available"},simulationDetailsIncomingHeading:{message:"You receive"},simulationDetailsNoChanges:{message:"No changes"},simulationDetailsOutgoingHeading:{message:"You send"},simulationDetailsRevokeSetApprovalForAllDesc:{message:"You're removing someone else's permission to withdraw NFTs from your account."},simulationDetailsSetApprovalForAllDesc:{message:"You're giving permission for someone else to withdraw NFTs from your account."},simulationDetailsTitle:{message:"Estimated changes"},simulationDetailsTitleTooltip:{message:"Estimated changes are what might happen if you go through with this transaction. This is just a prediction, not a guarantee."},simulationDetailsTotalFiat:{message:"Total = $1",description:"$1 is the total amount in fiat currency on one side of the transaction"},simulationDetailsTransactionReverted:{message:"This transaction is likely to fail"},simulationDetailsUnavailable:{message:"Unavailable"},simulationErrorMessageV2:{message:"We were not able to estimate gas. There might be an error in the contract and this transaction may fail."},simulationsSettingDescription:{message:"Turn this on to estimate balance changes of transactions and signatures before you confirm them. This doesn't guarantee their final outcome. $1"},simulationsSettingSubHeader:{message:"Estimate balance changes"},singleNetwork:{message:"1 network"},siweIssued:{message:"Issued"},siweNetwork:{message:"Network"},siweRequestId:{message:"Request ID"},siweResources:{message:"Resources"},siweURI:{message:"URL"},skip:{message:"Skip"},skipAccountSecurity:{message:"Skip account security?"},skipAccountSecurityDetails:{message:"I understand that until I back up my Secret Recovery Phrase, I may lose my accounts and all of their assets."},slideBridgeDescription:{message:"Move across 9 chains, all within your wallet"},slideBridgeTitle:{message:"Ready to bridge?"},slideCashOutDescription:{message:"Sell your crypto for cash"},slideCashOutTitle:{message:"Cash out with MetaMask"},slideDebitCardDescription:{message:"Available in select regions"},slideDebitCardTitle:{message:"MetaMask debit card"},slideFundWalletDescription:{message:"Add or transfer tokens to get started"},slideFundWalletTitle:{message:"Fund your wallet"},slideSweepStakeDescription:{message:"Mint an NFT now for a chance to win"},slideSweepStakeTitle:{message:"Enter the $5000 USDC Giveaway!"},smartContracts:{message:"Smart contracts"},smartSwapsErrorNotEnoughFunds:{message:"Not enough funds for a smart swap."},smartSwapsErrorUnavailable:{message:"Smart Swaps are temporarily unavailable."},smartTransactionCancelled:{message:"Your transaction was canceled"},smartTransactionCancelledDescription:{message:"Your transaction couldn't be completed, so it was canceled to save you from paying unnecessary gas fees."},smartTransactionError:{message:"Your transaction failed"},smartTransactionErrorDescription:{message:"Sudden market changes can cause failures. If the problem continues, reach out to MetaMask customer support."},smartTransactionPending:{message:"Your transaction was submitted"},smartTransactionSuccess:{message:"Your transaction is complete"},smartTransactions:{message:"Smart Transactions"},smartTransactionsEnabledDescription:{message:" and MEV protection. Now on by default."},smartTransactionsEnabledLink:{message:"Higher success rates"},smartTransactionsEnabledTitle:{message:"Transactions just got smarter"},snapAccountCreated:{message:"Account created"},snapAccountCreatedDescription:{message:"Your new account is ready to use!"},snapAccountCreationFailed:{message:"Account creation failed"},snapAccountCreationFailedDescription:{message:"$1 didn't manage to create an account for you.",description:"$1 is the snap name"},snapAccountRedirectFinishSigningTitle:{message:"Finish signing"},snapAccountRedirectSiteDescription:{message:"Follow the instructions from $1"},snapAccountRemovalFailed:{message:"Account removal failed"},snapAccountRemovalFailedDescription:{message:"$1 didn't manage to remove this account for you.",description:"$1 is the snap name"},snapAccountRemoved:{message:"Account removed"},snapAccountRemovedDescription:{message:"This account will no longer be available to use in MetaMask."},snapAccounts:{message:"Account Snaps"},snapAccountsDescription:{message:"Accounts controlled by third-party Snaps."},snapConnectTo:{message:"Connect to $1",description:"$1 is the website URL or a Snap name. Used for Snaps pre-approved connections."},snapConnectionPermissionDescription:{message:"Let $1 automatically connect to $2 without your approval.",description:"Used for Snap pre-approved connections. $1 is the Snap name, $2 is a website URL."},snapConnectionWarning:{message:"$1 wants to use $2",description:"$2 is the snap and $1 is the dapp requesting connection to the snap."},snapContent:{message:"This content is coming from $1",description:"This is shown when a snap shows transaction insight information in the confirmation UI. $1 is a link to the snap's settings page with the link text being the name of the snap."},snapDetailWebsite:{message:"Website"},snapHomeMenu:{message:"Snap Home Menu"},snapInstallRequest:{message:"Installing $1 gives it the following permissions.",description:"$1 is the snap name."},snapInstallSuccess:{message:"Installation complete"},snapInstallWarningCheck:{message:"$1 wants permission to do the following:",description:"Warning message used in popup displayed on snap install. $1 is the snap name."},snapInstallWarningHeading:{message:"Proceed with caution"},snapInstallWarningPermissionDescriptionForBip32View:{message:"Allow $1 to view your public keys (and addresses). This does not grant any control of accounts or assets.",description:"An extended description for the `snap_getBip32PublicKey` permission used for tooltip on Snap Install Warning screen (popup/modal). $1 is the snap name."},snapInstallWarningPermissionDescriptionForEntropy:{message:"Allow $1 Snap to manage accounts and assets on the requested network(s). These accounts are derived and backed up using your secret recovery phrase (without revealing it). With the power to derive keys, $1 can support a variety of blockchain protocols beyond Ethereum (EVMs).",description:"An extended description for the `snap_getBip44Entropy` and `snap_getBip44Entropy` permissions used for tooltip on Snap Install Warning screen (popup/modal). $1 is the snap name."},snapInstallWarningPermissionNameForEntropy:{message:"Manage $1 accounts",description:"Permission name used for the Permission Cell component displayed on warning popup when installing a Snap. $1 is list of account types."},snapInstallWarningPermissionNameForViewPublicKey:{message:"View your public key for $1",description:"Permission name used for the Permission Cell component displayed on warning popup when installing a Snap. $1 is list of account types."},snapInstallationErrorDescription:{message:"$1 couldnt be installed.",description:"Error description used when snap installation fails. $1 is the snap name."},snapInstallationErrorTitle:{message:"Installation failed",description:"Error title used when snap installation fails."},snapResultError:{message:"Error"},snapResultSuccess:{message:"Success"},snapResultSuccessDescription:{message:"$1 is ready to use"},snapUIAssetSelectorTitle:{message:"Select an asset"},snapUpdateAlertDescription:{message:"Get the latest version of $1",description:"Description used in Snap update alert banner when snap update is available. $1 is the Snap name."},snapUpdateAvailable:{message:"Update available"},snapUpdateErrorDescription:{message:"$1 couldnt be updated.",description:"Error description used when snap update fails. $1 is the snap name."},snapUpdateErrorTitle:{message:"Update failed",description:"Error title used when snap update fails."},snapUpdateRequest:{message:"Updating $1 gives it the following permissions.",description:"$1 is the Snap name."},snapUpdateSuccess:{message:"Update complete"},snapUrlIsBlocked:{message:"This Snap wants to take you to a blocked site. $1."},snaps:{message:"Snaps"},snapsConnected:{message:"Snaps connected"},snapsNoInsight:{message:"No insight to show"},snapsPrivacyWarningFirstMessage:{message:"You acknowledge that any Snap that you install is a Third Party Service, unless otherwise identified, as defined in the Consensys $1. Your use of Third Party Services is governed by separate terms and conditions set forth by the Third Party Service provider. Consensys does not recommend the use of any Snap by any particular person for any particular reason. You access, rely upon or use the Third Party Service at your own risk. Consensys disclaims all responsibility and liability for any losses on account of your use of Third Party Services.",description:"First part of a message in popup modal displayed when installing a snap for the first time. $1 is terms of use link."},snapsPrivacyWarningSecondMessage:{message:"Any information you share with Third Party Services will be collected directly by those Third Party Services in accordance with their privacy policies. Please refer to their privacy policies for more information.",description:"Second part of a message in popup modal displayed when installing a snap for the first time."},snapsPrivacyWarningThirdMessage:{message:"Consensys has no access to information you share with Third Party Services.",description:"Third part of a message in popup modal displayed when installing a snap for the first time."},snapsSettings:{message:"Snap settings"},snapsTermsOfUse:{message:"Terms of Use"},snapsToggle:{message:"A snap will only run if it is enabled"},snapsUIError:{message:"Contact the creators of $1 for further support.",description:"This is shown when the insight snap throws an error. $1 is the snap name"},solanaImportAccounts:{message:"Import Solana accounts"},solanaImportAccountsDescription:{message:"Import a Secret Recovery Phrase to migrate your Solana account from an other wallet."},solanaMoreFeaturesComingSoon:{message:"More features coming soon"},solanaMoreFeaturesComingSoonDescription:{message:"Solana dapps, NFTs, hardware wallet support, and more coming soon."},solanaOnMetaMask:{message:"Solana on MetaMask"},solanaSendReceiveSwapTokens:{message:"Send, receive, and swap tokens"},solanaSendReceiveSwapTokensDescription:{message:"Transfer and transact with tokens such as SOL, USDC, and more."},someNetworks:{message:"$1 networks"},somethingDoesntLookRight:{message:"Something doesn't look right? $1",description:"A false positive message for users to contact support. $1 is a link to the support page."},somethingIsWrong:{message:"Something's gone wrong. Try reloading the page."},somethingWentWrong:{message:"Oops! Something went wrong."},sortBy:{message:"Sort by"},sortByAlphabetically:{message:"Alphabetically (A-Z)"},sortByDecliningBalance:{message:"Declining balance ($1 high-low)",description:"Indicates a descending order based on token fiat balance. $1 is the preferred currency symbol"},source:{message:"Source"},spamModalBlockedDescription:{message:"This site will be blocked for 1 minute."},spamModalBlockedTitle:{message:"You've temporarily blocked this site"},spamModalDescription:{message:"If you're being spammed with multiple requests, you can temporarily block the site."},spamModalTemporaryBlockButton:{message:"Temporarily block this site"},spamModalTitle:{message:"We've noticed multiple requests"},speed:{message:"Speed"},speedUp:{message:"Speed up"},speedUpCancellation:{message:"Speed up this cancellation"},speedUpExplanation:{message:"Weve updated the gas fee based on current network conditions and have increased it by at least 10% (required by the network)."},speedUpPopoverTitle:{message:"Speed up transaction"},speedUpTooltipText:{message:"New gas fee"},speedUpTransaction:{message:"Speed up this transaction"},spendLimitInsufficient:{message:"Spend limit insufficient"},spendLimitInvalid:{message:"Spend limit invalid; must be a positive number"},spendLimitPermission:{message:"Spend limit permission"},spendLimitRequestedBy:{message:"Spend limit requested by $1",description:"Origin of the site requesting the spend limit"},spendLimitTooLarge:{message:"Spend limit too large"},spender:{message:"Spender"},spenderTooltipDesc:{message:"This is the address that will be able to withdraw your NFTs."},spenderTooltipERC20ApproveDesc:{message:"This is the address that will be able to spend your tokens on your behalf."},spendingCap:{message:"Spending cap"},spendingCaps:{message:"Spending caps"},srpInputNumberOfWords:{message:"I have a $1-word phrase",description:"This is the text for each option in the dropdown where a user selects how many words their secret recovery phrase has during import. The $1 is the number of words (either 12, 15, 18, 21, or 24)."},srpListName:{message:"Secret Recovery Phrase $1",description:"$1 is the order of the Secret Recovery Phrase"},srpListNumberOfAccounts:{message:"$1 accounts",description:"$1 is the number of accounts in the list"},srpListSelectionDescription:{message:"The Secret Recovery Phrase your new account will be generated from"},srpListSingleOrZero:{message:"$1 account",description:"$1 is the number of accounts in the list, it is either 1 or 0"},srpPasteFailedTooManyWords:{message:"Paste failed because it contained over 24 words. A secret recovery phrase can have a maximum of 24 words.",description:"Description of SRP paste error when the pasted content has too many words"},srpPasteTip:{message:"You can paste your entire secret recovery phrase into any field",description:"Our secret recovery phrase input is split into one field per word. This message explains to users that they can paste their entire secrete recovery phrase into any field, and we will handle it correctly."},srpSecurityQuizGetStarted:{message:"Get started"},srpSecurityQuizImgAlt:{message:"An eye with a keyhole in the center, and three floating password fields"},srpSecurityQuizIntroduction:{message:"To reveal your Secret Recovery Phrase, you need to correctly answer two questions"},srpSecurityQuizQuestionOneQuestion:{message:"If you lose your Secret Recovery Phrase, MetaMask..."},srpSecurityQuizQuestionOneRightAnswer:{message:"Cant help you"},srpSecurityQuizQuestionOneRightAnswerDescription:{message:"Write it down, engrave it on metal, or keep it in multiple secret spots so you never lose it. If you lose it, its gone forever."},srpSecurityQuizQuestionOneRightAnswerTitle:{message:"Right! No one can help get your Secret Recovery Phrase back"},srpSecurityQuizQuestionOneWrongAnswer:{message:"Can get it back for you"},srpSecurityQuizQuestionOneWrongAnswerDescription:{message:"If you lose your Secret Recovery Phrase, its gone forever. No one can help you get it back, no matter what they might say."},srpSecurityQuizQuestionOneWrongAnswerTitle:{message:"Wrong! No one can help get your Secret Recovery Phrase back"},srpSecurityQuizQuestionTwoQuestion:{message:"If anyone, even a support agent, asks for your Secret Recovery Phrase..."},srpSecurityQuizQuestionTwoRightAnswer:{message:"Youre being scammed"},srpSecurityQuizQuestionTwoRightAnswerDescription:{message:"Anyone claiming to need your Secret Recovery Phrase is lying to you. If you share it with them, they will steal your assets."},srpSecurityQuizQuestionTwoRightAnswerTitle:{message:"Correct! Sharing your Secret Recovery Phrase is never a good idea"},srpSecurityQuizQuestionTwoWrongAnswer:{message:"You should give it to them"},srpSecurityQuizQuestionTwoWrongAnswerDescription:{message:"Anyone claiming to need your Secret Recovery Phrase is lying to you. If you share it with them, they will steal your assets."},srpSecurityQuizQuestionTwoWrongAnswerTitle:{message:"Nope! Never share your Secret Recovery Phrase with anyone, ever"},srpSecurityQuizTitle:{message:"Security quiz"},srpToggleShow:{message:"Show/Hide this word of the secret recovery phrase",description:"Describes a toggle that is used to show or hide a single word of the secret recovery phrase"},srpWordHidden:{message:"This word is hidden",description:"Explains that a word in the secret recovery phrase is hidden"},srpWordShown:{message:"This word is being shown",description:"Explains that a word in the secret recovery phrase is being shown"},stable:{message:"Stable"},stableLowercase:{message:"stable"},stake:{message:"Stake"},stateLogError:{message:"Error in retrieving state logs."},stateLogFileName:{message:"MetaMask state logs"},stateLogs:{message:"State logs"},stateLogsDescription:{message:"State logs contain your public account addresses and sent transactions."},status:{message:"Status"},statusNotConnected:{message:"Not connected"},statusNotConnectedAccount:{message:"No accounts connected"},step1LatticeWallet:{message:"Connect your Lattice1"},step1LatticeWalletMsg:{message:"You can connect MetaMask to your Lattice1 device once it is set up and online. Unlock your device and have your Device ID ready.",description:"$1 represents the `hardwareWalletSupportLinkConversion` localization key"},step1LedgerWallet:{message:"Download Ledger app"},step1LedgerWalletMsg:{message:"Download, set up, and enter your password to unlock $1.",description:"$1 represents the `ledgerLiveApp` localization value"},step1TrezorWallet:{message:"Connect your Trezor"},step1TrezorWalletMsg:{message:"Plug your Trezor directly into your computer and unlock it. Make sure you use the correct passphrase.",description:"$1 represents the `hardwareWalletSupportLinkConversion` localization key"},step2LedgerWallet:{message:"Connect your Ledger"},step2LedgerWalletMsg:{message:"Plug your Ledger directly into your computer, then unlock it and open the Ethereum app.",description:"$1 represents the `hardwareWalletSupportLinkConversion` localization key"},stillGettingMessage:{message:"Still getting this message?"},strong:{message:"Strong"},stxCancelled:{message:"Swap would have failed"},stxCancelledDescription:{message:"Your transaction would have failed and was cancelled to protect you from paying unnecessary gas fees."},stxCancelledSubDescription:{message:"Try your swap again. Well be here to protect you against similar risks next time."},stxFailure:{message:"Swap failed"},stxFailureDescription:{message:"Sudden market changes can cause failures. If the problem persists, please reach out to $1.",description:"This message is shown to a user if their swap fails. The $1 will be replaced by support.metamask.io"},stxOptInSupportedNetworksDescription:{message:"Turn on Smart Transactions for more reliable and secure transactions on supported networks. $1"},stxPendingPrivatelySubmittingSwap:{message:"Privately submitting your Swap..."},stxPendingPubliclySubmittingSwap:{message:"Publicly submitting your Swap..."},stxSuccess:{message:"Swap complete!"},stxSuccessDescription:{message:"Your $1 is now available.",description:"$1 is a token symbol, e.g. ETH"},stxSwapCompleteIn:{message:"Swap will complete in <",description:"'<' means 'less than', e.g. Swap will complete in < 2:59"},stxTryingToCancel:{message:"Trying to cancel your transaction..."},stxUnknown:{message:"Status unknown"},stxUnknownDescription:{message:"A transaction has been successful but were unsure what it is. This may be due to submitting another transaction while this swap was processing."},stxUserCancelled:{message:"Swap cancelled"},stxUserCancelledDescription:{message:"Your transaction has been cancelled and you did not pay any unnecessary gas fees."},submit:{message:"Submit"},submitted:{message:"Submitted"},suggestedBySnap:{message:"Suggested by $1",description:"$1 is the snap name"},suggestedCurrencySymbol:{message:"Suggested currency symbol:"},suggestedTokenName:{message:"Suggested name:"},support:{message:"Support"},supportCenter:{message:"Visit our support center"},supportMultiRpcInformation:{message:"We now support multiple RPCs for a single network. Your most recent RPC has been selected as the default one to resolve conflicting information."},surveyConversion:{message:"Take our survey"},surveyTitle:{message:"Shape the future of MetaMask"},swap:{message:"Swap"},swapAdjustSlippage:{message:"Adjust slippage"},swapAggregator:{message:"Aggregator"},swapAllowSwappingOf:{message:"Allow swapping of $1",description:"Shows a user that they need to allow a token for swapping on their hardware wallet"},swapAmountReceived:{message:"Guaranteed amount"},swapAmountReceivedInfo:{message:"This is the minimum amount you will receive. You may receive more depending on slippage."},swapAndSend:{message:"Swap & Send"},swapAnyway:{message:"Swap anyway"},swapApproval:{message:"Approve $1 for swaps",description:"Used in the transaction display list to describe a transaction that is an approve call on a token that is to be swapped.. $1 is the symbol of a token that has been approved."},swapApproveNeedMoreTokens:{message:"You need $1 more $2 to complete this swap",description:"Tells the user how many more of a given token they need for a specific swap. $1 is an amount of tokens and $2 is the token symbol."},swapAreYouStillThere:{message:"Are you still there?"},swapAreYouStillThereDescription:{message:"Were ready to show you the latest quotes when you want to continue"},swapConfirmWithHwWallet:{message:"Confirm with your hardware wallet"},swapContinueSwapping:{message:"Continue swapping"},swapContractDataDisabledErrorDescription:{message:'In the Ethereum app on your Ledger, go to "Settings" and allow contract data. Then, try your swap again.'},swapContractDataDisabledErrorTitle:{message:"Contract data is not enabled on your Ledger"},swapCustom:{message:"custom"},swapDecentralizedExchange:{message:"Decentralized exchange"},swapDirectContract:{message:"Direct contract"},swapEditLimit:{message:"Edit limit"},swapEnableDescription:{message:"This is required and gives MetaMask permission to swap your $1.",description:"Gives the user info about the required approval transaction for swaps. $1 will be the symbol of a token being approved for swaps."},swapEnableTokenForSwapping:{message:"This will $1 for swapping",description:"$1 is for the 'enableToken' key, e.g. 'enable ETH'"},swapEnterAmount:{message:"Enter an amount"},swapEstimatedNetworkFees:{message:"Estimated network fees"},swapEstimatedNetworkFeesInfo:{message:"This is an estimate of the network fee that will be used to complete your swap. The actual amount may change according to network conditions."},swapFailedErrorDescriptionWithSupportLink:{message:"Transaction failures happen and we are here to help. If this issue persists, you can reach our customer support at $1 for further assistance.",description:"This message is shown to a user if their swap fails. The $1 will be replaced by support.metamask.io"},swapFailedErrorTitle:{message:"Swap failed"},swapFetchingQuote:{message:"Fetching quote"},swapFetchingQuoteNofN:{message:"Fetching quote $1 of $2",description:"A count of possible quotes shown to the user while they are waiting for quotes to be fetched. $1 is the number of quotes already loaded, and $2 is the total number of resources that we check for quotes. Keep in mind that not all resources will have a quote for a particular swap."},swapFetchingQuotes:{message:"Fetching quotes..."},swapFetchingQuotesErrorDescription:{message:"Hmmm... something went wrong. Try again, or if errors persist, contact customer support."},swapFetchingQuotesErrorTitle:{message:"Error fetching quotes"},swapFromTo:{message:"The swap of $1 to $2",description:"Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"},swapGasFeesDetails:{message:"Gas fees are estimated and will fluctuate based on network traffic and transaction complexity."},swapGasFeesExplanation:{message:"MetaMask doesn't make money from gas fees. These fees are estimates and can change based on how busy the network is and how complex a transaction is. Learn more $1.",description:"$1 is a link (text in link can be found at 'swapGasFeesSummaryLinkText')"},swapGasFeesExplanationLinkText:{message:"here",description:"Text for link in swapGasFeesExplanation"},swapGasFeesLearnMore:{message:"Learn more about gas fees"},swapGasFeesSplit:{message:"Gas fees on the previous screen are split between these two transactions."},swapGasFeesSummary:{message:"Gas fees are paid to crypto miners who process transactions on the $1 network. MetaMask does not profit from gas fees.",description:"$1 is the selected network, e.g. Ethereum or BSC"},swapGasIncludedTooltipExplanation:{message:"This quote incorporates gas fees by adjusting the token amount sent or received. You may receive ETH in a separate transaction on your activity list."},swapGasIncludedTooltipExplanationLinkText:{message:"Learn more about gas fees"},swapHighSlippage:{message:"High slippage"},swapIncludesGasAndMetaMaskFee:{message:"Includes gas and a $1% MetaMask fee",description:"Provides information about the fee that metamask takes for swaps. $1 is a decimal number."},swapIncludesMMFee:{message:"Includes a $1% MetaMask fee.",description:"Provides information about the fee that metamask takes for swaps. $1 is a decimal number."},swapIncludesMMFeeAlt:{message:"Quote reflects $1% MetaMask fee",description:"Provides information about the fee that metamask takes for swaps using the latest copy. $1 is a decimal number."},swapIncludesMetaMaskFeeViewAllQuotes:{message:"Includes a $1% MetaMask fee $2",description:"Provides information about the fee that metamask takes for swaps. $1 is a decimal number and $2 is a link to view all quotes."},swapLearnMore:{message:"Learn more about Swaps"},swapLiquiditySourceInfo:{message:"We search multiple liquidity sources (exchanges, aggregators and professional market makers) to compare exchange rates and network fees."},swapLowSlippage:{message:"Low slippage"},swapMaxSlippage:{message:"Max slippage"},swapMetaMaskFee:{message:"MetaMask fee"},swapMetaMaskFeeDescription:{message:"The fee of $1% is automatically factored into this quote. You pay it in exchange for a license to use MetaMask's liquidity provider information aggregation software.",description:"Provides information about the fee that metamask takes for swaps. $1 is a decimal number."},swapNQuotesWithDot:{message:"$1 quotes.",description:"$1 is the number of quotes that the user can select from when opening the list of quotes on the 'view quote' screen"},swapNewQuoteIn:{message:"New quotes in $1",description:"Tells the user the amount of time until the currently displayed quotes are update. $1 is a time that is counting down from 1:00 to 0:00"},swapNoTokensAvailable:{message:"No tokens available matching $1",description:"Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"},swapOnceTransactionHasProcess:{message:"Your $1 will be added to your account once this transaction has processed.",description:"This message communicates the token that is being transferred. It is shown on the awaiting swap screen. The $1 will be a token symbol."},swapPriceDifference:{message:"You are about to swap $1 $2 (~$3) for $4 $5 (~$6).",description:"This message represents the price slippage for the swap. $1 and $4 are a number (ex: 2.89), $2 and $5 are symbols (ex: ETH), and $3 and $6 are fiat currency amounts."},swapPriceDifferenceTitle:{message:"Price difference of ~$1%",description:"$1 is a number (ex: 1.23) that represents the price difference."},swapPriceUnavailableDescription:{message:"Price impact could not be determined due to lack of market price data. Please confirm that you are comfortable with the amount of tokens you are about to receive before swapping."},swapPriceUnavailableTitle:{message:"Check your rate before proceeding"},swapProcessing:{message:"Processing"},swapQuoteDetails:{message:"Quote details"},swapQuoteNofM:{message:"$1 of $2",description:"A count of possible quotes shown to the user while they are waiting for quotes to be fetched. $1 is the number of quotes already loaded, and $2 is the total number of resources that we check for quotes. Keep in mind that not all resources will have a quote for a particular swap."},swapQuoteSource:{message:"Quote source"},swapQuotesExpiredErrorDescription:{message:"Please request new quotes to get the latest rates."},swapQuotesExpiredErrorTitle:{message:"Quotes timeout"},swapQuotesNotAvailableDescription:{message:"Reduce the size of your trade or use a different token."},swapQuotesNotAvailableErrorDescription:{message:"Try adjusting the amount or slippage settings and try again."},swapQuotesNotAvailableErrorTitle:{message:"No quotes available"},swapRate:{message:"Rate"},swapReceiving:{message:"Receiving"},swapReceivingInfoTooltip:{message:"This is an estimate. The exact amount depends on slippage."},swapRequestForQuotation:{message:"Request for quotation"},swapSelect:{message:"Select"},swapSelectAQuote:{message:"Select a quote"},swapSelectAToken:{message:"Select token"},swapSelectQuotePopoverDescription:{message:"Below are all the quotes gathered from multiple liquidity sources."},swapSelectToken:{message:"Select token"},swapShowLatestQuotes:{message:"Show latest quotes"},swapSlippageHighDescription:{message:"The slippage entered ($1%) is considered very high and may result in a bad rate",description:"$1 is the amount of % for slippage"},swapSlippageHighTitle:{message:"High slippage"},swapSlippageLowDescription:{message:"A value this low ($1%) may result in a failed swap",description:"$1 is the amount of % for slippage"},swapSlippageLowTitle:{message:"Low slippage"},swapSlippageNegativeDescription:{message:"Slippage must be greater or equal to zero"},swapSlippageNegativeTitle:{message:"Increase slippage to continue"},swapSlippageOverLimitDescription:{message:"Slippage tolerance must be 15% or less. Anything higher will result in a bad rate."},swapSlippageOverLimitTitle:{message:"Very high slippage"},swapSlippagePercent:{message:"$1%",description:"$1 is the amount of % for slippage"},swapSlippageTooltip:{message:"If the price changes between the time your order is placed and confirmed its called “slippage”. Your swap will automatically cancel if slippage exceeds your “slippage tolerance” setting."},swapSlippageZeroDescription:{message:"There are fewer zero-slippage quote providers which will result in a less competitive quote."},swapSlippageZeroTitle:{message:"Sourcing zero-slippage providers"},swapSource:{message:"Liquidity source"},swapSuggested:{message:"Swap suggested"},swapSuggestedGasSettingToolTipMessage:{message:"Swaps are complex and time sensitive transactions. We recommend this gas fee for a good balance between cost and confidence of a successful Swap."},swapSwapFrom:{message:"Swap from"},swapSwapSwitch:{message:"Switch token order"},swapSwapTo:{message:"Swap to"},swapToConfirmWithHwWallet:{message:"to confirm with your hardware wallet"},swapTokenAddedManuallyDescription:{message:"Verify this token on $1 and make sure it is the token you want to trade.",description:'$1 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for "etherscan"'},swapTokenAddedManuallyTitle:{message:"Token added manually"},swapTokenAvailable:{message:"Your $1 has been added to your account.",description:"This message is shown after a swap is successful and communicates the exact amount of tokens the user has received for a swap. The $1 is a decimal number of tokens followed by the token symbol."},swapTokenBalanceUnavailable:{message:"We were unable to retrieve your $1 balance",description:"This message communicates to the user that their balance of a given token is currently unavailable. $1 will be replaced by a token symbol"},swapTokenNotAvailable:{message:"Token is not available to swap in this region"},swapTokenToToken:{message:"Swap $1 to $2",description:"Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."},swapTokenVerifiedOn1SourceDescription:{message:"$1 is only verified on 1 source. Consider verifying it on $2 before proceeding.",description:'$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for "etherscan"'},swapTokenVerifiedOn1SourceTitle:{message:"Potentially inauthentic token"},swapTokenVerifiedSources:{message:"Confirmed by $1 sources. Verify on $2.",description:"$1 the number of sources that have verified the token, $2 points the user to a block explorer as a place they can verify information about the token."},swapTooManyDecimalsError:{message:"$1 allows up to $2 decimals",description:"$1 is a token symbol and $2 is the max. number of decimals allowed for the token"},swapTransactionComplete:{message:"Transaction complete"},swapTwoTransactions:{message:"2 transactions"},swapUnknown:{message:"Unknown"},swapZeroSlippage:{message:"0% Slippage"},swapsMaxSlippage:{message:"Slippage tolerance"},swapsNotEnoughToken:{message:"Not enough $1",description:"Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"},swapsViewInActivity:{message:"View in activity"},switch:{message:"Switch"},switchEthereumChainConfirmationDescription:{message:"This will switch the selected network within MetaMask to a previously added network:"},switchEthereumChainConfirmationTitle:{message:"Allow this site to switch the network?"},switchInputCurrency:{message:"Switch input currency"},switchNetwork:{message:"Switch network"},switchNetworks:{message:"Switch networks"},switchToNetwork:{message:"Switch to $1",description:"$1 represents the custom network that has previously been added"},switchToThisAccount:{message:"Switch to this account"},switchedNetworkToastDecline:{message:"Don't show again"},switchedNetworkToastMessage:{message:"$1 is now active on $2",description:"$1 represents the account name, $2 represents the network name"},switchedNetworkToastMessageNoOrigin:{message:"You're now using $1",description:"$1 represents the network name"},switchingNetworksCancelsPendingConfirmations:{message:"Switching networks will cancel all pending confirmations"},symbol:{message:"Symbol"},symbolBetweenZeroTwelve:{message:"Symbol must be 11 characters or fewer."},tenPercentIncreased:{message:"10% increase"},terms:{message:"Terms of use"},termsOfService:{message:"Terms of service"},termsOfUseAgreeText:{message:" I agree to the Terms of Use, which apply to my use of MetaMask and all of its features"},termsOfUseFooterText:{message:"Please scroll to read all sections"},termsOfUseTitle:{message:"Our Terms of Use have updated"},testnets:{message:"Testnets"},theme:{message:"Theme"},themeDescription:{message:"Choose your preferred MetaMask theme."},thirdPartySoftware:{message:"Third-party software notice",description:"Title of a popup modal displayed when installing a snap for the first time."},threeMonthsAbbreviation:{message:"3M",description:"Shortened form of '3 months'"},time:{message:"Time"},tips:{message:"Tips"},tipsForUsingAWallet:{message:"Tips for using a wallet"},tipsForUsingAWalletDescription:{message:"Adding tokens unlocks more ways to use web3."},to:{message:"To"},toAddress:{message:"To: $1",description:"$1 is the address to include in the To label. It is typically shortened first using shortenAddress"},toggleDecodeDescription:{message:"We use 4byte.directory and Sourcify services to decode and display more readable transaction data. This helps you understand the outcome of pending and past transactions, but can result in your IP address being shared."},token:{message:"Token"},tokenAddress:{message:"Token address"},tokenAlreadyAdded:{message:"Token has already been added."},tokenAutoDetection:{message:"Token autodetection"},tokenContractAddress:{message:"Token contract address"},tokenDecimal:{message:"Token decimal"},tokenDecimalFetchFailed:{message:"Token decimal required. Find it on: $1"},tokenDetails:{message:"Token details"},tokenFoundTitle:{message:"1 new token found"},tokenId:{message:"Token ID"},tokenList:{message:"Token lists"},tokenMarketplace:{message:"Token marketplace"},tokenScamSecurityRisk:{message:"token scams and security risks"},tokenStandard:{message:"Token standard"},tokenSymbol:{message:"Token symbol"},tokens:{message:"Tokens"},tokensFoundTitle:{message:"$1 new tokens found",description:"$1 is the number of new tokens detected"},tokensInCollection:{message:"Tokens in collection"},tooltipApproveButton:{message:"I understand"},tooltipSatusConnected:{message:"connected"},tooltipSatusConnectedUpperCase:{message:"Connected"},tooltipSatusNotConnected:{message:"not connected"},total:{message:"Total"},totalVolume:{message:"Total volume"},transaction:{message:"transaction"},transactionCancelAttempted:{message:"Transaction cancel attempted with estimated gas fee of $1 at $2"},transactionCancelSuccess:{message:"Transaction successfully cancelled at $2"},transactionConfirmed:{message:"Transaction confirmed at $2."},transactionCreated:{message:"Transaction created with a value of $1 at $2."},transactionDataFunction:{message:"Function"},transactionDetailGasHeading:{message:"Estimated gas fee"},transactionDetailMultiLayerTotalSubtitle:{message:"Amount + fees"},transactionDropped:{message:"Transaction dropped at $2."},transactionError:{message:"Transaction error. Exception thrown in contract code."},transactionErrorNoContract:{message:"Trying to call a function on a non-contract address."},transactionErrored:{message:"Transaction encountered an error."},transactionFlowNetwork:{message:"Network"},transactionHistoryBaseFee:{message:"Base fee (GWEI)"},transactionHistoryL1GasLabel:{message:"Total L1 gas fee"},transactionHistoryL2GasLimitLabel:{message:"L2 gas limit"},transactionHistoryL2GasPriceLabel:{message:"L2 gas price"},transactionHistoryMaxFeePerGas:{message:"Max fee per gas"},transactionHistoryPriorityFee:{message:"Priority fee (GWEI)"},transactionHistoryTotalGasFee:{message:"Total gas fee"},transactionResubmitted:{message:"Transaction resubmitted with estimated gas fee increased to $1 at $2"},transactionSettings:{message:"Transaction settings"},transactionSubmitted:{message:"Transaction submitted with estimated gas fee of $1 at $2."},transactionUpdated:{message:"Transaction updated at $2."},transactions:{message:"Transactions"},transfer:{message:"Transfer"},transferCrypto:{message:"Transfer crypto"},transferFrom:{message:"Transfer from"},transferRequest:{message:"Transfer request"},trillionAbbreviation:{message:"T",description:"Shortened form of 'trillion'"},troubleConnectingToLedgerU2FOnFirefox:{message:"We're having trouble connecting your Ledger. $1",description:"$1 is a link to the wallet connection guide;"},troubleConnectingToLedgerU2FOnFirefox2:{message:"Review our hardware wallet connection guide and try again.",description:"$1 of the ledger wallet connection guide"},troubleConnectingToLedgerU2FOnFirefoxLedgerSolution:{message:"If you're on the latest version of Firefox, you might be experiencing an issue related to Firefox dropping U2F support. Learn how to fix this issue $1.",description:"It is a link to the ledger website for the workaround."},troubleConnectingToLedgerU2FOnFirefoxLedgerSolution2:{message:"here",description:"Second part of the error message; It is a link to the ledger website for the workaround."},troubleConnectingToWallet:{message:"We had trouble connecting to your $1, try reviewing $2 and try again.",description:"$1 is the wallet device name; $2 is a link to wallet connection guide"},troubleStarting:{message:"MetaMask had trouble starting. This error could be intermittent, so try restarting the extension."},tryAgain:{message:"Try again"},turnOff:{message:"Turn off"},turnOffMetamaskNotificationsError:{message:"There was an error in disabling the notifications. Please try again later."},turnOn:{message:"Turn on"},turnOnMetamaskNotifications:{message:"Turn on notifications"},turnOnMetamaskNotificationsButton:{message:"Turn on"},turnOnMetamaskNotificationsError:{message:"There was an error in creating the notifications. Please try again later."},turnOnMetamaskNotificationsMessageFirst:{message:"Stay in the loop on what's happening in your wallet with notifications."},turnOnMetamaskNotificationsMessagePrivacyBold:{message:"notifications settings."},turnOnMetamaskNotificationsMessagePrivacyLink:{message:"Learn how we protect your privacy while using this feature."},turnOnMetamaskNotificationsMessageSecond:{message:"To use wallet notifications, we use a profile to sync some settings across your devices. $1"},turnOnMetamaskNotificationsMessageThird:{message:"You can turn off notifications at any time in the $1"},turnOnTokenDetection:{message:"Turn on enhanced token detection"},tutorial:{message:"Tutorial"},twelveHrTitle:{message:"12hr:"},u2f:{message:"U2F",description:"A name on an API for the browser to interact with devices that support the U2F protocol. On some browsers we use it to connect MetaMask to Ledger devices."},unapproved:{message:"Unapproved"},units:{message:"units"},unknown:{message:"Unknown"},unknownCollection:{message:"Unnamed collection"},unknownNetworkForKeyEntropy:{message:"Unknown network",description:"Displayed on places like Snap install warning when regular name is not available."},unknownQrCode:{message:"Error: We couldn't identify that QR code"},unlimited:{message:"Unlimited"},unlock:{message:"Unlock"},unlockMessage:{message:"The decentralized web awaits"},unpin:{message:"Unpin"},unrecognizedChain:{message:"This custom network is not recognized",description:"$1 is a clickable link with text defined by the 'unrecognizedChanLinkText' key. The link will open to instructions for users to validate custom network details."},unsendableAsset:{message:"Sending NFT (ERC-721) tokens is not currently supported",description:"This is an error message we show the user if they attempt to send an NFT asset type, for which currently don't support sending"},unstableTokenPriceDescription:{message:"The price of this token in USD is highly volatile, indicating a high risk of losing significant value by interacting with it."},unstableTokenPriceTitle:{message:"Unstable Token Price"},upArrow:{message:"up arrow"},update:{message:"Update"},updateEthereumChainConfirmationDescription:{message:"This site is requesting to update your default network URL. You can edit defaults and network information any time."},updateNetworkConfirmationTitle:{message:"Update $1",description:"$1 represents network name"},updateOrEditNetworkInformations:{message:"Update your information or"},updateRequest:{message:"Update request"},updatedRpcForNetworks:{message:"Network RPCs Updated"},uploadDropFile:{message:"Drop your file here"},uploadFile:{message:"Upload file"},urlErrorMsg:{message:"URLs require the appropriate HTTP/HTTPS prefix."},use4ByteResolution:{message:"Decode smart contracts"},useMultiAccountBalanceChecker:{message:"Batch account balance requests"},useMultiAccountBalanceCheckerSettingDescription:{message:"Get faster balance updates by batching account balance requests. This lets us fetch your account balances together, so you get quicker updates for an improved experience. When this feature is off, third parties may be less likely to associate your accounts with each other."},useNftDetection:{message:"Autodetect NFTs"},useNftDetectionDescriptionText:{message:"Let MetaMask add NFTs you own using third-party services. Autodetecting NFTs exposes your IP and account address to these services. Enabling this feature could associate your IP address with your Ethereum address and display fake NFTs airdropped by scammers. You can add tokens manually to avoid this risk."},usePhishingDetection:{message:"Use phishing detection"},usePhishingDetectionDescription:{message:"Display a warning for phishing domains targeting Ethereum users"},useSafeChainsListValidation:{message:"Network details check"},useSafeChainsListValidationDescription:{message:"MetaMask uses a third-party service called $1 to show accurate and standardized network details. This reduces your chances of connecting to malicious or incorrect network. When using this feature, your IP address is exposed to chainid.network."},useSafeChainsListValidationWebsite:{message:"chainid.network",description:"useSafeChainsListValidationWebsite is separated from the rest of the text so that we can bold the third party service name in the middle of them"},useTokenDetectionPrivacyDesc:{message:"Automatically displaying tokens sent to your account involves communication with third party servers to fetch tokens images. Those serves will have access to your IP address."},usedByClients:{message:"Used by a variety of different clients"},userName:{message:"Username"},userOpContractDeployError:{message:"Contract deployment from a smart contract account is not supported"},version:{message:"Version"},view:{message:"View"},viewActivity:{message:"View activity"},viewAllQuotes:{message:"view all quotes"},viewContact:{message:"View contact"},viewDetails:{message:"View details"},viewMore:{message:"View more"},viewOnBlockExplorer:{message:"View on block explorer"},viewOnCustomBlockExplorer:{message:"View $1 at $2",description:"$1 is the action type. e.g (Account, Transaction, Swap) and $2 is the Custom Block Explorer URL"},viewOnEtherscan:{message:"View $1 on Etherscan",description:"$1 is the action type. e.g (Account, Transaction, Swap)"},viewOnExplorer:{message:"View on explorer"},viewOnOpensea:{message:"View on Opensea"},viewTransaction:{message:"View transaction"},viewinExplorer:{message:"View $1 in explorer",description:"$1 is the action type. e.g (Account, Transaction, Swap)"},visitSite:{message:"Visit site"},visitSupportDataConsentModalAccept:{message:"Confirm"},visitSupportDataConsentModalDescription:{message:"Do you want to share your MetaMask Identifier and app version with our Support Center? This can help us better solve your problem, but is optional."},visitSupportDataConsentModalReject:{message:"Dont share"},visitSupportDataConsentModalTitle:{message:"Share device details with support"},visitWebSite:{message:"Visit our website"},wallet:{message:"Wallet"},walletConnectionGuide:{message:"our hardware wallet connection guide"},walletProtectedAndReadyToUse:{message:"Your wallet is protected and ready to use. You can find your Secret Recovery Phrase in $1 ",description:"$1 is the menu path to be shown with font weight bold"},wantToAddThisNetwork:{message:"Want to add this network?"},wantsToAddThisAsset:{message:"This allows the following asset to be added to your wallet."},warning:{message:"Warning"},warningFromSnap:{message:"Warning from $1",description:"$1 represents the name of the snap"},watchEthereumAccountsDescription:{message:"Turning this option on will give you the ability to watch Ethereum accounts via a public address or ENS name. For feedback on this Beta feature please complete this $1.",description:"$1 is the link to a product feedback form"},watchEthereumAccountsToggle:{message:"Watch Ethereum Accounts (Beta)"},watchOutMessage:{message:"Beware of $1.",description:"$1 is a link with text that is provided by the 'securityMessageLinkForNetworks' key"},weak:{message:"Weak"},web3:{message:"Web3"},web3ShimUsageNotification:{message:"We noticed that the current website tried to use the removed window.web3 API. If the site appears to be broken, please click $1 for more information.",description:"$1 is a clickable link."},webhid:{message:"WebHID",description:"Refers to a interface for connecting external devices to the browser. Used for connecting ledger to the browser. Read more here https://developer.mozilla.org/en-US/docs/Web/API/WebHID_API"},websites:{message:"websites",description:"Used in the 'permission_rpc' message."},welcomeBack:{message:"Welcome back!"},welcomeExploreDescription:{message:"Store, send, and spend crypto currencies and assets."},welcomeExploreTitle:{message:"Explore decentralized apps"},welcomeLoginDescription:{message:"Use your MetaMask to login to decentralized apps - no signup needed."},welcomeLoginTitle:{message:"Say hello to your wallet"},welcomeToMetaMask:{message:"Let's get started"},welcomeToMetaMaskIntro:{message:"Trusted by millions, MetaMask is a secure wallet making the world of web3 accessible to all."},whatsThis:{message:"What's this?"},willApproveAmountForBridging:{message:"This will approve $1 for bridging."},willApproveAmountForBridgingHardware:{message:"Youll need to confirm two transactions on your hardware wallet."},withdrawing:{message:"Withdrawing"},wrongNetworkName:{message:"According to our records, the network name may not correctly match this chain ID."},yes:{message:"Yes"},you:{message:"You"},youDeclinedTheTransaction:{message:"You declined the transaction."},youNeedToAllowCameraAccess:{message:"You need to allow camera access to use this feature."},yourAccounts:{message:"Your accounts"},yourActivity:{message:"Your activity"},yourBalance:{message:"Your balance"},yourBalanceIsAggregated:{message:"Your balance is aggregated"},yourNFTmayBeAtRisk:{message:"Your NFT may be at risk"},yourNetworks:{message:"Your networks"},yourPrivateSeedPhrase:{message:"Your Secret Recovery Phrase"},yourTransactionConfirmed:{message:"Transaction already confirmed"},yourTransactionJustConfirmed:{message:"We weren't able to cancel your transaction before it was confirmed on the blockchain."},yourWalletIsReady:{message:"Your wallet is ready"},zeroGasPriceOnSpeedUpError:{message:"Zero gas price on speed up"}}}}},{package:"$root$",file:"app/_locales/en/messages.json"}],[101,{"../../../../shared/lib/transaction-breakdown-utils":5774,"../../../../shared/lib/transactions-controller-utils":5775,"../../../../ui/ducks/bridge/utils":6749,"../../../../ui/selectors":7485},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getTokenUsdValue=n.getHexGasTotalUsd=void 0;var r=e("../../../../shared/lib/transaction-breakdown-utils"),s=e("../../../../shared/lib/transactions-controller-utils"),i=e("../../../../ui/ducks/bridge/utils"),a=e("../../../../ui/selectors");n.getHexGasTotalUsd=({bridgeHistoryItem:e,state:t})=>{const n=t.metamask.transactions.find((t=>t.id===e.txMetaId));if(!n)return null;const i=(0,r.calcHexGasTotal)(n),o=(0,a.getUSDConversionRateByChainId)(n.chainId)(t);return(0,s.calcTokenAmount)(i,18).toNumber()*o};n.getTokenUsdValue=async({chainId:e,tokenAmount:t,tokenAddress:n,state:r})=>{const s=(0,a.getMarketData)(r),o=(0,i.exchangeRateFromMarketData)(e,n,s);if(o){return t*o*(0,a.getUSDConversionRateByChainId)(e)(r)}const A=await(0,i.getTokenExchangeRate)({chainId:e,tokenAddress:n,currency:"usd"});return A?t*A:null}}}},{package:"$root$",file:"app/scripts/lib/bridge-status/metrics-utils.ts"}],[121,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){if(e.includes(r)){const t=e.slice(r.length);return t.slice(t.indexOf(s)+s.length)}return e};const r="Error: [ethjs-rpc] rpc error with payload ",s="Error: "}}},{package:"$root$",file:"app/scripts/lib/extractEthjsErrorMessage.js"}],[122,{"../../_locales/index.json":2,"webextension-polyfill":5696},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=async function(){let e;try{e=await r.default.i18n.getAcceptLanguages()}catch(t){e=[]}e||(e=[]);let t=e.map((e=>e.toLowerCase().replace("_","-"))).find((e=>a[e]!==undefined||a[e.split("-")[0]]!==undefined));t!==undefined&&a[t]===undefined&&(t=t.split("-")[0]);return a[t]||"en"};var r=i(e("webextension-polyfill")),s=i(e("../../_locales/index.json"));function i(e){return e&&e.__esModule?e:{default:e}}const a={zh:"zh_CN"};s.default.forEach((e=>{e&&e.code&&(a[e.code.toLowerCase().replace("_","-")]=e.code)}))}}},{package:"$root$",file:"app/scripts/lib/get-first-preferred-lang-code.js"}],[1249,{"./errors":1250,"./packer":1253,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.decodeSingle=n.decode=n.encodePacked=n.encodeSingle=n.encode=void 0;const r=e("@metamask/utils"),s=e("./errors"),i=e("./packer");n.encode=(e,t,n,r)=>{try{return(0,i.pack)({types:e,values:t,packed:n,tight:r})}catch(e){if(e instanceof s.ParserError)throw new s.ParserError(`Unable to encode value: ${e.message}`,e);throw new s.ParserError(`An unexpected error occurred: ${(0,s.getErrorMessage)(e)}`,e)}};n.encodeSingle=(e,t)=>(0,n.encode)([e],[t]);n.encodePacked=(e,t,r)=>(0,n.encode)(e,t,!0,r);n.decode=(e,t)=>{const n=(0,r.createBytes)(t);try{return(0,i.unpack)(e,n)}catch(e){if(e instanceof s.ParserError)throw new s.ParserError(`Unable to decode value: ${e.message}`,e);throw new s.ParserError(`An unexpected error occurred: ${(0,s.getErrorMessage)(e)}`,e)}};n.decodeSingle=(e,t)=>{const i=(0,n.decode)([e],t);return(0,r.assert)(1===i.length,new s.ParserError("Decoded value array has unexpected length.")),i[0]}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/abi.js"}],[1250,{"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.ParserError=n.getErrorStack=n.getErrorMessage=void 0;const r=e("@metamask/utils");n.getErrorMessage=e=>"string"==typeof e?e:e instanceof Error||(0,r.isObject)(e)&&(0,r.hasProperty)(e,"message")&&"string"==typeof e.message?e.message:"Unknown error.";n.getErrorStack=e=>e instanceof Error?e.stack:undefined;class s extends Error{constructor(e,t){super(e),this.name="ParserError";const r=(0,n.getErrorStack)(t);r&&(this.stack=r)}}n.ParserError=s}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/errors.js"}],[1251,{"./abi":1249,"./errors":1250,"./types":1266},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./abi"),n),s(e("./errors"),n),s(e("./types"),n)}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/index.js"}],[1252,{"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.iterate=void 0;const r=e("@metamask/utils");n.iterate=function*(e,t=32){for(let n=0;n<e.length;n+=t){const s=e=>{(0,r.assert)(e>=0,"Cannot skip a negative number of bytes."),(0,r.assert)(e%t==0,"Length must be a multiple of the size."),n+=e},i=e.subarray(n);yield{skip:s,value:i}}return{skip:()=>undefined,value:new Uint8Array}}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/iterator.js"}],[1253,{"./errors":1250,"./iterator":1252,"./parsers":1260,"./utils":1268,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.unpack=n.pack=n.isDynamicParser=n.getParser=void 0;const r=e("@metamask/utils"),s=e("./errors"),i=e("./iterator"),a=e("./parsers"),o=e("./utils");n.getParser=e=>{const t={address:a.address,array:a.array,bool:a.bool,bytes:a.bytes,fixedBytes:a.fixedBytes,function:a.fn,number:a.number,string:a.string,tuple:a.tuple},n=t[e];if(n)return n;const r=Object.values(t).find((t=>t.isType(e)));if(r)return r;throw new s.ParserError(`The type "${e}" is not supported.`)};n.isDynamicParser=(e,t)=>{const{isDynamic:n}=e;return"function"==typeof n?n(t):n};n.pack=({types:e,values:t,packed:i=!1,tight:a=!1,arrayPacked:A=!1,byteArray:c=new Uint8Array})=>{(0,r.assert)(e.length===t.length,new s.ParserError(`The number of types (${e.length}) does not match the number of values (${t.length}).`));const{staticBuffer:u,dynamicBuffer:l,pointers:g}=e.reduce((({staticBuffer:e,dynamicBuffer:s,pointers:o},c,u)=>{const l=(0,n.getParser)(c),g=t[u];if(i||A||!(0,n.isDynamicParser)(l,c))return{staticBuffer:l.encode({buffer:e,value:g,type:c,packed:i,tight:a}),dynamicBuffer:s,pointers:o};return{staticBuffer:(0,r.concatBytes)([e,new Uint8Array(32)]),dynamicBuffer:l.encode({buffer:s,value:g,type:c,packed:i,tight:a}),pointers:[...o,{position:e.length,pointer:s.length}]}}),{staticBuffer:new Uint8Array,dynamicBuffer:new Uint8Array,pointers:[]});(0,r.assert)(!i&&!A||0===l.length,new s.ParserError("Invalid pack state."));const d=u.length,f=g.reduce(((e,{pointer:t,position:n})=>{const s=(0,o.padStart)((0,r.numberToBytes)(d+t));return(0,o.set)(e,s,n)}),u);return(0,r.concatBytes)([c,f,l])};n.unpack=(e,t)=>{const a=(0,i.iterate)(t);return e.map((e=>{const{value:{value:i,skip:o},done:A}=a.next();(0,r.assert)(!A,new s.ParserError(`The encoded value is invalid for the provided types. Reached end of buffer while attempting to parse "${e}".`));const c=(0,n.getParser)(e);if((0,n.isDynamicParser)(c,e)){const n=(0,r.bytesToNumber)(i.subarray(0,32)),s=t.subarray(n);return c.decode({type:e,value:s,skip:o})}return c.decode({type:e,value:i,skip:o})}))}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/packer.js"}],[1254,{"../errors":1250,"../utils":1268,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.address=n.getAddress=void 0;const r=e("@metamask/utils"),s=e("../errors"),i=e("../utils");n.getAddress=e=>{const t=(0,r.createBytes)(e);return(0,r.assert)(t.length<=20,new s.ParserError(`Invalid address value. Expected address to be 20 bytes long, but received ${t.length} bytes.`)),(0,i.padStart)(t,20)},n.address={isDynamic:!1,isType:e=>"address"===e,getByteLength:()=>32,encode({buffer:e,value:t,packed:s}){const a=(0,n.getAddress)(t);if(s)return(0,r.concatBytes)([e,a]);const o=(0,i.padStart)(a);return(0,r.concatBytes)([e,o])},decode:({value:e})=>(0,r.add0x)((0,r.bytesToHex)(e.slice(12,32)))}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/address.js"}],[1255,{"../errors":1250,"../packer":1253,"../utils":1268,"./fixed-bytes":1258,"./tuple":1264,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.array=n.getTupleType=n.getArrayType=n.isArrayType=void 0;const r=e("@metamask/utils"),s=e("../errors"),i=e("../packer"),a=e("../utils"),o=e("./fixed-bytes"),A=e("./tuple"),c=/^(?<type>.*)\[(?<length>\d*?)\]$/u;n.isArrayType=e=>c.test(e);n.getArrayType=e=>{const t=e.match(c);return(0,r.assert)(t?.groups?.type,new s.ParserError(`Invalid array type. Expected an array type, but received "${e}".`)),[t.groups.type,t.groups.length?parseInt(t.groups.length,10):undefined]};n.getTupleType=(e,t)=>`(${new Array(t).fill(e).join(",")})`,n.array={isDynamic(e){const[t,r]=(0,n.getArrayType)(e);return r===undefined||(0,i.isDynamicParser)((0,i.getParser)(t),t)},isType:e=>(0,n.isArrayType)(e),getByteLength(e){(0,r.assert)((0,n.isArrayType)(e),new s.ParserError(`Expected an array type, but received "${e}".`));const[t,a]=(0,n.getArrayType)(e);return(0,i.isDynamicParser)(this,e)||a===undefined?32:A.tuple.getByteLength((0,n.getTupleType)(t,a))},encode({type:e,buffer:t,value:c,packed:u,tight:l}){const[g,d]=(0,n.getArrayType)(e);if((0,r.assert)(!u||!(0,n.isArrayType)(g),new s.ParserError("Cannot pack nested arrays.")),u&&(0,i.isDynamicParser)((0,i.getParser)(g),g))return(0,i.pack)({types:new Array(c.length).fill(g),values:c,byteArray:t,packed:u,arrayPacked:!0,tight:l});if(d)return(0,r.assert)(d===c.length,new s.ParserError(`Array length does not match type length. Expected a length of ${d}, but received ${c.length}.`)),A.tuple.encode({type:(0,n.getTupleType)(g,d),buffer:t,value:c,packed:o.fixedBytes.isType(g)&&l,tight:l});if(u)return(0,i.pack)({types:new Array(c.length).fill(g),values:c,byteArray:t,packed:o.fixedBytes.isType(g)&&l,arrayPacked:!0,tight:l});const f=(0,a.padStart)((0,r.numberToBytes)(c.length));return(0,i.pack)({types:new Array(c.length).fill(g),values:c,byteArray:(0,r.concatBytes)([t,f]),packed:u,tight:l})},decode({type:e,value:t,...a}){const[o,c]=(0,n.getArrayType)(e);if(c){const e=A.tuple.decode({type:(0,n.getTupleType)(o,c),value:t,...a});return(0,r.assert)(e.length===c,new s.ParserError(`Array length does not match type length. Expected a length of ${c}, but received ${e.length}.`)),e}const u=(0,r.bytesToNumber)(t.subarray(0,32));return(0,i.unpack)(new Array(u).fill(o),t.subarray(32))}}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/array.js"}],[1256,{"../errors":1250,"./number":1261,"@metamask/superstruct":2872,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.bool=n.getBooleanValue=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils"),i=e("../errors"),a=e("./number"),o=(0,r.coerce)((0,r.boolean)(),(0,r.union)([(0,r.literal)("true"),(0,r.literal)("false")]),(e=>"true"===e));n.getBooleanValue=e=>{try{return(0,r.create)(e,o)?BigInt(1):BigInt(0)}catch{throw new i.ParserError(`Invalid boolean value. Expected a boolean literal, or the string "true" or "false", but received "${e}".`)}},n.bool={isDynamic:!1,isType:e=>"bool"===e,getByteLength:()=>32,encode({buffer:e,value:t,packed:r,tight:i}){const o=(0,n.getBooleanValue)(t);return r?(0,s.concatBytes)([e,(0,s.bigIntToBytes)(o)]):a.number.encode({type:"uint256",buffer:e,value:o,packed:r,tight:i})},decode:e=>a.number.decode({...e,type:"uint256"})===BigInt(1)}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/bool.js"}],[1257,{"../utils":1268,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.bytes=void 0;const r=e("@metamask/utils"),s=e("../utils");n.bytes={isDynamic:!0,isType:e=>"bytes"===e,getByteLength:()=>32,encode({buffer:e,value:t,packed:n}){const i=(0,r.createBytes)(t);if(n)return(0,r.concatBytes)([e,i]);const a=32*Math.ceil(i.byteLength/32);return(0,r.concatBytes)([e,(0,s.padStart)((0,r.numberToBytes)(i.byteLength)),(0,s.padEnd)(i,a)])},decode({value:e}){const t=e.subarray(0,32),n=(0,r.bytesToNumber)(t);return e.slice(32,32+n)}}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/bytes.js"}],[1258,{"../errors":1250,"../utils":1268,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fixedBytes=n.getByteLength=void 0;const r=e("@metamask/utils"),s=e("../errors"),i=e("../utils"),a=/^bytes([0-9]{1,2})$/u;n.getByteLength=e=>{const t=e.match(a)?.[1];(0,r.assert)(t,`Invalid byte length. Expected a number between 1 and 32, but received "${e}".`);const n=Number(t);return(0,r.assert)(n>0&&n<=32,new s.ParserError(`Invalid byte length. Expected a number between 1 and 32, but received "${e}".`)),n},n.fixedBytes={isDynamic:!1,isType:e=>a.test(e),getByteLength:()=>32,encode({type:e,buffer:t,value:a,packed:o}){const A=(0,n.getByteLength)(e),c=(0,r.createBytes)(a);return(0,r.assert)(c.length<=A,new s.ParserError(`Expected a value of length ${A}, but received a value of length ${c.length}.`)),o?(0,r.concatBytes)([t,(0,i.padEnd)(c,A)]):(0,r.concatBytes)([t,(0,i.padEnd)(c)])},decode({type:e,value:t}){const r=(0,n.getByteLength)(e);return t.slice(0,r)}}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/fixed-bytes.js"}],[1259,{"../errors":1250,"./fixed-bytes":1258,"@metamask/superstruct":2872,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fn=n.getFunction=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils"),i=e("../errors"),a=e("./fixed-bytes"),o=(0,r.coerce)((0,r.object)({address:s.StrictHexStruct,selector:s.StrictHexStruct}),(0,r.union)([s.StrictHexStruct,(0,r.instance)(Uint8Array)]),(e=>{const t=(0,s.createBytes)(e);return(0,s.assert)(24===t.length,new i.ParserError(`Invalid Solidity function. Expected function to be 24 bytes long, but received ${t.length} bytes.`)),{address:(0,s.bytesToHex)(t.subarray(0,20)),selector:(0,s.bytesToHex)(t.subarray(20,24))}}));n.getFunction=e=>{const t=(0,r.create)(e,o);return(0,s.concatBytes)([(0,s.hexToBytes)(t.address),(0,s.hexToBytes)(t.selector)])},n.fn={isDynamic:!1,isType:e=>"function"===e,getByteLength:()=>32,encode({buffer:e,value:t,packed:r,tight:s}){const i=(0,n.getFunction)(t);return a.fixedBytes.encode({type:"bytes24",buffer:e,value:i,packed:r,tight:s})},decode:({value:e})=>({address:(0,s.bytesToHex)(e.slice(0,20)),selector:(0,s.bytesToHex)(e.slice(20,24))})}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/function.js"}],[1260,{"./address":1254,"./array":1255,"./bool":1256,"./bytes":1257,"./fixed-bytes":1258,"./function":1259,"./number":1261,"./parser":1262,"./string":1263,"./tuple":1264},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./address"),n),s(e("./array"),n),s(e("./bool"),n),s(e("./bytes"),n),s(e("./fixed-bytes"),n),s(e("./function"),n),s(e("./number"),n),s(e("./parser"),n),s(e("./string"),n),s(e("./tuple"),n)}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/index.js"}],[1261,{"../errors":1250,"../utils":1268,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.number=n.getBigInt=n.assertNumberLength=n.getLength=n.isSigned=void 0;const r=e("@metamask/utils"),s=e("../errors"),i=e("../utils"),a=/^u?int(?<length>[0-9]*)?$/u;n.isSigned=e=>!e.startsWith("u");n.getLength=e=>{if("int"===e||"uint"===e)return 256;const t=e.match(a);(0,r.assert)(t?.groups?.length,new s.ParserError(`Invalid number type. Expected a number type, but received "${e}".`));const n=parseInt(t.groups.length,10);return(0,r.assert)(n>=8&&n<=256,new s.ParserError(`Invalid number length. Expected a number between 8 and 256, but received "${e}".`)),(0,r.assert)(n%8==0,new s.ParserError(`Invalid number length. Expected a multiple of 8, but received "${e}".`)),n};n.assertNumberLength=(e,t)=>{const i=(0,n.getLength)(t),a=BigInt(2)**BigInt(i-((0,n.isSigned)(t)?1:0))-BigInt(1);(0,n.isSigned)(t)?(0,r.assert)(e>=-(a+BigInt(1))&&e<=a,new s.ParserError(`Number "${e}" is out of range for type "${t}".`)):(0,r.assert)(e<=a,new s.ParserError(`Number "${e}" is out of range for type "${t}".`))};n.getBigInt=e=>{try{return(0,r.createBigInt)(e)}catch{throw new s.ParserError(`Invalid number. Expected a valid number value, but received "${e}".`)}},n.number={isDynamic:!1,isType:e=>a.test(e),getByteLength:()=>32,encode({type:e,buffer:t,value:s,packed:a}){const o=(0,n.getBigInt)(s);if((0,n.assertNumberLength)(o,e),(0,n.isSigned)(e)){if(a){const s=(0,n.getLength)(e)/8;return(0,r.concatBytes)([t,(0,r.signedBigIntToBytes)(o,s)])}return(0,r.concatBytes)([t,(0,i.padStart)((0,r.signedBigIntToBytes)(o,32))])}if(a){const s=(0,n.getLength)(e)/8;return(0,r.concatBytes)([t,(0,i.padStart)((0,r.bigIntToBytes)(o),s)])}return(0,r.concatBytes)([t,(0,i.padStart)((0,r.bigIntToBytes)(o))])},decode({type:e,value:t}){const s=t.subarray(0,32);if((0,n.isSigned)(e)){const t=(0,r.bytesToSignedBigInt)(s);return(0,n.assertNumberLength)(t,e),t}const i=(0,r.bytesToBigInt)(s);return(0,n.assertNumberLength)(i,e),i}}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/number.js"}],[1262,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/parser.js"}],[1263,{"./bytes":1257,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.string=void 0;const r=e("@metamask/utils"),s=e("./bytes");n.string={isDynamic:!0,isType:e=>"string"===e,getByteLength:()=>32,encode:({buffer:e,value:t,packed:n,tight:i})=>s.bytes.encode({type:"bytes",buffer:e,value:(0,r.stringToBytes)(t),packed:n,tight:i}),decode:e=>(0,r.bytesToString)(s.bytes.decode(e))}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/string.js"}],[1264,{"../errors":1250,"../packer":1253,"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.tuple=n.getTupleElements=void 0;const r=e("@metamask/utils"),s=e("../errors"),i=e("../packer"),a=/^\((.+)\)$/u;n.getTupleElements=e=>{(0,r.assert)(e.startsWith("(")&&e.endsWith(")"),new s.ParserError(`Invalid tuple type. Expected tuple type, but received "${e}".`));const t=[];let n="",i=0;for(let r=1;r<e.length-1;r++){const s=e[r];","===s&&0===i?(t.push(n.trim()),n=""):(n+=s,"("===s?i+=1:")"===s&&(i-=1))}return n.trim()&&t.push(n.trim()),t},n.tuple={isDynamic:e=>(0,n.getTupleElements)(e).some((e=>{const t=(0,i.getParser)(e);return(0,i.isDynamicParser)(t,e)})),isType:e=>(e=>a.test(e))(e),getByteLength(e){if((0,i.isDynamicParser)(this,e))return 32;return(0,n.getTupleElements)(e).reduce(((e,t)=>e+(0,i.getParser)(t).getByteLength(t)),0)},encode({type:e,buffer:t,value:r,packed:s,tight:a}){const o=(0,n.getTupleElements)(e);return(0,i.pack)({types:o,values:r,byteArray:t,packed:s,tight:a})},decode({type:e,value:t,skip:r}){const s=(0,n.getTupleElements)(e);return r(this.getByteLength(e)-32),(0,i.unpack)(s,t)}}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/parsers/tuple.js"}],[1265,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/types/abi.js"}],[1266,{"./abi":1265},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./abi"),n)}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/types/index.js"}],[1267,{"@metamask/utils":1279},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.padEnd=n.padStart=n.set=void 0;const r=e("@metamask/utils");n.set=(e,t,n)=>(0,r.concatBytes)([e.subarray(0,n),t,e.subarray(n+t.length)]);n.padStart=(e,t=32)=>{const n=new Uint8Array(Math.max(t-e.length,0)).fill(0);return(0,r.concatBytes)([n,e])};n.padEnd=(e,t=32)=>{const n=new Uint8Array(Math.max(t-e.length,0)).fill(0);return(0,r.concatBytes)([e,n])}}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/utils/buffer.js"}],[1268,{"./buffer":1267},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./buffer"),n)}}},{package:"@metamask/abi-utils",file:"node_modules/@metamask/abi-utils/dist/utils/index.js"}],[1269,{"./errors.cjs":1277,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.assertExhaustive=n.assertStruct=n.assert=n.AssertionError=void 0;const r=e("@metamask/superstruct"),s=e("./errors.cjs");function i(e,t){return n=e,Boolean("string"==typeof n?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var n}class a extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}n.AssertionError=a,n.assert=function(e,t="Assertion failed.",n=a){if(!e){if(t instanceof Error)throw t;throw i(n,t)}},n.assertStruct=function(e,t,n="Assertion failed",o=a){try{(0,r.assert)(e,t)}catch(e){throw i(o,`${n}: ${function(e){return(0,s.getErrorMessage)(e).replace(/\.$/u,"")}(e)}.`)}},n.assertExhaustive=function(e){throw new Error("Invalid branch reached. Should be detected during compilation.")}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/assert.cjs"}],[1270,{"./assert.cjs":1269,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.base64=void 0;const r=e("@metamask/superstruct"),s=e("./assert.cjs");n.base64=(e,t={})=>{const n=t.paddingRequired??!1,i=t.characterSet??"base64";let a,o;return"base64"===i?a=String.raw`[A-Za-z0-9+\/]`:((0,s.assert)("base64url"===i),a=String.raw`[-_A-Za-z0-9]`),o=n?new RegExp(`^(?:${a}{4})*(?:${a}{3}=|${a}{2}==)?$`,"u"):new RegExp(`^(?:${a}{4})*(?:${a}{2,3}|${a}{3}=|${a}{2}==)?$`,"u"),(0,r.pattern)(e,o)}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/base64.cjs"}],[1271,{"./assert.cjs":1269,"./hex.cjs":1278,"@scure/base":3027,buffer:4074},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){(function(t){(function(){Object.defineProperty(n,"__esModule",{value:!0}),n.createDataView=n.concatBytes=n.valueToBytes=n.base64ToBytes=n.stringToBytes=n.numberToBytes=n.signedBigIntToBytes=n.bigIntToBytes=n.hexToBytes=n.bytesToBase64=n.bytesToString=n.bytesToNumber=n.bytesToSignedBigInt=n.bytesToBigInt=n.bytesToHex=n.assertIsBytes=n.isBytes=void 0;const r=e("@scure/base"),s=e("./assert.cjs"),i=e("./hex.cjs"),a=48,o=58,A=87;const c=function(){const e=[];return()=>{if(0===e.length)for(let t=0;t<256;t++)e.push(t.toString(16).padStart(2,"0"));return e}}();function u(e){return e instanceof Uint8Array}function l(e){(0,s.assert)(u(e),"Value must be a Uint8Array.")}function g(e){if(l(e),0===e.length)return"0x";const t=c(),n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=t[e[r]];return(0,i.add0x)(n.join(""))}function d(e){l(e);const t=g(e);return BigInt(t)}function f(e){if("0x"===e?.toLowerCase?.())return new Uint8Array;(0,i.assertIsHexString)(e);const t=(0,i.remove0x)(e).toLowerCase(),n=t.length%2==0?t:`0${t}`,r=new Uint8Array(n.length/2);for(let e=0;e<r.length;e++){const t=n.charCodeAt(2*e),s=n.charCodeAt(2*e+1),i=t-(t<o?a:A),c=s-(s<o?a:A);r[e]=16*i+c}return r}function h(e){(0,s.assert)("bigint"==typeof e,"Value must be a bigint."),(0,s.assert)(e>=BigInt(0),"Value must be a non-negative bigint.");return f(e.toString(16))}function p(e){(0,s.assert)("number"==typeof e,"Value must be a number."),(0,s.assert)(e>=0,"Value must be a non-negative number."),(0,s.assert)(Number.isSafeInteger(e),"Value is not a safe integer. Use `bigIntToBytes` instead.");return f(e.toString(16))}function m(e){return(0,s.assert)("string"==typeof e,"Value must be a string."),(new TextEncoder).encode(e)}function E(e){if("bigint"==typeof e)return h(e);if("number"==typeof e)return p(e);if("string"==typeof e)return e.startsWith("0x")?f(e):m(e);if(u(e))return e;throw new TypeError(`Unsupported value type: "${typeof e}".`)}n.isBytes=u,n.assertIsBytes=l,n.bytesToHex=g,n.bytesToBigInt=d,n.bytesToSignedBigInt=function(e){l(e);let t=BigInt(0);for(const n of e)t=(t<<BigInt(8))+BigInt(n);return BigInt.asIntN(8*e.length,t)},n.bytesToNumber=function(e){l(e);const t=d(e);return(0,s.assert)(t<=BigInt(Number.MAX_SAFE_INTEGER),"Number is not a safe integer. Use `bytesToBigInt` instead."),Number(t)},n.bytesToString=function(e){return l(e),(new TextDecoder).decode(e)},n.bytesToBase64=function(e){return l(e),r.base64.encode(e)},n.hexToBytes=f,n.bigIntToBytes=h,n.signedBigIntToBytes=function(e,t){(0,s.assert)("bigint"==typeof e,"Value must be a bigint."),(0,s.assert)("number"==typeof t,"Byte length must be a number."),(0,s.assert)(t>0,"Byte length must be greater than 0."),(0,s.assert)(function(e,t){(0,s.assert)(t>0);const n=e>>BigInt(31);return!((~e&n)+(e&~n)>>BigInt(8*t-1))}(e,t),"Byte length is too small to represent the given value.");let n=e;const r=new Uint8Array(t);for(let e=0;e<r.length;e++)r[e]=Number(BigInt.asUintN(8,n)),n>>=BigInt(8);return r.reverse()},n.numberToBytes=p,n.stringToBytes=m,n.base64ToBytes=function(e){return(0,s.assert)("string"==typeof e,"Value must be a string."),r.base64.decode(e)},n.valueToBytes=E,n.concatBytes=function(e){const t=new Array(e.length);let n=0;for(let r=0;r<e.length;r++){const s=E(e[r]);t[r]=s,n+=s.length}const r=new Uint8Array(n);for(let e=0,n=0;e<t.length;e++)r.set(t[e],n),n+=t[e].length;return r},n.createDataView=function(e){if(void 0!==t&&e instanceof t){const t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new DataView(t)}return new DataView(e.buffer,e.byteOffset,e.byteLength)}}).call(this)}).call(this,e("buffer").Buffer)}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/bytes.cjs"}],[1272,{"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.toCaipChainId=n.parseCaipAccountId=n.parseCaipChainId=n.isCaipAssetId=n.isCaipAssetType=n.isCaipAccountAddress=n.isCaipAccountId=n.isCaipReference=n.isCaipNamespace=n.isCaipChainId=n.KnownCaipNamespace=n.CaipAssetIdStruct=n.CaipAssetTypeStruct=n.CaipAccountAddressStruct=n.CaipAccountIdStruct=n.CaipReferenceStruct=n.CaipNamespaceStruct=n.CaipChainIdStruct=n.CAIP_ASSET_ID_REGEX=n.CAIP_ASSET_TYPE_REGEX=n.CAIP_ACCOUNT_ADDRESS_REGEX=n.CAIP_ACCOUNT_ID_REGEX=n.CAIP_REFERENCE_REGEX=n.CAIP_NAMESPACE_REGEX=n.CAIP_CHAIN_ID_REGEX=void 0;const r=e("@metamask/superstruct");function s(e){return(0,r.is)(e,n.CaipNamespaceStruct)}function i(e){return(0,r.is)(e,n.CaipReferenceStruct)}n.CAIP_CHAIN_ID_REGEX=/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})$/u,n.CAIP_NAMESPACE_REGEX=/^[-a-z0-9]{3,8}$/u,n.CAIP_REFERENCE_REGEX=/^[-_a-zA-Z0-9]{1,32}$/u,n.CAIP_ACCOUNT_ID_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})):(?<accountAddress>[-.%a-zA-Z0-9]{1,128})$/u,n.CAIP_ACCOUNT_ADDRESS_REGEX=/^[-.%a-zA-Z0-9]{1,128}$/u,n.CAIP_ASSET_TYPE_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})$/u,n.CAIP_ASSET_ID_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})\/(?<tokenId>[-.%a-zA-Z0-9]{1,78})$/u,n.CaipChainIdStruct=(0,r.pattern)((0,r.string)(),n.CAIP_CHAIN_ID_REGEX),n.CaipNamespaceStruct=(0,r.pattern)((0,r.string)(),n.CAIP_NAMESPACE_REGEX),n.CaipReferenceStruct=(0,r.pattern)((0,r.string)(),n.CAIP_REFERENCE_REGEX),n.CaipAccountIdStruct=(0,r.pattern)((0,r.string)(),n.CAIP_ACCOUNT_ID_REGEX),n.CaipAccountAddressStruct=(0,r.pattern)((0,r.string)(),n.CAIP_ACCOUNT_ADDRESS_REGEX),n.CaipAssetTypeStruct=(0,r.pattern)((0,r.string)(),n.CAIP_ASSET_TYPE_REGEX),n.CaipAssetIdStruct=(0,r.pattern)((0,r.string)(),n.CAIP_ASSET_ID_REGEX),function(e){e.Bip122="bip122",e.Eip155="eip155",e.Wallet="wallet"}(n.KnownCaipNamespace||(n.KnownCaipNamespace={})),n.isCaipChainId=function(e){return(0,r.is)(e,n.CaipChainIdStruct)},n.isCaipNamespace=s,n.isCaipReference=i,n.isCaipAccountId=function(e){return(0,r.is)(e,n.CaipAccountIdStruct)},n.isCaipAccountAddress=function(e){return(0,r.is)(e,n.CaipAccountAddressStruct)},n.isCaipAssetType=function(e){return(0,r.is)(e,n.CaipAssetTypeStruct)},n.isCaipAssetId=function(e){return(0,r.is)(e,n.CaipAssetIdStruct)},n.parseCaipChainId=function(e){const t=n.CAIP_CHAIN_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid CAIP chain ID.");return{namespace:t.groups.namespace,reference:t.groups.reference}},n.parseCaipAccountId=function(e){const t=n.CAIP_ACCOUNT_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid CAIP account ID.");return{address:t.groups.accountAddress,chainId:t.groups.chainId,chain:{namespace:t.groups.namespace,reference:t.groups.reference}}},n.toCaipChainId=function(e,t){if(!s(e))throw new Error(`Invalid "namespace", must match: ${n.CAIP_NAMESPACE_REGEX.toString()}`);if(!i(t))throw new Error(`Invalid "reference", must match: ${n.CAIP_REFERENCE_REGEX.toString()}`);return`${e}:${t}`}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/caip-types.cjs"}],[1273,{"./base64.cjs":1270,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.ChecksumStruct=void 0;const r=e("@metamask/superstruct"),s=e("./base64.cjs");n.ChecksumStruct=(0,r.size)((0,s.base64)((0,r.string)(),{paddingRequired:!0}),44,44)}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/checksum.cjs"}],[1274,{"./assert.cjs":1269,"./bytes.cjs":1271,"./hex.cjs":1278,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.createHex=n.createBytes=n.createBigInt=n.createNumber=void 0;const r=e("@metamask/superstruct"),s=e("./assert.cjs"),i=e("./bytes.cjs"),a=e("./hex.cjs"),o=(0,r.union)([(0,r.number)(),(0,r.bigint)(),(0,r.string)(),a.StrictHexStruct]),A=(0,r.coerce)((0,r.number)(),o,Number),c=(0,r.coerce)((0,r.bigint)(),o,BigInt),u=((0,r.union)([a.StrictHexStruct,(0,r.instance)(Uint8Array)]),(0,r.coerce)((0,r.instance)(Uint8Array),(0,r.union)([a.StrictHexStruct]),i.hexToBytes)),l=(0,r.coerce)(a.StrictHexStruct,(0,r.instance)(Uint8Array),i.bytesToHex);n.createNumber=function(e){try{const t=(0,r.create)(e,A);return(0,s.assert)(Number.isFinite(t),`Expected a number-like value, got "${e}".`),t}catch(t){if(t instanceof r.StructError)throw new Error(`Expected a number-like value, got "${e}".`);throw t}},n.createBigInt=function(e){try{return(0,r.create)(e,c)}catch(e){if(e instanceof r.StructError)throw new Error(`Expected a number-like value, got "${String(e.value)}".`);throw e}},n.createBytes=function(e){if("string"==typeof e&&"0x"===e.toLowerCase())return new Uint8Array;try{return(0,r.create)(e,u)}catch(e){if(e instanceof r.StructError)throw new Error(`Expected a bytes-like value, got "${String(e.value)}".`);throw e}},n.createHex=function(e){if(e instanceof Uint8Array&&0===e.length||"string"==typeof e&&"0x"===e.toLowerCase())return"0x";try{return(0,r.create)(e,l)}catch(e){if(e instanceof r.StructError)throw new Error(`Expected a bytes-like value, got "${String(e.value)}".`);throw e}}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/coercers.cjs"}],[1275,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},a=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n};Object.defineProperty(n,"__esModule",{value:!0}),n.FrozenSet=n.FrozenMap=void 0;class o{get size(){return i(this,r,"f").size}[(r=new WeakMap,Symbol.iterator)](){return i(this,r,"f")[Symbol.iterator]()}constructor(e){r.set(this,void 0),a(this,r,new Map(e),"f"),Object.freeze(this)}entries(){return i(this,r,"f").entries()}forEach(e,t){return i(this,r,"f").forEach(((n,r,s)=>e.call(t,n,r,this)))}get(e){return i(this,r,"f").get(e)}has(e){return i(this,r,"f").has(e)}keys(){return i(this,r,"f").keys()}values(){return i(this,r,"f").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map((([e,t])=>`${String(e)} => ${String(t)}`)).join(", ")} `:""}}`}}n.FrozenMap=o;class A{get size(){return i(this,s,"f").size}[(s=new WeakMap,Symbol.iterator)](){return i(this,s,"f")[Symbol.iterator]()}constructor(e){s.set(this,void 0),a(this,s,new Set(e),"f"),Object.freeze(this)}entries(){return i(this,s,"f").entries()}forEach(e,t){return i(this,s,"f").forEach(((n,r,s)=>e.call(t,n,r,this)))}has(e){return i(this,s,"f").has(e)}keys(){return i(this,s,"f").keys()}values(){return i(this,s,"f").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map((e=>String(e))).join(", ")} `:""}}`}}n.FrozenSet=A,Object.freeze(o),Object.freeze(o.prototype),Object.freeze(A),Object.freeze(A.prototype)}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/collections.cjs"}],[1276,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/encryption-types.cjs"}],[1277,{"./misc.cjs":1283,"pony-cause":5003},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.wrapError=n.getErrorMessage=n.isErrorWithStack=n.isErrorWithMessage=n.isErrorWithCode=void 0;const r=e("pony-cause"),s=e("./misc.cjs");function i(e){return"object"==typeof e&&null!==e&&"code"in e}function a(e){return"object"==typeof e&&null!==e&&"message"in e}n.isErrorWithCode=i,n.isErrorWithMessage=a,n.isErrorWithStack=function(e){return"object"==typeof e&&null!==e&&"stack"in e},n.getErrorMessage=function(e){return a(e)&&"string"==typeof e.message?e.message:(0,s.isNullOrUndefined)(e)?"":String(e)},n.wrapError=function(e,t){if((n=e)instanceof Error||(0,s.isObject)(n)&&"Error"===n.constructor.name){let n;return n=2===Error.length?new Error(t,{cause:e}):new r.ErrorWithCause(t,{cause:e}),i(e)&&(n.code=e.code),n}var n;return t.length>0?new Error(`${String(e)}: ${t}`):new Error(String(e))}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/errors.cjs"}],[1278,{"./assert.cjs":1269,"./bytes.cjs":1271,"@metamask/superstruct":2872,"@noble/hashes/sha3":3001},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.remove0x=n.add0x=n.isValidChecksumAddress=n.getChecksumAddress=n.isValidHexAddress=n.assertIsStrictHexString=n.assertIsHexString=n.isStrictHexString=n.isHexString=n.HexChecksumAddressStruct=n.HexAddressStruct=n.StrictHexStruct=n.HexStruct=void 0;const r=e("@metamask/superstruct"),s=e("@noble/hashes/sha3"),i=e("./assert.cjs"),a=e("./bytes.cjs");function o(e){return(0,r.is)(e,n.HexStruct)}function A(e){return(0,r.is)(e,n.StrictHexStruct)}function c(e){(0,i.assert)((0,r.is)(e,n.HexChecksumAddressStruct),"Invalid hex address.");const t=l(e.toLowerCase()),o=l((0,a.bytesToHex)((0,s.keccak_256)(t)));return`0x${t.split("").map(((e,t)=>{const n=o[t];return(0,i.assert)((0,r.is)(n,(0,r.string)()),"Hash shorter than address."),parseInt(n,16)>7?e.toUpperCase():e})).join("")}`}function u(e){return!!(0,r.is)(e,n.HexChecksumAddressStruct)&&c(e)===e}function l(e){return e.startsWith("0x")||e.startsWith("0X")?e.substring(2):e}n.HexStruct=(0,r.pattern)((0,r.string)(),/^(?:0x)?[0-9a-f]+$/iu),n.StrictHexStruct=(0,r.pattern)((0,r.string)(),/^0x[0-9a-f]+$/iu),n.HexAddressStruct=(0,r.pattern)((0,r.string)(),/^0x[0-9a-f]{40}$/u),n.HexChecksumAddressStruct=(0,r.pattern)((0,r.string)(),/^0x[0-9a-fA-F]{40}$/u),n.isHexString=o,n.isStrictHexString=A,n.assertIsHexString=function(e){(0,i.assert)(o(e),"Value must be a hexadecimal string.")},n.assertIsStrictHexString=function(e){(0,i.assert)(A(e),'Value must be a hexadecimal string, starting with "0x".')},n.isValidHexAddress=function(e){return(0,r.is)(e,n.HexAddressStruct)||u(e)},n.getChecksumAddress=c,n.isValidChecksumAddress=u,n.add0x=function(e){return e.startsWith("0x")?e:e.startsWith("0X")?`0x${e.substring(2)}`:`0x${e}`},n.remove0x=l}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/hex.cjs"}],[1279,{"./assert.cjs":1269,"./base64.cjs":1270,"./bytes.cjs":1271,"./caip-types.cjs":1272,"./checksum.cjs":1273,"./coercers.cjs":1274,"./collections.cjs":1275,"./encryption-types.cjs":1276,"./errors.cjs":1277,"./hex.cjs":1278,"./json.cjs":1280,"./keyring.cjs":1281,"./logging.cjs":1282,"./misc.cjs":1283,"./number.cjs":1284,"./opaque.cjs":1285,"./promise.cjs":1286,"./time.cjs":1287,"./transaction-types.cjs":1288,"./versions.cjs":1289},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./assert.cjs"),n),s(e("./base64.cjs"),n),s(e("./bytes.cjs"),n),s(e("./caip-types.cjs"),n),s(e("./checksum.cjs"),n),s(e("./coercers.cjs"),n),s(e("./collections.cjs"),n),s(e("./encryption-types.cjs"),n),s(e("./errors.cjs"),n),s(e("./hex.cjs"),n),s(e("./json.cjs"),n),s(e("./keyring.cjs"),n),s(e("./logging.cjs"),n),s(e("./misc.cjs"),n),s(e("./number.cjs"),n),s(e("./opaque.cjs"),n),s(e("./promise.cjs"),n),s(e("./time.cjs"),n),s(e("./transaction-types.cjs"),n),s(e("./versions.cjs"),n)}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/index.cjs"}],[128,{"../../../../shared/modules/hexstring-utils":5788,"@metamask/eth-sig-util":1703,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isEthAddress=a,n.normalizeAddress=function(e){return a(e)?(0,s.normalize)(e):e},n.normalizeSafeAddress=function(e){return a(e)?(0,i.toChecksumHexAddress)(e):e};var r=e("@metamask/utils"),s=e("@metamask/eth-sig-util"),i=e("../../../../shared/modules/hexstring-utils");function a(e){return(0,r.isValidHexAddress)(e)}}}},{package:"$root$",file:"app/scripts/lib/multichain/address.ts"}],[1280,{"./assert.cjs":1269,"./misc.cjs":1283,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getJsonRpcIdValidator=n.assertIsJsonRpcError=n.isJsonRpcError=n.assertIsJsonRpcFailure=n.isJsonRpcFailure=n.assertIsJsonRpcSuccess=n.isJsonRpcSuccess=n.assertIsJsonRpcResponse=n.isJsonRpcResponse=n.assertIsPendingJsonRpcResponse=n.isPendingJsonRpcResponse=n.JsonRpcResponseStruct=n.JsonRpcFailureStruct=n.JsonRpcSuccessStruct=n.PendingJsonRpcResponseStruct=n.assertIsJsonRpcRequest=n.isJsonRpcRequest=n.assertIsJsonRpcNotification=n.isJsonRpcNotification=n.JsonRpcNotificationStruct=n.JsonRpcRequestStruct=n.JsonRpcParamsStruct=n.JsonRpcErrorStruct=n.JsonRpcIdStruct=n.JsonRpcVersionStruct=n.jsonrpc2=n.getJsonSize=n.getSafeJson=n.isValidJson=n.JsonStruct=n.UnsafeJsonStruct=n.exactOptional=n.object=void 0;const r=e("@metamask/superstruct"),s=e("./assert.cjs"),i=e("./misc.cjs");function a({path:e,branch:t}){const n=e[e.length-1];return(0,i.hasProperty)(t[t.length-2],n)}function o(e){return new r.Struct({...e,type:`optional ${e.type}`,validator:(t,n)=>!a(n)||e.validator(t,n),refiner:(t,n)=>!a(n)||e.refiner(t,n)})}n.object=e=>(0,r.object)(e),n.exactOptional=o;function A(e){return(0,r.create)(e,n.JsonStruct)}n.UnsafeJsonStruct=(0,r.union)([(0,r.literal)(null),(0,r.boolean)(),(0,r.define)("finite number",(e=>(0,r.is)(e,(0,r.number)())&&Number.isFinite(e))),(0,r.string)(),(0,r.array)((0,r.lazy)((()=>n.UnsafeJsonStruct))),(0,r.record)((0,r.string)(),(0,r.lazy)((()=>n.UnsafeJsonStruct)))]),n.JsonStruct=(0,r.coerce)(n.UnsafeJsonStruct,(0,r.any)(),(e=>((0,s.assertStruct)(e,n.UnsafeJsonStruct),JSON.parse(JSON.stringify(e,((e,t)=>"__proto__"===e||"constructor"===e?undefined:t)))))),n.isValidJson=function(e){try{return A(e),!0}catch{return!1}},n.getSafeJson=A,n.getJsonSize=function(e){(0,s.assertStruct)(e,n.JsonStruct,"Invalid JSON value");const t=JSON.stringify(e);return(new TextEncoder).encode(t).byteLength},n.jsonrpc2="2.0",n.JsonRpcVersionStruct=(0,r.literal)(n.jsonrpc2),n.JsonRpcIdStruct=(0,r.nullable)((0,r.union)([(0,r.number)(),(0,r.string)()])),n.JsonRpcErrorStruct=(0,n.object)({code:(0,r.integer)(),message:(0,r.string)(),data:o(n.JsonStruct),stack:o((0,r.string)())}),n.JsonRpcParamsStruct=(0,r.union)([(0,r.record)((0,r.string)(),n.JsonStruct),(0,r.array)(n.JsonStruct)]),n.JsonRpcRequestStruct=(0,n.object)({id:n.JsonRpcIdStruct,jsonrpc:n.JsonRpcVersionStruct,method:(0,r.string)(),params:o(n.JsonRpcParamsStruct)}),n.JsonRpcNotificationStruct=(0,n.object)({jsonrpc:n.JsonRpcVersionStruct,method:(0,r.string)(),params:o(n.JsonRpcParamsStruct)}),n.isJsonRpcNotification=function(e){return(0,r.is)(e,n.JsonRpcNotificationStruct)},n.assertIsJsonRpcNotification=function(e,t){(0,s.assertStruct)(e,n.JsonRpcNotificationStruct,"Invalid JSON-RPC notification",t)},n.isJsonRpcRequest=function(e){return(0,r.is)(e,n.JsonRpcRequestStruct)},n.assertIsJsonRpcRequest=function(e,t){(0,s.assertStruct)(e,n.JsonRpcRequestStruct,"Invalid JSON-RPC request",t)},n.PendingJsonRpcResponseStruct=(0,r.object)({id:n.JsonRpcIdStruct,jsonrpc:n.JsonRpcVersionStruct,result:(0,r.optional)((0,r.unknown)()),error:(0,r.optional)(n.JsonRpcErrorStruct)}),n.JsonRpcSuccessStruct=(0,n.object)({id:n.JsonRpcIdStruct,jsonrpc:n.JsonRpcVersionStruct,result:n.JsonStruct}),n.JsonRpcFailureStruct=(0,n.object)({id:n.JsonRpcIdStruct,jsonrpc:n.JsonRpcVersionStruct,error:n.JsonRpcErrorStruct}),n.JsonRpcResponseStruct=(0,r.union)([n.JsonRpcSuccessStruct,n.JsonRpcFailureStruct]),n.isPendingJsonRpcResponse=function(e){return(0,r.is)(e,n.PendingJsonRpcResponseStruct)},n.assertIsPendingJsonRpcResponse=function(e,t){(0,s.assertStruct)(e,n.PendingJsonRpcResponseStruct,"Invalid pending JSON-RPC response",t)},n.isJsonRpcResponse=function(e){return(0,r.is)(e,n.JsonRpcResponseStruct)},n.assertIsJsonRpcResponse=function(e,t){(0,s.assertStruct)(e,n.JsonRpcResponseStruct,"Invalid JSON-RPC response",t)},n.isJsonRpcSuccess=function(e){return(0,r.is)(e,n.JsonRpcSuccessStruct)},n.assertIsJsonRpcSuccess=function(e,t){(0,s.assertStruct)(e,n.JsonRpcSuccessStruct,"Invalid JSON-RPC success response",t)},n.isJsonRpcFailure=function(e){return(0,r.is)(e,n.JsonRpcFailureStruct)},n.assertIsJsonRpcFailure=function(e,t){(0,s.assertStruct)(e,n.JsonRpcFailureStruct,"Invalid JSON-RPC failure response",t)},n.isJsonRpcError=function(e){return(0,r.is)(e,n.JsonRpcErrorStruct)},n.assertIsJsonRpcError=function(e,t){(0,s.assertStruct)(e,n.JsonRpcErrorStruct,"Invalid JSON-RPC error",t)},n.getJsonRpcIdValidator=function(e){const{permitEmptyString:t,permitFractions:n,permitNull:r}={permitEmptyString:!0,permitFractions:!1,permitNull:!0,...e};return e=>Boolean("number"==typeof e&&(n||Number.isInteger(e))||"string"==typeof e&&(t||e.length>0)||r&&null===e)}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/json.cjs"}],[1281,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/keyring.cjs"}],[1282,{debug:4226},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.createModuleLogger=n.createProjectLogger=void 0;const s=(0,r(e("debug")).default)("metamask");n.createProjectLogger=function(e){return s.extend(e)},n.createModuleLogger=function(e,t){return e.extend(t)}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/logging.cjs"}],[1283,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.calculateNumberSize=n.calculateStringSize=n.isASCII=n.isPlainObject=n.ESCAPE_CHARACTERS_REGEXP=n.JsonSize=n.getKnownPropertyNames=n.hasProperty=n.isObject=n.isNullOrUndefined=n.isNonEmptyArray=void 0,n.isNonEmptyArray=function(e){return Array.isArray(e)&&e.length>0},n.isNullOrUndefined=function(e){return null===e||e===undefined},n.isObject=function(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)};function r(e){return e.charCodeAt(0)<=127}n.hasProperty=(e,t)=>Object.hasOwnProperty.call(e,t),n.getKnownPropertyNames=function(e){return Object.getOwnPropertyNames(e)},function(e){e[e.Null=4]="Null",e[e.Comma=1]="Comma",e[e.Wrapper=1]="Wrapper",e[e.True=4]="True",e[e.False=5]="False",e[e.Quote=1]="Quote",e[e.Colon=1]="Colon",e[e.Date=24]="Date"}(n.JsonSize||(n.JsonSize={})),n.ESCAPE_CHARACTERS_REGEXP=/"|\\|\n|\r|\t/gu,n.isPlainObject=function(e){if("object"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}},n.isASCII=r,n.calculateStringSize=function(e){return e.split("").reduce(((e,t)=>r(t)?e+1:e+2),0)+(e.match(n.ESCAPE_CHARACTERS_REGEXP)??[]).length},n.calculateNumberSize=function(e){return e.toString().length}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/misc.cjs"}],[1284,{"./assert.cjs":1269,"./hex.cjs":1278},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.hexToBigInt=n.hexToNumber=n.bigIntToHex=n.numberToHex=void 0;const r=e("./assert.cjs"),s=e("./hex.cjs");n.numberToHex=e=>((0,r.assert)("number"==typeof e,"Value must be a number."),(0,r.assert)(e>=0,"Value must be a non-negative number."),(0,r.assert)(Number.isSafeInteger(e),"Value is not a safe integer. Use `bigIntToHex` instead."),(0,s.add0x)(e.toString(16)));n.bigIntToHex=e=>((0,r.assert)("bigint"==typeof e,"Value must be a bigint."),(0,r.assert)(e>=0,"Value must be a non-negative bigint."),(0,s.add0x)(e.toString(16)));n.hexToNumber=e=>{(0,s.assertIsHexString)(e);const t=parseInt(e,16);return(0,r.assert)(Number.isSafeInteger(t),"Value is not a safe integer. Use `hexToBigInt` instead."),t};n.hexToBigInt=e=>((0,s.assertIsHexString)(e),BigInt((0,s.add0x)(e)))}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/number.cjs"}],[1285,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/opaque.cjs"}],[1286,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.createDeferredPromise=void 0,n.createDeferredPromise=function({suppressUnhandledRejection:e=!1}={}){let t,n;const r=new Promise(((e,r)=>{t=e,n=r}));return e&&r.catch((e=>{})),{promise:r,resolve:t,reject:n}}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/promise.cjs"}],[1287,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.timeSince=n.inMilliseconds=n.Duration=void 0,function(e){e[e.Millisecond=1]="Millisecond",e[e.Second=1e3]="Second",e[e.Minute=6e4]="Minute",e[e.Hour=36e5]="Hour",e[e.Day=864e5]="Day",e[e.Week=6048e5]="Week",e[e.Year=31536e6]="Year"}(n.Duration||(n.Duration={}));const r=(e,t)=>{if(!(e=>Number.isInteger(e)&&e>=0)(e))throw new Error(`"${t}" must be a non-negative integer. Received: "${e}".`)};n.inMilliseconds=function(e,t){return r(e,"count"),e*t},n.timeSince=function(e){return r(e,"timestamp"),Date.now()-e}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/time.cjs"}],[1288,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/transaction-types.cjs"}],[1289,{"./assert.cjs":1269,"@metamask/superstruct":2872,semver:5547},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.satisfiesVersionRange=n.gtRange=n.gtVersion=n.assertIsSemVerRange=n.assertIsSemVerVersion=n.isValidSemVerRange=n.isValidSemVerVersion=n.VersionRangeStruct=n.VersionStruct=void 0;const r=e("@metamask/superstruct"),s=e("semver"),i=e("./assert.cjs");n.VersionStruct=(0,r.refine)((0,r.string)(),"Version",(e=>null!==(0,s.valid)(e)||`Expected SemVer version, got "${e}"`)),n.VersionRangeStruct=(0,r.refine)((0,r.string)(),"Version range",(e=>null!==(0,s.validRange)(e)||`Expected SemVer range, got "${e}"`)),n.isValidSemVerVersion=function(e){return(0,r.is)(e,n.VersionStruct)},n.isValidSemVerRange=function(e){return(0,r.is)(e,n.VersionRangeStruct)},n.assertIsSemVerVersion=function(e){(0,i.assertStruct)(e,n.VersionStruct)},n.assertIsSemVerRange=function(e){(0,i.assertStruct)(e,n.VersionRangeStruct)},n.gtVersion=function(e,t){return(0,s.gt)(e,t)},n.gtRange=function(e,t){return(0,s.gtr)(e,t)},n.satisfiesVersionRange=function(e,t){return(0,s.satisfies)(e,t,{includePrerelease:!0})}}}},{package:"@metamask/abi-utils>@metamask/utils",file:"node_modules/@metamask/abi-utils/node_modules/@metamask/utils/dist/versions.cjs"}],[1297,{"./errors.cjs":1298,"@metamask/base-controller":1383,"@metamask/rpc-errors":2554,nanoid:4959},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},p=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.ApprovalController=n.APPROVAL_TYPE_RESULT_SUCCESS=n.APPROVAL_TYPE_RESULT_ERROR=n.ORIGIN_METAMASK=void 0;const m=e("@metamask/base-controller"),E=e("@metamask/rpc-errors"),C=e("nanoid"),I=e("./errors.cjs");n.ORIGIN_METAMASK="metamask",n.APPROVAL_TYPE_RESULT_ERROR="result_error",n.APPROVAL_TYPE_RESULT_SUCCESS="result_success";const B="ApprovalController",w={pendingApprovals:{persist:!1,anonymous:!0},pendingApprovalCount:{persist:!1,anonymous:!1},approvalFlows:{persist:!1,anonymous:!1}};class y extends m.BaseController{constructor({messenger:e,showApprovalRequest:t,state:n={},typesExcludedFromRateLimiting:A=[]}){super({name:B,metadata:w,messenger:e,state:{pendingApprovals:{},pendingApprovalCount:0,approvalFlows:[],...n}}),r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),h(this,s,new Map,"f"),h(this,i,new Map,"f"),h(this,a,t,"f"),h(this,o,A,"f"),this.registerMessageHandlers()}registerMessageHandlers(){this.messagingSystem.registerActionHandler(`${B}:clearRequests`,this.clear.bind(this)),this.messagingSystem.registerActionHandler(`${B}:addRequest`,((e,t)=>t?this.addAndShowApprovalRequest(e):this.add(e))),this.messagingSystem.registerActionHandler(`${B}:hasRequest`,this.has.bind(this)),this.messagingSystem.registerActionHandler(`${B}:acceptRequest`,this.accept.bind(this)),this.messagingSystem.registerActionHandler(`${B}:rejectRequest`,this.reject.bind(this)),this.messagingSystem.registerActionHandler(`${B}:updateRequestState`,this.updateRequestState.bind(this)),this.messagingSystem.registerActionHandler(`${B}:startFlow`,this.startFlow.bind(this)),this.messagingSystem.registerActionHandler(`${B}:endFlow`,this.endFlow.bind(this)),this.messagingSystem.registerActionHandler(`${B}:setFlowLoadingText`,this.setFlowLoadingText.bind(this)),this.messagingSystem.registerActionHandler(`${B}:showSuccess`,this.success.bind(this)),this.messagingSystem.registerActionHandler(`${B}:showError`,this.error.bind(this))}addAndShowApprovalRequest(e){const t=p(this,r,"m",A).call(this,e.origin,e.type,e.id,e.requestData,e.requestState,e.expectsResult);return p(this,a,"f").call(this),t}add(e){return p(this,r,"m",A).call(this,e.origin,e.type,e.id,e.requestData,e.requestState,e.expectsResult)}get(e){return this.state.pendingApprovals[e]}getApprovalCount(e={}){if(!e.origin&&!e.type)throw new Error("Must specify origin, type, or both.");const{origin:t,type:n}=e;if(t&&n)return p(this,i,"f").get(t)?.get(n)||0;if(t)return Array.from((p(this,i,"f").get(t)||new Map).values()).reduce(((e,t)=>e+t),0);let r=0;for(const e of Object.values(this.state.pendingApprovals))e.type===n&&(r+=1);return r}getTotalApprovalCount(){return this.state.pendingApprovalCount}has(e={}){const{id:t,origin:n,type:r}=e;if(t){if("string"!=typeof t)throw new Error("May not specify non-string id.");return p(this,s,"f").has(t)}if(r&&"string"!=typeof r)throw new Error("May not specify non-string type.");if(n){if("string"!=typeof n)throw new Error("May not specify non-string origin.");return r?Boolean(p(this,i,"f").get(n)?.get(r)):p(this,i,"f").has(n)}if(r){for(const e of Object.values(this.state.pendingApprovals))if(e.type===r)return!0;return!1}throw new Error("Must specify a valid combination of id, origin, and type.")}accept(e,t,n){const s=this.get(e),i=p(this,r,"m",d).call(this,e);let a=!1;return n?.deleteAfterResult&&n.waitForResult||(p(this,r,"m",g).call(this,e),a=!0),new Promise(((r,a)=>{const o={success:e=>r({value:e}),error:a};if(n?.waitForResult&&!s.expectsResult)return void a(new I.ApprovalRequestNoResultSupportError(e));const A=n?.waitForResult?o:undefined,c=s.expectsResult?{value:t,resultCallbacks:A}:t;i.resolve(c),n?.waitForResult||r({value:undefined})})).finally((()=>{a||p(this,r,"m",g).call(this,e)}))}reject(e,t){const n=p(this,r,"m",d).call(this,e);p(this,r,"m",g).call(this,e),n.reject(t)}clear(e){for(const t of p(this,s,"f").keys())this.reject(t,e);p(this,i,"f").clear(),this.update((e=>{e.pendingApprovals={},e.pendingApprovalCount=0}))}updateRequestState(e){if(!this.state.pendingApprovals[e.id])throw new I.ApprovalRequestNotFoundError(e.id);this.update((t=>{t.pendingApprovals[e.id].requestState=e.requestState}))}startFlow(e={}){const t=e.id??(0,C.nanoid)(),n=e.loadingText??null;return this.update((e=>{e.approvalFlows.push({id:t,loadingText:n})})),!1!==e.show&&p(this,a,"f").call(this),{id:t,loadingText:n}}endFlow({id:e}){if(!this.state.approvalFlows.length)throw new I.NoApprovalFlowsError;if(e!==this.state.approvalFlows.slice(-1)[0].id)throw new I.EndInvalidFlowError(e,this.state.approvalFlows.map((e=>e.id)));this.update((e=>{e.approvalFlows.pop()}))}setFlowLoadingText({id:e,loadingText:t}){const n=this.state.approvalFlows.findIndex((t=>t.id===e));if(-1===n)throw new I.MissingApprovalFlowError(e);this.update((e=>{e.approvalFlows[n].loadingText=t}))}async success(e={}){return await p(this,r,"m",f).call(this,n.APPROVAL_TYPE_RESULT_SUCCESS,e,{message:e.message,header:e.header,title:e.title,icon:e.icon}),{}}async error(e={}){return await p(this,r,"m",f).call(this,n.APPROVAL_TYPE_RESULT_ERROR,e,{error:e.error,header:e.header,title:e.title,icon:e.icon}),{}}}n.ApprovalController=y,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,r=new WeakSet,A=function(e,t,n=(0,C.nanoid)(),i,a,A){if(p(this,r,"m",c).call(this,n,e,t,i,a),!p(this,o,"f").includes(t)&&this.has({origin:e,type:t}))throw E.rpcErrors.resourceUnavailable(((e,t)=>`Request of type '${t}' already pending for origin ${e}. Please wait.`)(e,t));return new Promise(((o,c)=>{p(this,s,"f").set(n,{resolve:o,reject:c}),p(this,r,"m",u).call(this,e,t),p(this,r,"m",l).call(this,n,e,t,i,a,A)}))},c=function(e,t,n,r,i){let a=null;if(e&&"string"==typeof e?p(this,s,"f").has(e)?a=`Approval request with id '${e}' already exists.`:t&&"string"==typeof t?n&&"string"==typeof n?r&&("object"!=typeof r||Array.isArray(r))?a="Request data must be a plain object if specified.":i&&("object"!=typeof i||Array.isArray(i))&&(a="Request state must be a plain object if specified."):a="Must specify non-empty string type.":a="Must specify non-empty string origin.":a="Must specify non-empty string id.",a)throw E.rpcErrors.internal(a)},u=function(e,t){let n=p(this,i,"f").get(e);n||(n=new Map,p(this,i,"f").set(e,n));const r=n.get(t)||0;n.set(t,r+1)},l=function(e,t,n,r,s,i){const a={id:e,origin:t,type:n,time:Date.now(),requestData:r||null,requestState:s||null,expectsResult:i||!1};this.update((t=>{t.pendingApprovals[e]=a,t.pendingApprovalCount=Object.keys(t.pendingApprovals).length}))},g=function(e){if(!p(this,s,"f").has(e))throw new I.ApprovalRequestNotFoundError(e);p(this,s,"f").delete(e);const{origin:t,type:n}=this.state.pendingApprovals[e],r=p(this,i,"f").get(t),a=this.getApprovalCount({origin:t}),o=r.get(n);1===a?p(this,i,"f").delete(t):r.set(n,o-1),this.update((t=>{delete t.pendingApprovals[e],t.pendingApprovalCount=Object.keys(t.pendingApprovals).length}))},d=function(e){const t=p(this,s,"f").get(e);if(!t)throw new I.ApprovalRequestNotFoundError(e);return t},f=async function(e,t,r){try{await this.addAndShowApprovalRequest({origin:n.ORIGIN_METAMASK,type:e,requestData:r})}catch(e){console.info("Failed to display result page",e)}finally{if(t.flowToEnd)try{this.endFlow({id:t.flowToEnd})}catch(e){console.info("Failed to end flow",{id:t.flowToEnd,error:e})}}},n.default=y}}},{package:"@metamask/approval-controller",file:"node_modules/@metamask/approval-controller/dist/ApprovalController.cjs"}],[1298,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MissingApprovalFlowError=n.EndInvalidFlowError=n.NoApprovalFlowsError=n.ApprovalRequestNoResultSupportError=n.ApprovalRequestNotFoundError=void 0;class r extends Error{constructor(e){super(`Approval request with id '${e}' not found.`)}}n.ApprovalRequestNotFoundError=r;class s extends Error{constructor(e){super(`Approval acceptance requested result but request with id '${e}' does not support it.`)}}n.ApprovalRequestNoResultSupportError=s;class i extends Error{constructor(){super("No approval flows found.")}}n.NoApprovalFlowsError=i;class a extends Error{constructor(e,t){super(`Attempted to end flow with id '${e}' which does not match current flow with id '${t.slice(-1)[0]}'. All Flows: ${t.join(", ")}`)}}n.EndInvalidFlowError=a;class o extends Error{constructor(e){super(`No approval flows found with id '${e}'.`)}}n.MissingApprovalFlowError=o}}},{package:"@metamask/approval-controller",file:"node_modules/@metamask/approval-controller/dist/errors.cjs"}],[1299,{"./ApprovalController.cjs":1297,"./errors.cjs":1298},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./ApprovalController.cjs"),n),s(e("./errors.cjs"),n)}}},{package:"@metamask/approval-controller",file:"node_modules/@metamask/approval-controller/dist/index.cjs"}],[1300,{"@metamask/controller-utils":1474,"@metamask/eth-query":1701,"@metamask/polling-controller":1339,"@metamask/utils":2950,"async-mutex":3913,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},l=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},g=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.AccountTrackerController=void 0;const d=e("@metamask/controller-utils"),f=g(e("@metamask/eth-query")),h=e("@metamask/polling-controller"),p=e("@metamask/utils"),m=e("async-mutex"),E=e("lodash"),C={accounts:{persist:!0,anonymous:!1},accountsByChainId:{persist:!0,anonymous:!1}};class I extends((0,h.StaticIntervalPollingController)()){constructor({interval:e=1e4,state:t,messenger:n,getStakedBalanceForChain:o,includeStakedAssets:A=!1}){const{selectedNetworkClientId:c}=n.call("NetworkController:getState"),{configuration:{chainId:l}}=n.call("NetworkController:getNetworkClientById",c);super({name:"AccountTrackerController",messenger:n,state:{accounts:{},accountsByChainId:{[l]:{}},...t},metadata:C}),r.add(this),s.set(this,new m.Mutex),i.set(this,void 0),a.set(this,void 0),u(this,a,o,"f"),u(this,i,A,"f"),this.setIntervalLength(e),this.messagingSystem.subscribe("AccountsController:selectedEvmAccountChange",(()=>this.refresh()))}syncAccounts(e){const t={...this.state.accounts},n=(0,E.cloneDeep)(this.state.accountsByChainId),r=Object.keys(t);n[e]||(n[e]={},r.forEach((t=>{n[e][t]={balance:"0x0"}})));const s=Object.values(this.messagingSystem.call("AccountsController:listAccounts").map((e=>(0,d.toChecksumHexAddress)(e.address)))),i=s.filter((e=>!r.includes(e))),a=r.filter((e=>!s.includes(e)));i.forEach((e=>{t[e]={balance:"0x0"}})),Object.keys(n).forEach((e=>{i.forEach((t=>{n[e][t]={balance:"0x0"}}))})),a.forEach((e=>{delete t[e]})),Object.keys(n).forEach((e=>{a.forEach((t=>{delete n[e][t]}))})),this.update((e=>{e.accounts=t,e.accountsByChainId=n}))}async _executePoll({networkClientId:e}){this.refresh(e)}async refresh(e){const t=this.messagingSystem.call("AccountsController:getSelectedAccount"),n=await l(this,s,"f").acquire();try{const{chainId:n,ethQuery:s}=l(this,r,"m",A).call(this,e);this.syncAccounts(n);const{accounts:u,accountsByChainId:g}=this.state,{isMultiAccountBalancesEnabled:f}=this.messagingSystem.call("PreferencesController:getState"),h=f?Object.keys(u):[(0,d.toChecksumHexAddress)(t.address)],p={...g[n]};for(const t of h){const n=await l(this,r,"m",c).call(this,t,s);if(n&&(p[t]={balance:n}),l(this,i,"f")){const n=await l(this,a,"f").call(this,t,e);n&&(p[t]={...p[t],stakedBalance:n})}}this.update((e=>{n===l(this,r,"m",o).call(this)&&(e.accounts=p),e.accountsByChainId[n]=p}))}finally{n()}}async syncBalanceWithAddresses(e,t){const{ethQuery:n}=l(this,r,"m",A).call(this,t);return await Promise.all(e.map((e=>(0,d.safelyExecuteWithTimeout)((async()=>{(0,p.assert)(n,"Provider not set.");const r=await(0,d.query)(n,"getBalance",[e]);let s;return l(this,i,"f")&&(s=await l(this,a,"f").call(this,e,t)),[e,r,s]}))))).then((e=>e.reduce(((e,t)=>{if(!t)return e;const[n,r,s]=t;return{...e,[n]:{balance:r,stakedBalance:s}}}),{})))}}n.AccountTrackerController=I,s=new WeakMap,i=new WeakMap,a=new WeakMap,r=new WeakSet,o=function(){const{selectedNetworkClientId:e}=this.messagingSystem.call("NetworkController:getState"),{configuration:{chainId:t}}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);return t},A=function(e){const t=e??this.messagingSystem.call("NetworkController:getState").selectedNetworkClientId,{configuration:{chainId:n},provider:r}=this.messagingSystem.call("NetworkController:getNetworkClientById",t);return{chainId:n,ethQuery:new f.default(r)}},c=async function(e,t){return await(0,d.safelyExecuteWithTimeout)((async()=>((0,p.assert)(t,"Provider not set."),await(0,d.query)(t,"getBalance",[e]))))},n.default=I}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/AccountTrackerController.cjs"}],[1301,{"./Standards/ERC20Standard.cjs":1315,"./Standards/NftStandards/ERC1155/ERC1155Standard.cjs":1316,"./Standards/NftStandards/ERC721/ERC721Standard.cjs":1317,"./assetsUtil.cjs":1325,"@ethersproject/bignumber":498,"@ethersproject/contracts":507,"@ethersproject/providers":545,"@metamask/controller-utils":1474,"@metamask/utils":2950,"single-call-balance-checker-abi":5580},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},g=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},d=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.AssetsContractController=n.MISSING_PROVIDER_ERROR=n.STAKING_CONTRACT_ADDRESS_BY_CHAINID=n.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID=void 0;const f=e("@ethersproject/bignumber"),h=e("@ethersproject/contracts"),p=e("@ethersproject/providers"),m=e("@metamask/controller-utils"),E=e("@metamask/utils"),C=d(e("single-call-balance-checker-abi")),I=e("./assetsUtil.cjs"),B=e("./Standards/ERC20Standard.cjs"),w=e("./Standards/NftStandards/ERC1155/ERC1155Standard.cjs"),y=e("./Standards/NftStandards/ERC721/ERC721Standard.cjs");n.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID={[I.SupportedTokenDetectionNetworks.mainnet]:"0xb1f8e55c7f64d203c1400b9d8555d050f94adf39",[I.SupportedTokenDetectionNetworks.bsc]:"0x2352c63A83f9Fd126af8676146721Fa00924d7e4",[I.SupportedTokenDetectionNetworks.polygon]:"0x2352c63A83f9Fd126af8676146721Fa00924d7e4",[I.SupportedTokenDetectionNetworks.avax]:"0xD023D153a0DFa485130ECFdE2FAA7e612EF94818",[I.SupportedTokenDetectionNetworks.aurora]:"0x1286415D333855237f89Df27D388127181448538",[I.SupportedTokenDetectionNetworks.linea_goerli]:"0x10dAd7Ca3921471f616db788D9300DC97Db01783",[I.SupportedTokenDetectionNetworks.linea_mainnet]:"0xF62e6a41561b3650a69Bb03199C735e3E3328c0D",[I.SupportedTokenDetectionNetworks.arbitrum]:"0x151E24A486D7258dd7C33Fb67E4bB01919B7B32c",[I.SupportedTokenDetectionNetworks.optimism]:"0xB1c568e9C3E6bdaf755A60c7418C269eb11524FC",[I.SupportedTokenDetectionNetworks.base]:"0x6AA75276052D96696134252587894ef5FFA520af",[I.SupportedTokenDetectionNetworks.zksync]:"0x458fEd3144680a5b8bcfaa0F9594aa19B4Ea2D34",[I.SupportedTokenDetectionNetworks.cronos]:"0x768ca200f0fc702ac9ea502498c18f5eff176378",[I.SupportedTokenDetectionNetworks.celo]:"0x6aa75276052d96696134252587894ef5ffa520af",[I.SupportedTokenDetectionNetworks.gnosis]:"0x6aa75276052d96696134252587894ef5ffa520af",[I.SupportedTokenDetectionNetworks.fantom]:"0x6aa75276052d96696134252587894ef5ffa520af",[I.SupportedTokenDetectionNetworks.polygon_zkevm]:"0x6aa75276052d96696134252587894ef5ffa520af",[I.SupportedTokenDetectionNetworks.moonbeam]:"0x6aa75276052d96696134252587894ef5ffa520af",[I.SupportedTokenDetectionNetworks.moonriver]:"0x6aa75276052d96696134252587894ef5ffa520af"},n.STAKING_CONTRACT_ADDRESS_BY_CHAINID={[I.SupportedStakedBalanceNetworks.mainnet]:"0x4fef9d741011476750a243ac70b9789a63dd47df",[I.SupportedStakedBalanceNetworks.holesky]:"0x37bf0883c27365cffcd0c4202918df930989891f"},n.MISSING_PROVIDER_ERROR="AssetsContractController failed to set the provider correctly. A provider must be set for this method to be available";const Q="AssetsContractController";class b{constructor({messenger:e,chainId:t}){r.add(this),this.name=Q,s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),this.messagingSystem=e,l(this,s,undefined,"f"),l(this,i,m.IPFS_DEFAULT_GATEWAY_URL,"f"),l(this,a,t,"f"),g(this,r,"m",o).call(this),g(this,r,"m",A).call(this)}setProvider(e){l(this,s,e,"f")}get ipfsGateway(){return g(this,i,"f")}get chainId(){return g(this,a,"f")}getERC20Standard(e){const t=g(this,r,"m",c).call(this,e);return new B.ERC20Standard(t)}getERC721Standard(e){const t=g(this,r,"m",c).call(this,e);return new y.ERC721Standard(t)}getERC1155Standard(e){const t=g(this,r,"m",c).call(this,e);return new w.ERC1155Standard(t)}async getERC20BalanceOf(e,t,n){return this.getERC20Standard(n).getBalanceOf(e,t)}async getERC20TokenDecimals(e,t){return this.getERC20Standard(t).getTokenDecimals(e)}async getERC20TokenName(e,t){return this.getERC20Standard(t).getTokenName(e)}async getERC721NftTokenId(e,t,n,r){return this.getERC721Standard(r).getNftTokenId(e,t,n)}async getTokenStandardAndDetails(e,t,n,s){g(this,r,"m",c).call(this,s);try{const t=this.getERC721Standard(s);return{...await t.getDetails(e,g(this,i,"f"),n)}}catch{}try{const t=this.getERC1155Standard(s);return{...await t.getDetails(e,g(this,i,"f"),n)}}catch{}try{const n=this.getERC20Standard(s);return{...await n.getDetails(e,t)}}catch{}throw new Error("Unable to determine contract standard")}async getERC721TokenURI(e,t,n){return this.getERC721Standard(n).getTokenURI(e,t)}async getERC721AssetName(e,t){return this.getERC721Standard(t).getAssetName(e)}async getERC721AssetSymbol(e,t){return this.getERC721Standard(t).getAssetSymbol(e)}async getERC721OwnerOf(e,t,n){return this.getERC721Standard(n).getOwnerOf(e,t)}async getERC1155TokenURI(e,t,n){return this.getERC1155Standard(n).getTokenURI(e,t)}async getERC1155BalanceOf(e,t,n,r){return this.getERC1155Standard(r).getBalanceOf(t,e,n)}async transferSingleERC1155(e,t,n,r,s,i){return this.getERC1155Standard(i).transferSingle(e,t,n,r,s)}async getBalancesInSingleCall(e,t,s){const i=g(this,r,"m",u).call(this,s),a=g(this,r,"m",c).call(this,s);if(!(i in n.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID))return{};const o=n.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID[i],A=new h.Contract(o,C.default,a),l=await A.balances([e],t),d={};return l.length>0&&t.forEach(((e,t)=>{const n=l[t];"0"!==String(n)&&(d[e]=n)})),d}async getStakedBalanceForChain(e,t){const s=g(this,r,"m",u).call(this,t),i=g(this,r,"m",c).call(this,t);let a=f.BigNumber.from(0);if(![I.SupportedStakedBalanceNetworks.mainnet,I.SupportedStakedBalanceNetworks.holesky].includes(s))return undefined;if(!(s in n.STAKING_CONTRACT_ADDRESS_BY_CHAINID))return undefined;const o=n.STAKING_CONTRACT_ADDRESS_BY_CHAINID[s],A=[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getShares",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"shares",type:"uint256"}],name:"convertToAssets",outputs:[{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"}];try{const t=new h.Contract(o,A,i),n=await t.getShares(e);n.lte(0)||(a=await t.convertToAssets(n.toString()))}catch(e){console.error(e)}return a.toHexString()}}n.AssetsContractController=b,s=new WeakMap,i=new WeakMap,a=new WeakMap,r=new WeakSet,o=function(){const e=["constructor","messagingSystem","setProvider","provider","ipfsGateway","chainId"];(0,E.getKnownPropertyNames)(Object.getPrototypeOf(this)).forEach((t=>{(t=>!e.find((e=>e===t))&&"function"==typeof this[t])(t)&&this.messagingSystem.registerActionHandler(`${Q}:${t}`,this[t].bind(this))}))},A=function(){this.messagingSystem.subscribe("PreferencesController:stateChange",(({ipfsGateway:e})=>{l(this,i,e,"f")})),this.messagingSystem.subscribe("NetworkController:networkDidChange",(({selectedNetworkClientId:e})=>{const t=g(this,r,"m",u).call(this,e);g(this,a,"f")!==t&&(l(this,a,t,"f"),l(this,s,g(this,r,"m",c).call(this),"f"))}))},c=function(e){const t=e?this.messagingSystem.call("NetworkController:getNetworkClientById",e).provider:this.messagingSystem.call("NetworkController:getSelectedNetworkClient")?.provider??g(this,s,"f");if(t===undefined)throw new Error(n.MISSING_PROVIDER_ERROR);return new p.Web3Provider(t)},u=function(e){if(e){const t=this.messagingSystem.call("NetworkController:getNetworkConfigurationByNetworkClientId",e);if(t)return t.chainId}const{selectedNetworkClientId:t}=this.messagingSystem.call("NetworkController:getState"),n=this.messagingSystem.call("NetworkController:getNetworkClientById",t);return n.configuration?.chainId??g(this,a,"f")},n.default=b}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/AssetsContractController.cjs"}],[1302,{"./crypto-compare-service/index.cjs":1328,"@metamask/controller-utils":1474,"@metamask/polling-controller":1339,"async-mutex":3913},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.CurrencyRateController=void 0;const r=e("@metamask/controller-utils"),s=e("@metamask/polling-controller"),i=e("async-mutex"),a=e("./crypto-compare-service/index.cjs"),o={currentCurrency:{persist:!0,anonymous:!0},currencyRates:{persist:!0,anonymous:!0}},A={currentCurrency:"usd",currencyRates:{ETH:{conversionDate:0,conversionRate:0,usdConversionRate:null}}};class c extends((0,s.StaticIntervalPollingController)()){constructor({includeUsdRate:e=!1,interval:t=18e4,messenger:n,state:r,fetchMultiExchangeRate:s=a.fetchMultiExchangeRate}){super({name:"CurrencyRateController",metadata:o,messenger:n,state:{...A,...r}}),this.mutex=new i.Mutex,this.includeUsdRate=e,this.setIntervalLength(t),this.fetchMultiExchangeRate=s}async setCurrentCurrency(e){const t=await this.mutex.acquire(),n=Object.keys(this.state.currencyRates);try{this.update((()=>({...A,currentCurrency:e})))}finally{t()}this.updateExchangeRate(n)}async updateExchangeRate(e){const t=await this.mutex.acquire();try{const{currentCurrency:t}=this.state,n=Object.values(r.TESTNET_TICKER_SYMBOLS),s=e.reduce(((e,t)=>(e[t]=n.includes(t)?r.FALL_BACK_VS_CURRENCY:t,e)),{}),i=await this.fetchMultiExchangeRate(t,[...new Set(Object.values(s))],this.includeUsdRate),a=Object.entries(s).reduce(((e,[n,r])=>{const s=i[r.toLowerCase()];return e[n]={conversionDate:s!==undefined?Date.now()/1e3:null,conversionRate:s?.[t.toLowerCase()]??null,usdConversionRate:s?.usd??null},e}),{});this.update((e=>{e.currencyRates={...e.currencyRates,...a}}))}catch(e){throw console.error("Failed to fetch exchange rates.",e),e}finally{t()}}destroy(){super.destroy(),this.stopAllPolling()}async _executePoll({nativeCurrencies:e}){await this.updateExchangeRate(e)}}n.CurrencyRateController=c,n.default=c}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/CurrencyRateController.cjs"}],[1303,{"./utils.cjs":1305,"@metamask/base-controller":1383,"@metamask/keyring-api":1983,"@metamask/keyring-snap-client":2036,"@metamask/snaps-utils":1358,"@metamask/utils":2950,"async-mutex":3913},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m,E,C,I,B,w,y,Q=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},b=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.MultichainAssetsController=n.getDefaultMultichainAssetsControllerState=void 0;const v=e("@metamask/base-controller"),S=e("@metamask/keyring-api"),k=e("@metamask/keyring-snap-client"),T=e("@metamask/snaps-utils"),P=e("@metamask/utils"),R=e("async-mutex"),x=e("./utils.cjs");function N(){return{accountsAssets:{},assetsMetadata:{}}}n.getDefaultMultichainAssetsControllerState=N;const M={assetsMetadata:{persist:!0,anonymous:!1},accountsAssets:{persist:!0,anonymous:!1}};class O extends v.BaseController{constructor({messenger:e,state:t={}}){super({messenger:e,name:"MultichainAssetsController",metadata:M,state:{accountsAssets:{},assetsMetadata:{},...t}}),r.add(this),s.set(this,void 0),i.set(this,new R.Mutex),Q(this,s,{},"f"),this.messagingSystem.subscribe("AccountsController:accountAdded",(async e=>await b(this,r,"m",o).call(this,e))),this.messagingSystem.subscribe("AccountsController:accountRemoved",(async e=>await b(this,r,"m",g).call(this,e))),this.messagingSystem.subscribe("AccountsController:accountAssetListUpdated",(async e=>await b(this,r,"m",a).call(this,e))),b(this,r,"m",A).call(this)}getAssetMetadata(e){return this.state.assetsMetadata[e]}}n.MultichainAssetsController=O,s=new WeakMap,i=new WeakMap,r=new WeakSet,a=async function(e){return b(this,r,"m",y).call(this,(async()=>b(this,r,"m",c).call(this,e)))},o=async function(e){return b(this,r,"m",y).call(this,(async()=>b(this,r,"m",l).call(this,e)))},A=function(){this.messagingSystem.registerActionHandler("MultichainAssetsController:getAssetMetadata",this.getAssetMetadata.bind(this))},c=async function(e){b(this,r,"m",w).call(this);const t=e.assets;let n=new Set([]);for(const e in t)if((0,P.hasProperty)(t,e)){const{added:r,removed:s}=t[e];if(r.length>0||s.length>0){const t=this.state.accountsAssets[e]||[],i=new Set([...t,...r.filter((e=>(0,P.isCaipAssetType)(e)))]);for(const e of s)i.delete(e);n=new Set([...n,...i]),this.update((t=>{t.accountsAssets[e]=Array.from(i)}))}}await b(this,r,"m",d).call(this,Array.from(n))},u=function(e){return!(0,S.isEvmAccountType)(e.type)&&e.metadata.snap!==undefined},l=async function(e){if(b(this,r,"m",u).call(this,e)&&(b(this,r,"m",w).call(this),e.metadata.snap)){const t=await b(this,r,"m",I).call(this,e.id,e.metadata.snap.id);await b(this,r,"m",d).call(this,t),this.update((n=>{n.accountsAssets[e.id]=t}))}},g=async function(e){this.state.accountsAssets[e]&&this.update((t=>{delete t.accountsAssets[e]}))},d=async function(e){b(this,r,"m",w).call(this);const t=e.filter((e=>!this.state.assetsMetadata[e]));t.length>0&&(t.every((e=>{const{chainId:t}=(0,P.parseCaipAssetType)(e);return Boolean(b(this,r,"m",p).call(this,t))}))||Q(this,s,b(this,r,"m",h).call(this),"f"),await b(this,r,"m",f).call(this,t))},f=async function(e){const t={};for(const n of e){const{chainId:e}=(0,P.parseCaipAssetType)(n);t[e]||(t[e]=[]),t[e].push(n)}let n={};for(const e of Object.keys(t)){const s=t[e],i=b(this,r,"m",p).call(this,e);if(i){const e=await b(this,r,"m",C).call(this,s,i.id);n={...n,...e?.assets??{}}}}this.update((e=>{e.assetsMetadata={...this.state.assetsMetadata,...n}}))},h=function(){const e={},t=b(this,r,"m",m).call(this),n=t.map((e=>b(this,r,"m",E).call(this,e.id)));for(const[r,s]of n.entries()){let n;for(const i of Object.values(s))if(n=(0,x.getChainIdsCaveat)(i),n)for(const s of n)e[s]||(e[s]=[]),e[s].push(t[r])}return e},p=function(e){const t=b(this,s,"f")[e];return t?.[0]},m=function(){return this.messagingSystem.call("SnapController:getAll").filter((e=>e.enabled&&!e.blocked))},E=function(e){return this.messagingSystem.call("PermissionController:getPermissions",e)},C=async function(e,t){try{return await this.messagingSystem.call("SnapController:handleRequest",{snapId:t,origin:"metamask",handler:T.HandlerType.OnAssetsLookup,request:{jsonrpc:"2.0",method:"onAssetLookup",params:{assets:e}}})}catch(e){return console.error(e),undefined}},I=async function(e,t){return await b(this,r,"m",B).call(this,t).listAccountAssets(e)},B=function(e){return new k.KeyringClient({send:async t=>await this.messagingSystem.call("SnapController:handleRequest",{snapId:e,origin:"metamask",handler:T.HandlerType.OnKeyringRequest,request:t})})},w=function(){if(!b(this,i,"f").isLocked())throw new Error("MultichainAssetsControllerError - Attempt to update state")},y=async function(e){return async function(e,t){const n=await e.acquire();try{return await t({releaseLock:n})}finally{n()}}(b(this,i,"f"),e)}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainAssetsController/MultichainAssetsController.cjs"}],[1304,{"./MultichainAssetsController.cjs":1303},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getDefaultMultichainAssetsControllerState=n.MultichainAssetsController=void 0;var r=e("./MultichainAssetsController.cjs");Object.defineProperty(n,"MultichainAssetsController",{enumerable:!0,get:function(){return r.MultichainAssetsController}}),Object.defineProperty(n,"getDefaultMultichainAssetsControllerState",{enumerable:!0,get:function(){return r.getDefaultMultichainAssetsControllerState}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainAssetsController/index.cjs"}],[1305,{"@metamask/snaps-utils":1358},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getChainIdsCaveat=void 0;const r=e("@metamask/snaps-utils");n.getChainIdsCaveat=function(e){if(!e?.caveats)return null;const t=e.caveats.find((e=>e.type===r.SnapCaveatType.ChainIds));return t?t.value:null}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainAssetsController/utils.cjs"}],[1306,{"./constant.cjs":1307,"@metamask/keyring-api":1983,"@metamask/polling-controller":1339,"@metamask/snaps-utils":1358,"async-mutex":3913},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},E=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.MultichainAssetsRatesController=n.getDefaultMultichainAssetsRatesControllerState=void 0;const C=e("@metamask/keyring-api"),I=e("@metamask/polling-controller"),B=e("@metamask/snaps-utils"),w=e("async-mutex"),y=e("./constant.cjs");function Q(){return{conversionRates:{}}}n.getDefaultMultichainAssetsRatesControllerState=Q;const b={conversionRates:{persist:!0,anonymous:!0}};class v extends((0,I.StaticIntervalPollingController)()){constructor({interval:e=18e3,state:t={},messenger:n}){var A,c;super({name:"MultichainAssetsRatesController",messenger:n,state:{conversionRates:{},...t},metadata:b}),r.add(this),s.set(this,new w.Mutex),i.set(this,void 0),a.set(this,void 0),o.set(this,!0),this.setIntervalLength(e),this.messagingSystem.subscribe("KeyringController:lock",(()=>{m(this,o,!1,"f")})),this.messagingSystem.subscribe("KeyringController:unlock",(()=>{m(this,o,!0,"f")})),A=this,({accountsAssets:{set value(e){m(A,a,e,"f")}}.value}=this.messagingSystem.call("MultichainAssetsController:getState")),c=this,({currentCurrency:{set value(e){m(c,i,e,"f")}}.value}=this.messagingSystem.call("CurrencyRateController:getState")),this.messagingSystem.subscribe("CurrencyRateController:stateChange",(async e=>{m(this,i,e.currentCurrency,"f"),await this.updateAssetsRates()})),this.messagingSystem.subscribe("MultichainAssetsController:stateChange",(async e=>{m(this,a,e.accountsAssets,"f"),await this.updateAssetsRates()}))}async _executePoll(){await this.updateAssetsRates()}get isActive(){return E(this,o,"f")}async updateAssetsRates(){const e=await E(this,s,"f").acquire();return(async()=>{if(!this.isActive)return;const e=E(this,r,"m",u).call(this);for(const t of e){const e=E(this,r,"m",l).call(this,t.id);if(0===e?.length)continue;const n=E(this,r,"m",g).call(this,e),s=await E(this,r,"m",p).call(this,{snapId:t?.metadata.snap?.id,handler:B.HandlerType.OnAssetsConversion,params:n}),i=E(this,r,"m",d).call(this,s),a=E(this,r,"m",f).call(this,e,i);E(this,r,"m",h).call(this,a)}})().finally((()=>{e()}))}}n.MultichainAssetsRatesController=v,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,r=new WeakSet,A=function(e){return!(0,C.isEvmAccountType)(e.type)&&e.metadata.snap!==undefined},c=function(){return this.messagingSystem.call("AccountsController:listMultichainAccounts")},u=function(){return E(this,r,"m",c).call(this).filter((e=>E(this,r,"m",A).call(this,e)))},l=function(e){return E(this,a,"f")?.[e]??[]},g=function(e){const t=y.MAP_CAIP_CURRENCIES[E(this,i,"f")]??y.MAP_CAIP_CURRENCIES.usd;return{conversions:e.map((e=>({from:e,to:t})))}},d=function(e){const{conversionRates:t}=e;return Object.fromEntries(Object.entries(t).map((([e,t])=>[e,Object.values(t)[0]])))},f=function(e,t){const n={};for(const r of e)t[r]&&(n[r]={...t[r],currency:y.MAP_CAIP_CURRENCIES[E(this,i,"f")]??y.MAP_CAIP_CURRENCIES.usd});return n},h=function(e){this.update((t=>{t.conversionRates={...t.conversionRates,...e}}))},p=async function({snapId:e,handler:t,params:n}){return this.messagingSystem.call("SnapController:handleRequest",{snapId:e,origin:"metamask",handler:t,request:{jsonrpc:"2.0",method:t,params:n}})}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs"}],[1307,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MAP_CAIP_CURRENCIES=void 0,n.MAP_CAIP_CURRENCIES={btc:"bip122:000000000019d6689c085ae165831e93/slip44:0",eth:"eip155:1/slip44:60",ltc:"bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2",bch:"bip122:000000000000000000651ef99cb9fcbe/slip44:145",bnb:"cosmos:Binance-Chain-Tigris/slip44:714",eos:"eos:aca376f2/slip44:194",xrp:"xrpl:mainnet/slip44:144",xlm:"stellar:pubnet/slip44:148",link:"eip155:1/erc20:0x514910771af9Ca656af840dff83E8264EcF986CA",dot:"polkadot:91b171bb158e2d3848fa23a9f1c25182/slip44:354",yfi:"eip155:1/erc20:0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e",usd:"swift:0/iso4217:USD",aed:"swift:0/iso4217:AED",ars:"swift:0/iso4217:ARS",aud:"swift:0/iso4217:AUD",bdt:"swift:0/iso4217:BDT",bhd:"swift:0/iso4217:BHD",bmd:"swift:0/iso4217:BMD",brl:"swift:0/iso4217:BRL",cad:"swift:0/iso4217:CAD",chf:"swift:0/iso4217:CHF",clp:"swift:0/iso4217:CLP",cny:"swift:0/iso4217:CNY",czk:"swift:0/iso4217:CZK",dkk:"swift:0/iso4217:DKK",eur:"swift:0/iso4217:EUR",gbp:"swift:0/iso4217:GBP",hkd:"swift:0/iso4217:HKD",huf:"swift:0/iso4217:HUF",idr:"swift:0/iso4217:IDR",ils:"swift:0/iso4217:ILS",inr:"swift:0/iso4217:INR",jpy:"swift:0/iso4217:JPY",krw:"swift:0/iso4217:KRW",kwd:"swift:0/iso4217:KWD",lkr:"swift:0/iso4217:LKR",mmk:"swift:0/iso4217:MMK",mxn:"swift:0/iso4217:MXN",myr:"swift:0/iso4217:MYR",ngn:"swift:0/iso4217:NGN",nok:"swift:0/iso4217:NOK",nzd:"swift:0/iso4217:NZD",php:"swift:0/iso4217:PHP",pkr:"swift:0/iso4217:PKR",pln:"swift:0/iso4217:PLN",rub:"swift:0/iso4217:RUB",sar:"swift:0/iso4217:SAR",sek:"swift:0/iso4217:SEK",sgd:"swift:0/iso4217:SGD",thb:"swift:0/iso4217:THB",try:"swift:0/iso4217:TRY",twd:"swift:0/iso4217:TWD",uah:"swift:0/iso4217:UAH",vef:"swift:0/iso4217:VEF",vnd:"swift:0/iso4217:VND",zar:"swift:0/iso4217:ZAR",xdr:"swift:0/iso4217:XDR",xag:"swift:0/iso4217:XAG",xau:"swift:0/iso4217:XAU"}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainAssetsRatesController/constant.cjs"}],[1308,{"./MultichainAssetsRatesController.cjs":1306},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getDefaultMultichainAssetsRatesControllerState=n.MultichainAssetsRatesController=void 0;var r=e("./MultichainAssetsRatesController.cjs");Object.defineProperty(n,"MultichainAssetsRatesController",{enumerable:!0,get:function(){return r.MultichainAssetsRatesController}}),Object.defineProperty(n,"getDefaultMultichainAssetsRatesControllerState",{enumerable:!0,get:function(){return r.getDefaultMultichainAssetsRatesControllerState}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainAssetsRatesController/index.cjs"}],[1309,{"@metamask/base-controller":1383,"@metamask/keyring-api":1983,"@metamask/keyring-snap-client":2036,"@metamask/snaps-utils":1358},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.MultichainBalancesController=n.getDefaultMultichainBalancesControllerState=void 0;const h=e("@metamask/base-controller"),p=e("@metamask/keyring-api"),m=e("@metamask/keyring-snap-client"),E=e("@metamask/snaps-utils");function C(){return{balances:{}}}n.getDefaultMultichainBalancesControllerState=C;const I={balances:{persist:!0,anonymous:!1}};class B extends h.BaseController{constructor({messenger:e,state:t={}}){super({messenger:e,name:"MultichainBalancesController",metadata:I,state:{balances:{},...t}}),r.add(this);for(const e of f(this,r,"m",a).call(this))this.updateBalance(e.id);this.messagingSystem.subscribe("AccountsController:accountRemoved",(e=>f(this,r,"m",l).call(this,e))),this.messagingSystem.subscribe("AccountsController:accountBalancesUpdated",(e=>f(this,r,"m",u).call(this,e))),this.messagingSystem.subscribe("MultichainAssetsController:stateChange",(async e=>{for(const t of Object.keys(e.accountsAssets))await f(this,r,"m",s).call(this,t,e.accountsAssets[t])}))}async updateBalance(e){await f(this,r,"m",s).call(this,e,f(this,r,"m",o).call(this,e))}}n.MultichainBalancesController=B,r=new WeakSet,s=async function(e,t){const{isUnlocked:n}=this.messagingSystem.call("KeyringController:getState");if(n)try{const n=f(this,r,"m",A).call(this,e);if(n.metadata.snap){const s=await f(this,r,"m",g).call(this,n.id,n.metadata.snap.id,t);this.update((t=>{t.balances[e]=s}))}}catch(t){console.error(`Failed to fetch balances for account ${e}:`,t)}},i=function(){return this.messagingSystem.call("AccountsController:listMultichainAccounts")},a=function(){return f(this,r,"m",i).call(this).filter((e=>f(this,r,"m",c).call(this,e)))},o=function(e){return this.messagingSystem.call("MultichainAssetsController:getState").accountsAssets[e]??[]},A=function(e){const t=f(this,r,"m",a).call(this).find((t=>t.id===e));if(!t)throw new Error(`Unknown account: ${e}`);return t},c=function(e){return!(0,p.isEvmAccountType)(e.type)&&e.metadata.snap!==undefined},u=function(e){this.update((t=>{Object.entries(e.balances).forEach((([e,n])=>{e in t.balances&&Object.assign(t.balances[e],n)}))}))},l=async function(e){e in this.state.balances&&this.update((t=>{delete t.balances[e]}))},g=async function(e,t,n){return await f(this,r,"m",d).call(this,t).getAccountBalances(e,n)},d=function(e){return new m.KeyringClient({send:async t=>await this.messagingSystem.call("SnapController:handleRequest",{snapId:e,origin:"metamask",handler:E.HandlerType.OnKeyringRequest,request:t})})}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainBalancesController/MultichainBalancesController.cjs"}],[1310,{"./MultichainBalancesController.cjs":1309},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MultichainBalancesController=void 0;var r=e("./MultichainBalancesController.cjs");Object.defineProperty(n,"MultichainBalancesController",{enumerable:!0,get:function(){return r.MultichainBalancesController}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/MultichainBalancesController/index.cjs"}],[1311,{"./assetsUtil.cjs":1325,"./constants.cjs":1326,"@ethersproject/address":491,"@metamask/base-controller":1383,"@metamask/controller-utils":1474,"@metamask/rpc-errors":2554,"@metamask/utils":2950,"async-mutex":3913,"bn.js":4026,uuid:5663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m,E,C,I,B,w,y,Q,b,v,S,k,T,P,R,x=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},N=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},M=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.NftController=n.getDefaultNftControllerState=void 0;const O=e("@ethersproject/address"),D=e("@metamask/base-controller"),L=e("@metamask/controller-utils"),F=e("@metamask/rpc-errors"),j=e("@metamask/utils"),U=e("async-mutex"),_=M(e("bn.js")),H=e("uuid"),G=e("./assetsUtil.cjs"),K=e("./constants.cjs"),W={allNftContracts:{persist:!0,anonymous:!1},allNfts:{persist:!0,anonymous:!1},ignoredNfts:{persist:!0,anonymous:!1}},Y="allNfts",J="allNftContracts";n.getDefaultNftControllerState=()=>({allNftContracts:{},allNfts:{},ignoredNfts:[]});class q extends D.BaseController{constructor({chainId:e,ipfsGateway:t=L.IPFS_DEFAULT_GATEWAY_URL,openSeaEnabled:h=!1,useIpfsSubdomains:p=!0,isIpfsGatewayEnabled:m=!0,onNftAdded:E,messenger:C,state:I={}}){super({name:"NftController",metadata:W,messenger:C,state:{...(0,n.getDefaultNftControllerState)(),...I}}),r.add(this),s.set(this,new U.Mutex),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),A.set(this,void 0),c.set(this,void 0),u.set(this,void 0),l.set(this,void 0),x(this,i,this.messagingSystem.call("AccountsController:getSelectedAccount").id,"f"),x(this,a,e,"f"),x(this,o,t,"f"),x(this,A,h,"f"),x(this,c,p,"f"),x(this,u,m,"f"),x(this,l,E,"f"),this.messagingSystem.subscribe("PreferencesController:stateChange",N(this,r,"m",d).bind(this)),this.messagingSystem.subscribe("NetworkController:networkDidChange",N(this,r,"m",g).bind(this)),this.messagingSystem.subscribe("AccountsController:selectedEvmAccountChange",N(this,r,"m",f).bind(this))}getNftApi(){return`${L.NFT_API_BASE_URL}/tokens`}async watchNft(e,t,n,{networkClientId:s,userAddress:i}={}){const a=N(this,r,"m",P).call(this,i);if(!a)return;await N(this,r,"m",k).call(this,e,t,a);const o=await N(this,r,"m",I).call(this,e.address,e.tokenId,s);if(o.standard&&o.standard!==t)throw F.rpcErrors.invalidInput(`Suggested NFT of type ${o.standard} does not match received type ${t}`);const A={asset:{...e,...o},type:t,id:(0,H.v4)(),time:Date.now(),interactingAddress:a,origin:n};await this._requestApproval(A);const{address:c,tokenId:u}=e,{name:l,standard:g,description:d,image:f}=o;await this.addNft(c,u,{nftMetadata:{name:l??null,description:d??null,image:f??null,standard:g??null},userAddress:i,source:K.Source.Dapp,networkClientId:s})}setApiKey(e){this.openSeaApiKey=e}async isNftOwner(e,t,n,{networkClientId:r}={}){try{const s=await this.messagingSystem.call("AssetsContractController:getERC721OwnerOf",t,n,r);return e.toLowerCase()===s.toLowerCase()}catch{}try{return!(await this.messagingSystem.call("AssetsContractController:getERC1155BalanceOf",e,t,n,r)).isZero()}catch{}throw new Error("Unable to verify ownership. Possibly because the standard is not supported or the user's currently selected network does not match the chain of the asset in question.")}async addNftVerifyOwnership(e,t,{userAddress:n,networkClientId:s,source:i}={}){const a=N(this,r,"m",P).call(this,n);if(!await this.isNftOwner(a,e,t,{networkClientId:s}))throw new Error("This NFT is not owned by the user");await this.addNft(e,t,{networkClientId:s,userAddress:a,source:i})}async addNft(e,t,{nftMetadata:n,userAddress:s,source:i=K.Source.Custom,networkClientId:a,chainId:o}={}){const A=N(this,r,"m",P).call(this,s);if(!A)return;const c=(0,L.toChecksumHexAddress)(e),u=o||N(this,r,"m",T).call(this,{networkClientId:a});n=n||await N(this,r,"m",I).call(this,c,t,a);const l=(await N(this,r,"m",Q).call(this,{tokenAddress:c,userAddress:A,networkClientId:a,source:i,nftMetadata:n,chainIdHex:i===K.Source.Detected?u:undefined})).find((e=>e.address.toLowerCase()===c.toLowerCase()));n.chainId||(n.chainId=(0,L.convertHexToDecimal)(u)),l&&await N(this,r,"m",y).call(this,c,t,n,l,u,A,i)}async updateNftMetadata({nfts:e,userAddress:t,networkClientId:n}){const i=N(this,r,"m",P).call(this,t),a=await N(this,s,"f").acquire();try{const t=N(this,r,"m",T).call(this,{networkClientId:n}),s=e.map((e=>({...e,address:(0,L.toChecksumHexAddress)(e.address)}))),a=await Promise.all(s.map((async e=>({nft:e,newMetadata:await N(this,r,"m",I).call(this,e.address,e.tokenId,n)})))),o=[],{allNfts:A}=this.state,c=A[i]?.[t]||[];a.forEach((e=>{const t=c.find((t=>t.address.toLowerCase()===e.nft.address.toLowerCase()&&t.tokenId===e.nft.tokenId));if(t){(0,G.compareNftMetadata)(e.newMetadata,t)&&o.push(e)}})),0!==o.length&&o.forEach((e=>this.updateNft(e.nft,e.newMetadata,i,t)))}finally{a()}}removeNft(e,t,{networkClientId:n,userAddress:s}={}){const i=N(this,r,"m",P).call(this,s),a=N(this,r,"m",T).call(this,{networkClientId:n}),o=(0,L.toChecksumHexAddress)(e);N(this,r,"m",v).call(this,o,t,{chainId:a,userAddress:i});const{allNfts:A}=this.state;(A[i]?.[a]||[]).find((e=>e.address.toLowerCase()===o.toLowerCase()))||N(this,r,"m",S).call(this,o,{chainId:a,userAddress:i})}removeAndIgnoreNft(e,t,{networkClientId:n,userAddress:s}={}){const i=N(this,r,"m",P).call(this,s),a=N(this,r,"m",T).call(this,{networkClientId:n}),o=(0,L.toChecksumHexAddress)(e);N(this,r,"m",b).call(this,o,t,{chainId:a,userAddress:i});const{allNfts:A}=this.state;(A[i]?.[a]||[]).find((e=>e.address.toLowerCase()===o.toLowerCase()))||N(this,r,"m",S).call(this,o,{chainId:a,userAddress:i})}clearIgnoredNfts(){this.update((e=>{e.ignoredNfts=[]}))}async checkAndUpdateSingleNftOwnershipStatus(e,t,{userAddress:n,networkClientId:s}={}){const i=N(this,r,"m",P).call(this,n),a=N(this,r,"m",T).call(this,{networkClientId:s}),{address:o,tokenId:A}=e;let c=e.isCurrentlyOwned;try{c=await this.isNftOwner(i,o,A,{networkClientId:s})}catch{}const u={...e,isCurrentlyOwned:c};if(t)return u;const{allNfts:l}=this.state,g=[...l[i]?.[a]||[]],d=g.findIndex((e=>e.tokenId===A&&e.address.toLowerCase()===o.toLowerCase()));return-1!==d&&(g[d]=u,this.update((e=>{e.allNfts[i]=Object.assign({},e.allNfts[i],{[a]:g})})),N(this,r,"m",h).call(this,g,Y,{userAddress:i,chainId:a})),u}async checkAndUpdateAllNftsOwnershipStatus({networkClientId:e,userAddress:t}={}){const n=N(this,r,"m",P).call(this,t),s=N(this,r,"m",T).call(this,{networkClientId:e}),{allNfts:i}=this.state,a=i[n]?.[s]||[],o=await Promise.all(a.map((async n=>await this.checkAndUpdateSingleNftOwnershipStatus(n,!0,{networkClientId:e,userAddress:t})??n)));N(this,r,"m",h).call(this,o,Y,{userAddress:n,chainId:s})}updateNftFavoriteStatus(e,t,n,{networkClientId:s,userAddress:i}={}){const a=N(this,r,"m",P).call(this,i),o=N(this,r,"m",T).call(this,{networkClientId:s}),{allNfts:A}=this.state,c=[...A[a]?.[o]||[]],u=c.findIndex((n=>n.address===e&&n.tokenId===t));if(-1===u)return;const l={...c[u],favorite:n};c[u]=l,N(this,r,"m",h).call(this,c,Y,{chainId:o,userAddress:a})}findNftByAddressAndTokenId(e,t,n,r){const{allNfts:s}=this.state,i=s[n]?.[r]||[],a=i.findIndex((n=>n.address.toLowerCase()===e.toLowerCase()&&n.tokenId===t));return-1===a?null:{nft:i[a],index:a}}updateNft(e,t,n,s){const{allNfts:i}=this.state,a=i[n]?.[s]||[],o=this.findNftByAddressAndTokenId(e.address,e.tokenId,n,s);if(!o)return;const A={...e,...t},c=[...a.slice(0,o.index),A,...a.slice(o.index+1)];N(this,r,"m",h).call(this,c,Y,{chainId:s,userAddress:n})}resetNftTransactionStatusByTransactionId(e,t,n){const{allNfts:s}=this.state,i=s[t]?.[n]||[],a=i.findIndex((t=>t.transactionId===e));if(-1===a)return!1;const o={...i[a],transactionId:undefined},A=[...i.slice(0,a),o,...i.slice(a+1)];return N(this,r,"m",h).call(this,A,Y,{chainId:n,userAddress:t}),!0}async getNFTContractInfo(e,t){const n=new URL(N(this,r,"m",p).call(this));n.searchParams.append("chainId",t);for(const t of e)n.searchParams.append("contract",t);return await(0,L.handleFetch)(n,{headers:{Version:L.NFT_API_VERSION}})}async _requestApproval(e){return this.messagingSystem.call("ApprovalController:addRequest",{id:e.id,origin:e.origin,type:L.ApprovalType.WatchAsset,requestData:{id:e.id,interactingAddress:e.interactingAddress,asset:{address:e.asset.address,tokenId:e.asset.tokenId,name:e.asset.name,description:e.asset.description,image:e.asset.image,standard:e.asset.standard}}},!0)}resetState(){this.update((()=>(0,n.getDefaultNftControllerState)()))}}n.NftController=q,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,c=new WeakMap,u=new WeakMap,l=new WeakMap,r=new WeakSet,g=function({selectedNetworkClientId:e}){const{configuration:{chainId:t}}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);x(this,a,t,"f")},d=async function({ipfsGateway:e,openSeaEnabled:t,isIpfsGatewayEnabled:n}){const s=this.messagingSystem.call("AccountsController:getSelectedAccount");if(x(this,i,s.id,"f"),N(this,o,"f")!==e||N(this,A,"f")!==t||N(this,u,"f")!==n){x(this,o,e,"f"),x(this,A,t,"f"),x(this,u,n,"f");(n&&""!==e||t)&&s&&await N(this,r,"m",R).call(this,s)}},f=async function(e){const t=N(this,i,"f");x(this,i,e.id,"f");(N(this,u,"f")&&""!==N(this,o,"f")||N(this,A,"f"))&&t!==e.id&&await N(this,r,"m",R).call(this,e)},h=function(e,t,{userAddress:n,chainId:r}){n&&this.update((s=>{const i=s[t],a={...i[n]||{},[r]:e};s[t]={...i,[n]:a}}))},p=function(){return`${L.NFT_API_BASE_URL}/collections`},m=async function(e,t){const n=new URLSearchParams({chainIds:"1",tokens:`${e}:${t}`,includeTopBid:"true",includeAttributes:"true",includeLastSale:"true"}).toString(),r=await(0,L.fetchWithErrorHandling)({url:`${this.getNftApi()}?${n}`,options:{headers:{Version:L.NFT_API_VERSION}}}),s=new URLSearchParams({chainId:"1",id:`${r?.tokens[0]?.token?.collection?.id}`}).toString(),i=await(0,L.fetchWithErrorHandling)({url:`${L.NFT_API_BASE_URL}/collections?${s}`,options:{headers:{Version:L.NFT_API_VERSION}}});if(!r?.tokens?.[0]?.token)return{name:null,description:null,image:null,standard:null};const{image:a,metadata:{imageOriginal:o}={},name:A,description:c,collection:u,kind:l,rarityRank:g,rarity:d,attributes:f,lastSale:h,imageSmall:p}=r.tokens[0].token;return Object.assign({},{name:A||null},{description:c||null},{image:a||null},u?.creator&&{creator:u.creator},o&&{imageOriginal:o},p&&{imageThumbnail:p},l&&{standard:l.toUpperCase()},h&&{lastSale:h},f&&{attributes:f},r.tokens[0].market?.topBid&&{topBid:r.tokens[0].market?.topBid},g&&{rarityRank:g},d&&{rarity:d},(u||i)&&{collection:{...u||{},creator:u?.creator||i?.collections[0].creator,openseaVerificationStatus:i?.collections[0].openseaVerificationStatus,contractDeployedAt:i?.collections[0].contractDeployedAt,ownerCount:i?.collections[0].ownerCount,topBid:i?.collections[0].topBid}})},E=async function(e,t,n){const s=await N(this,r,"m",C).call(this,e,t,n);let i=s[0];const a=s[1],l=i.startsWith("ipfs://");if(l&&!N(this,u,"f"))return{image:null,name:null,description:null,standard:a||null,favorite:!1,tokenURI:i??null};const g=N(this,A,"f");if(!l&&!g)return{image:null,name:null,description:null,standard:a||null,favorite:!1,tokenURI:i??null};if(l&&(i=await(0,G.getFormattedIpfsUrl)(N(this,o,"f"),i,N(this,c,"f"))),i.startsWith("data:image/"))return{image:i,name:null,description:null,standard:a||null,favorite:!1,tokenURI:i??null};try{const e=await(0,L.handleFetch)(i);return{image:e[Object.prototype.hasOwnProperty.call(e,"image")?"image":"image_url"],name:e.name,description:e.description,standard:a,favorite:!1,tokenURI:i??null}}catch{return{image:null,name:null,description:null,standard:a||null,favorite:!1,tokenURI:i??null}}},C=async function(e,t,n){try{return[await this.messagingSystem.call("AssetsContractController:getERC721TokenURI",e,t,n),L.ERC721]}catch{}try{const r=await this.messagingSystem.call("AssetsContractController:getERC1155TokenURI",e,t,n);if(!r.includes("{id}"))return[r,L.ERC1155];const s=(0,j.remove0x)((0,L.BNToHex)(new _.default(t))).padStart(64,"0").toLowerCase();return[r.replace("{id}",s),L.ERC1155]}catch{}return["",""]},I=async function(e,t,n){const s=N(this,r,"m",T).call(this,{networkClientId:n}),[i,a]=await Promise.all([(0,L.safelyExecute)((()=>N(this,r,"m",E).call(this,e,t,n))),N(this,A,"f")&&"0x1"===s?(0,L.safelyExecute)((()=>N(this,r,"m",m).call(this,e,t))):undefined]);return{...a,name:i?.name??a?.name??null,description:i?.description??a?.description??null,image:a?.image??i?.image??null,standard:i?.standard??a?.standard??null,tokenURI:i?.tokenURI??null}},B=async function(e,t){const[n,r]=await Promise.all([this.messagingSystem.call("AssetsContractController:getERC721AssetName",e,t),this.messagingSystem.call("AssetsContractController:getERC721AssetSymbol",e,t)]);return{collection:{name:n},symbol:r,address:e}},w=async function(e,t,n){const s=await(0,L.safelyExecute)((()=>N(this,r,"m",B).call(this,e,n)));return s||!Object.values(t).every((e=>null===e))?{address:e,...s,schema_name:t?.standard??null,collection:{name:null,image_url:t?.collection?.image??t?.collection?.imageUrl??null,tokenCount:t?.collection?.tokenCount??null,...t?.collection,...s?.collection}}:{address:e,asset_contract_type:null,created_date:null,schema_name:null,symbol:null,total_supply:null,description:null,external_link:null,collection:{name:null,image_url:null}}},y=async function(e,t,n,i,a,o,A){const c=await N(this,s,"f").acquire();try{const s=(0,L.toChecksumHexAddress)(e),{allNfts:c}=this.state,u=[...c[o]?.[a]??[]],g=u.find((e=>e.address.toLowerCase()===s.toLowerCase()&&e.tokenId===t));if(g){const e=(0,G.compareNftMetadata)(n,g),r=(0,G.hasNewCollectionFields)(n,g);if(!e&&g.isCurrentlyOwned&&!r)return;const i=u.findIndex((e=>e.address.toLowerCase()===s.toLowerCase()&&e.tokenId===t));-1!==i&&(u[i]={...g,...n})}else{const e={address:s,tokenId:t,favorite:!1,isCurrentlyOwned:!0,...n};u.push(e)}N(this,r,"m",h).call(this,u,Y,{chainId:a,userAddress:o}),N(this,l,"f")&&N(this,l,"f").call(this,{address:s,symbol:i.symbol,tokenId:t.toString(),standard:n.standard,source:A})}finally{c()}},Q=async function({tokenAddress:e,userAddress:t,networkClientId:n,source:i,nftMetadata:a,chainIdHex:o}){const A=await N(this,s,"f").acquire();try{const s=(0,L.toChecksumHexAddress)(e),{allNftContracts:A}=this.state,c=o||N(this,r,"m",T).call(this,{networkClientId:n}),u=A[t]?.[c]||[];if(u.find((e=>e.address.toLowerCase()===s.toLowerCase())))return u;const l=await N(this,r,"m",w).call(this,s,a,n),{asset_contract_type:g,created_date:d,symbol:f,description:p,external_link:m,schema_name:E,collection:{name:C,image_url:I,tokenCount:B}}=l;if(i===K.Source.Detected&&"address"in l&&"string"==typeof l.address&&"collection"in l&&null===l.collection.name&&"image_url"in l.collection&&null===l.collection.image_url&&Object.entries(l).every((([e,t])=>"address"===e||"collection"===e||!t)))return u;const y=Object.assign({},{address:s},p&&{description:p},C&&{name:C},I&&{logo:I},f&&{symbol:f},null!=B&&{totalSupply:B},g&&{assetContractType:g},d&&{createdDate:d},E&&{schemaName:E},m&&{externalLink:m}),Q=[...u,y];return N(this,r,"m",h).call(this,Q,J,{chainId:c,userAddress:t}),Q}finally{A()}},b=function(e,t,{chainId:n,userAddress:s}){const i=(0,L.toChecksumHexAddress)(e),{allNfts:a,ignoredNfts:o}=this.state,A=[...o],c=(a[s]?.[n]||[]).filter((e=>{if(e.address.toLowerCase()===i.toLowerCase()&&e.tokenId===t){return!A.find((e=>e.address===i&&e.tokenId===t))&&A.push(e),!1}return!0}));N(this,r,"m",h).call(this,c,Y,{userAddress:s,chainId:n}),this.update((e=>{e.ignoredNfts=A}))},v=function(e,t,{chainId:n,userAddress:s}){const i=(0,L.toChecksumHexAddress)(e),{allNfts:a}=this.state,o=(a[s]?.[n]||[]).filter((e=>!(e.address.toLowerCase()===i.toLowerCase()&&e.tokenId===t)));N(this,r,"m",h).call(this,o,Y,{userAddress:s,chainId:n})},S=function(e,{chainId:t,userAddress:n}){const s=(0,L.toChecksumHexAddress)(e),{allNftContracts:i}=this.state,a=(i[n]?.[t]||[]).filter((e=>!(e.address.toLowerCase()===s.toLowerCase())));return N(this,r,"m",h).call(this,a,J,{chainId:t,userAddress:n}),a},k=async function(e,t,n,{networkClientId:r}={}){const{address:s,tokenId:i}=e;if(!t)throw F.rpcErrors.invalidParams("Asset type is required");if(t!==L.ERC721&&t!==L.ERC1155)throw F.rpcErrors.invalidParams(`Non NFT asset type ${t} not supported by watchNft`);if(!s||!i)throw F.rpcErrors.invalidParams("Both address and tokenId are required");if(!(0,O.isAddress)(s))throw F.rpcErrors.invalidParams("Invalid address");if(!/^\d+$/u.test(i))throw F.rpcErrors.invalidParams("Invalid tokenId");try{if(!await this.isNftOwner(n,s,i,{networkClientId:r}))throw F.rpcErrors.invalidInput("Suggested NFT is not owned by the selected account")}catch(e){if(e instanceof Error)throw F.rpcErrors.resourceUnavailable(e.message);throw e}},T=function({networkClientId:e}){if(e){const{configuration:{chainId:t}}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);return t}return N(this,a,"f")},P=function(e){if(e)return e;const t=this.messagingSystem.call("AccountsController:getAccount",N(this,i,"f"));return t?.address||""},R=async function(e){const t=(this.state.allNfts[e.address]?.[N(this,a,"f")]??[]).filter((e=>!e.name&&!e.description&&!e.image));0!==t.length&&t.length<500&&await this.updateNftMetadata({nfts:t,userAddress:e.address})},n.default=q}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/NftController.cjs"}],[1312,{"./assetsUtil.cjs":1325,"./constants.cjs":1326,"@metamask/base-controller":1383,"@metamask/controller-utils":1474,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},g=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.NftDetectionController=n.MAX_GET_COLLECTION_BATCH_SIZE=n.BlockaidResultType=void 0;const d=e("@metamask/base-controller"),f=e("@metamask/controller-utils"),h=e("@metamask/utils"),p=e("./assetsUtil.cjs"),m=e("./constants.cjs"),E=[f.ChainId.mainnet,f.ChainId["linea-mainnet"]];var C;!function(e){e.Benign="Benign",e.Spam="Spam",e.Warning="Warning",e.Malicious="Malicious"}(C||(n.BlockaidResultType=C={})),n.MAX_GET_COLLECTION_BATCH_SIZE=20;class I extends d.BaseController{constructor({messenger:e,disabled:t=!1,addNft:n,getNftState:c}){super({name:"NftDetectionController",messenger:e,metadata:{},state:{}}),r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),l(this,s,t,"f"),l(this,o,{},"f"),l(this,a,c,"f"),l(this,i,n,"f"),this.messagingSystem.subscribe("PreferencesController:stateChange",g(this,r,"m",A).bind(this))}isMainnet(){const{selectedNetworkClientId:e}=this.messagingSystem.call("NetworkController:getState"),{configuration:{chainId:t}}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);return t===f.ChainId.mainnet}isMainnetByNetworkClientId(e){return e.configuration.chainId===f.ChainId.mainnet}async detectNfts(e,t){const A=t?.userAddress??this.messagingSystem.call("AccountsController:getSelectedAccount").address,c=e.filter((e=>E.includes(e)));if(0===c.length||g(this,s,"f"))return;if(!A)return;const l=`${e.join(",")}:${A}`;if(l in g(this,o,"f"))return void await g(this,o,"f")[l];const{promise:d,resolve:I,reject:B}=(0,h.createDeferredPromise)({suppressUnhandledRejection:!0});let w;g(this,o,"f")[l]=d;let y,Q=[];try{do{y=await g(this,r,"m",u).call(this,A,c,w),Q=y.tokens.filter((e=>!1===e.token.isSpam&&(!e.blockaidResult?.result_type||e.blockaidResult?.result_type===C.Benign)));const e=Q.reduce(((e,t)=>(e[t.token.chainId]?.includes(t.token.contract)||t.token.contract!==t?.token?.collection?.id||(e[t.token.chainId]||(e[t.token.chainId]=[]),e[t.token.chainId].push(t.token.contract)),e)),{});if(Object.values(e).some((e=>e.length>0))){const t=await Promise.all(Object.entries(e).map((([e,t])=>(0,p.reduceInBatchesSerially)({values:t,batchSize:n.MAX_GET_COLLECTION_BATCH_SIZE,eachBatch:async(t,n)=>{const r=new URLSearchParams(n.map((e=>["contract",e])));r.append("chainId",e);return{...t,...await(0,f.fetchWithErrorHandling)({url:`${f.NFT_API_BASE_URL}/collections?${r.toString()}`,options:{headers:{Version:f.NFT_API_VERSION}},timeout:f.NFT_API_TIMEOUT})}},initialResult:{}})))),r={collections:[]};t.forEach((e=>{e?.collections&&r?.collections.push(...e.collections)})),r.collections?.length&&Q.forEach((e=>{const t=r.collections.find((t=>t.id?.toLowerCase()===e.token.contract.toLowerCase()&&e.token.chainId===t.chainId));t&&(e.token={...e.token,collection:{...e.token.collection??{},openseaVerificationStatus:t?.openseaVerificationStatus,contractDeployedAt:t.contractDeployedAt,creator:t?.creator,ownerCount:t.ownerCount,topBid:t.topBid}})}))}const t=Q.map((async e=>{const{tokenId:t,contract:n,kind:r,image:s,imageSmall:o,metadata:c,name:u,description:l,attributes:d,topBid:h,lastSale:p,rarityRank:E,rarityScore:C,collection:I,chainId:B}=e.token,{imageOriginal:w}=c||{};let y;const{ignoredNfts:Q}=g(this,a,"f").call(this);if(Q.length&&(y=Q.find((e=>e.address===(0,f.toChecksumHexAddress)(n)&&e.tokenId===t))),!y){const e=Object.assign({},{name:u},l&&{description:l},s&&{image:s},o&&{imageThumbnail:o},w&&{imageOriginal:w},r&&{standard:r.toUpperCase()},p&&{lastSale:p},d&&{attributes:d},h&&{topBid:h},E&&{rarityRank:E},C&&{rarityScore:C},I&&{collection:I},B&&{chainId:B});await g(this,i,"f").call(this,n,t,{nftMetadata:e,userAddress:A,source:m.Source.Detected,chainId:(0,f.toHex)(B)})}}));await Promise.all(t)}while(w=y.continuation);I()}catch(e){throw B(e),e}finally{delete g(this,o,"f")[l]}}}n.NftDetectionController=I,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,r=new WeakSet,A=function({useNftDetection:e}){!e!==g(this,s,"f")&&l(this,s,!e,"f")},c=function({chainIds:e,address:t,next:n}){const r=e.join("&chainIds=");return`${f.NFT_API_BASE_URL}/users/${t}/tokens?chainIds=${r}&limit=50&includeTopBid=true&continuation=${n??""}`},u=async function(e,t,n){const s=t.map((e=>(0,f.convertHexToDecimal)(e).toString())),i=g(this,r,"m",c).call(this,{chainIds:s,address:e,next:n});return await(0,f.handleFetch)(i,{headers:{Version:f.NFT_API_VERSION}})},n.default=I}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/NftDetectionController.cjs"}],[1313,{"../crypto-compare-service/index.cjs":1328,"@metamask/base-controller":1383,"async-mutex":3913},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},d=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.RatesController=n.Cryptocurrency=n.name=void 0;const f=e("@metamask/base-controller"),h=e("async-mutex"),p=e("../crypto-compare-service/index.cjs");var m;n.name="RatesController",function(e){e.Btc="btc",e.Solana="sol"}(m||(n.Cryptocurrency=m={}));const E={fiatCurrency:{persist:!0,anonymous:!0},rates:{persist:!0,anonymous:!0},cryptocurrencies:{persist:!0,anonymous:!0}},C={fiatCurrency:"usd",rates:{[m.Btc]:{conversionDate:0,conversionRate:0},[m.Solana]:{conversionDate:0,conversionRate:0}},cryptocurrencies:[m.Btc,m.Solana]};class I extends f.BaseController{constructor({interval:e=18e4,messenger:t,state:c,includeUsdRate:u,fetchMultiExchangeRate:l=p.fetchMultiExchangeRate}){super({name:n.name,metadata:E,messenger:t,state:{...C,...c}}),r.add(this),s.set(this,new h.Mutex),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),A.set(this,void 0),g(this,a,u,"f"),g(this,i,l,"f"),g(this,o,e,"f")}async start(){d(this,A,"f")||(this.messagingSystem.publish(`${n.name}:pollingStarted`),await d(this,r,"m",l).call(this),g(this,A,setInterval((()=>{d(this,r,"m",u).call(this).catch(console.error)}),d(this,o,"f")),"f"))}async stop(){d(this,A,"f")&&(clearInterval(d(this,A,"f")),g(this,A,undefined,"f"),this.messagingSystem.publish(`${n.name}:pollingStopped`))}getCryptocurrencyList(){const{cryptocurrencies:e}=this.state;return e}async setCryptocurrencyList(e){await d(this,r,"m",c).call(this,(()=>{this.update((t=>({...t,cryptocurrencies:e})))}))}async setFiatCurrency(e){if(""===e)throw new Error("The currency can not be an empty string");await d(this,r,"m",c).call(this,(()=>{this.update((t=>({...t,fiatCurrency:e})))})),await d(this,r,"m",l).call(this)}}n.RatesController=I,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,r=new WeakSet,c=async function(e){const t=await d(this,s,"f").acquire();try{return e()}finally{t()}},u=async function(){await d(this,r,"m",l).call(this)},l=async function(){await d(this,r,"m",c).call(this,(async()=>{const{fiatCurrency:e,cryptocurrencies:t}=this.state,n=await d(this,i,"f").call(this,e,t,d(this,a,"f")),r={};for(const[t,s]of Object.entries(n))r[t]={conversionDate:Date.now(),conversionRate:s[e],...d(this,a,"f")&&{usdConversionRate:s.usd}};this.update((e=>({...e,rates:r})))}))}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/RatesController/RatesController.cjs"}],[1314,{"./RatesController.cjs":1313},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.Cryptocurrency=n.RatesController=void 0;var r=e("./RatesController.cjs");Object.defineProperty(n,"RatesController",{enumerable:!0,get:function(){return r.RatesController}}),Object.defineProperty(n,"Cryptocurrency",{enumerable:!0,get:function(){return r.Cryptocurrency}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/RatesController/index.cjs"}],[1315,{"../assetsUtil.cjs":1325,"@ethereumjs/util":457,"@ethersproject/contracts":507,"@metamask/abi-utils":1251,"@metamask/controller-utils":1474,"@metamask/metamask-eth-abis":2089,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.ERC20Standard=void 0;const r=e("@ethereumjs/util"),s=e("@ethersproject/contracts"),i=e("@metamask/abi-utils"),a=e("@metamask/controller-utils"),o=e("@metamask/metamask-eth-abis"),A=e("@metamask/utils"),c=e("../assetsUtil.cjs");n.ERC20Standard=class{constructor(e){this.provider=e}async getBalanceOf(e,t){const n=new s.Contract(e,o.abiERC20,this.provider),r=await n.balanceOf(t);return(0,c.ethersBigNumberToBN)(r)}async getTokenDecimals(e){const t=new s.Contract(e,o.abiERC20,this.provider);try{return(await t.decimals()).toString()}catch(e){if(e instanceof Error&&e.message.includes("call revert exception"))throw new Error("Failed to parse token decimals");throw e}}async getTokenName(e){const t=new s.Contract(e,o.abiERC20,this.provider);try{return(await t.name()).toString()}catch(e){if(e instanceof Error&&e.message.includes("call revert exception"))throw new Error("Failed to parse token name");throw e}}async getTokenSymbol(e){const t={to:e,data:"0x95d89b41"},n=await this.provider.call(t);(0,A.assertIsStrictHexString)(n);try{const e=(0,i.decodeSingle)("string",n);if(e?.length>0)return e}catch{}try{const e=/^(00)+|(00)+$/gu,t=n?.replace(e,""),s=(0,r.bytesToUtf8)((0,A.hexToBytes)(t));if(s.length>0)return s}catch{}throw new Error("Failed to parse token symbol")}async getDetails(e,t){const[n,r,s]=await Promise.all([this.getTokenDecimals(e),this.getTokenSymbol(e),t?this.getBalanceOf(e,t):undefined]);return{decimals:n,symbol:r,balance:s,standard:a.ERC20}}}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/Standards/ERC20Standard.cjs"}],[1316,{"../../../assetsUtil.cjs":1325,"@ethersproject/contracts":507,"@metamask/controller-utils":1474,"@metamask/metamask-eth-abis":2089},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.ERC1155Standard=void 0;const r=e("@ethersproject/contracts"),s=e("@metamask/controller-utils"),i=e("@metamask/metamask-eth-abis"),a=e("../../../assetsUtil.cjs");n.ERC1155Standard=class{constructor(e){this.provider=e}async contractSupportsURIMetadataInterface(e){return this.contractSupportsInterface(e,s.ERC1155_METADATA_URI_INTERFACE_ID)}async contractSupportsTokenReceiverInterface(e){return this.contractSupportsInterface(e,s.ERC1155_TOKEN_RECEIVER_INTERFACE_ID)}async contractSupportsBase1155Interface(e){return this.contractSupportsInterface(e,s.ERC1155_INTERFACE_ID)}async getTokenURI(e,t){return new r.Contract(e,i.abiERC1155,this.provider).uri(t)}async getBalanceOf(e,t,n){const s=new r.Contract(e,i.abiERC1155,this.provider),o=await s.balanceOf(t,n);return(0,a.ethersBigNumberToBN)(o)}async transferSingle(e,t,n,s,a){const o=new r.Contract(e,i.abiERC1155,this.provider);return new Promise(((r,i)=>{o.transferSingle(e,t,n,s,a,((e,t)=>{e?i(e):r(t)}))}))}async getAssetSymbol(e){return new r.Contract(e,[{inputs:[],name:"symbol",outputs:[{name:"_symbol",type:"string"}],stateMutability:"view",type:"function",payable:!1}],this.provider).symbol()}async getAssetName(e){return new r.Contract(e,[{inputs:[],name:"name",outputs:[{name:"_name",type:"string"}],stateMutability:"view",type:"function",payable:!1}],this.provider).name()}async contractSupportsInterface(e,t){return new r.Contract(e,i.abiERC1155,this.provider).supportsInterface(t)}async getDetails(e,t,n){if(!await this.contractSupportsBase1155Interface(e))throw new Error("This isn't a valid ERC1155 contract");let r;const[i,o,A]=await Promise.all([(0,s.safelyExecute)((()=>this.getAssetSymbol(e))),(0,s.safelyExecute)((()=>this.getAssetName(e))),n?(0,s.safelyExecute)((()=>this.getTokenURI(e,n).then((e=>e.startsWith("ipfs://")?(0,a.getFormattedIpfsUrl)(t,e,!0):e)))):undefined]);if(A)try{const e=await(0,s.timeoutFetch)(A),n=await e.json();r=n?.image,r?.startsWith("ipfs://")&&(r=(0,a.getFormattedIpfsUrl)(t,r,!0))}catch{}return{standard:s.ERC1155,tokenURI:A,image:r,symbol:i,name:o}}}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/Standards/NftStandards/ERC1155/ERC1155Standard.cjs"}],[1317,{"../../../assetsUtil.cjs":1325,"@ethersproject/contracts":507,"@metamask/controller-utils":1474,"@metamask/metamask-eth-abis":2089},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.ERC721Standard=void 0;const r=e("@ethersproject/contracts"),s=e("@metamask/controller-utils"),i=e("@metamask/metamask-eth-abis"),a=e("../../../assetsUtil.cjs");n.ERC721Standard=class{constructor(e){this.contractSupportsMetadataInterface=async e=>this.contractSupportsInterface(e,s.ERC721_METADATA_INTERFACE_ID),this.contractSupportsEnumerableInterface=async e=>this.contractSupportsInterface(e,s.ERC721_ENUMERABLE_INTERFACE_ID),this.contractSupportsBase721Interface=async e=>this.contractSupportsInterface(e,s.ERC721_INTERFACE_ID),this.getNftTokenId=async(e,t,n)=>new r.Contract(e,i.abiERC721,this.provider).tokenOfOwnerByIndex(t,n),this.getTokenURI=async(e,t)=>{const n=new r.Contract(e,i.abiERC721,this.provider);return await this.contractSupportsMetadataInterface(e)||console.error("Contract does not support ERC721 metadata interface."),n.tokenURI(t)},this.getAssetName=async e=>new r.Contract(e,i.abiERC721,this.provider).name(),this.getAssetSymbol=async e=>new r.Contract(e,i.abiERC721,this.provider).symbol(),this.contractSupportsInterface=async(e,t)=>{const n=new r.Contract(e,i.abiERC721,this.provider);try{return await n.supportsInterface(t)}catch(e){if(e instanceof Error&&e.message.includes("call revert exception"))return!1;throw e}},this.getDetails=async(e,t,n)=>{if(!await this.contractSupportsBase721Interface(e))throw new Error("This isn't a valid ERC721 contract");const[r,i,o]=await Promise.all([(0,s.safelyExecute)((()=>this.getAssetSymbol(e))),(0,s.safelyExecute)((()=>this.getAssetName(e))),n?(0,s.safelyExecute)((()=>this.getTokenURI(e,n).then((e=>e.startsWith("ipfs://")?(0,a.getFormattedIpfsUrl)(t,e,!0):e)))):undefined]);let A;if(o)try{const e=await(0,s.timeoutFetch)(o),n=await e.json();A=n?.image,A?.startsWith("ipfs://")&&(A=await(0,a.getFormattedIpfsUrl)(t,A,!0))}catch{}return{standard:s.ERC721,tokenURI:o,symbol:r,name:i,image:A}},this.provider=e}async getOwnerOf(e,t){return new r.Contract(e,i.abiERC721,this.provider).ownerOf(t)}}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/Standards/NftStandards/ERC721/ERC721Standard.cjs"}],[1318,{"./multicall.cjs":1332,"@ethersproject/contracts":507,"@ethersproject/providers":545,"@metamask/controller-utils":1474,"@metamask/metamask-eth-abis":2089,"@metamask/polling-controller":1339,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},f=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n};Object.defineProperty(n,"__esModule",{value:!0}),n.TokenBalancesController=n.getDefaultTokenBalancesState=void 0;const h=e("@ethersproject/contracts"),p=e("@ethersproject/providers"),m=e("@metamask/controller-utils"),E=e("@metamask/metamask-eth-abis"),C=e("@metamask/polling-controller"),I=e("lodash"),B=e("./multicall.cjs"),w={tokenBalances:{persist:!0,anonymous:!1}};function y(){return{tokenBalances:{}}}n.getDefaultTokenBalancesState=y;class Q extends((0,C.StaticIntervalPollingController)()){constructor({interval:e=18e4,messenger:t,state:n={}}){var g,h;super({name:"TokenBalancesController",metadata:w,messenger:t,state:{tokenBalances:{},...n}}),r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,(({isMultiAccountBalancesEnabled:e,useMultiAccountBalanceChecker:t})=>Boolean(e||t))),A.set(this,(e=>{const t=d(this,o,"f").call(this,e),n=t&&!d(this,s,"f");f(this,s,t,"f"),n&&this.updateBalances().catch(console.error)})),c.set(this,(({allTokens:e,allDetectedTokens:t})=>{const n=d(this,l,"f").call(this,e,t).filter((n=>!(0,I.isEqual)(d(this,i,"f")[n],e[n])||!(0,I.isEqual)(d(this,a,"f")[n],t[n])));f(this,i,e,"f"),f(this,a,t,"f"),this.updateBalances({chainIds:n}).catch(console.error)})),l.set(this,((e,t)=>[...new Set([...Object.keys(e),...Object.keys(t)])])),this.setIntervalLength(e),f(this,s,d(this,o,"f").call(this,this.messagingSystem.call("PreferencesController:getState")),"f"),this.messagingSystem.subscribe("PreferencesController:stateChange",d(this,A,"f").bind(this)),g=this,h=this,({allTokens:{set value(e){f(g,i,e,"f")}}.value,allDetectedTokens:{set value(e){f(h,a,e,"f")}}.value}=this.messagingSystem.call("TokensController:getState")),this.messagingSystem.subscribe("TokensController:stateChange",d(this,c,"f").bind(this)),this.messagingSystem.subscribe("NetworkController:stateChange",d(this,r,"m",u).bind(this))}async _executePoll({chainId:e}){await this.updateBalancesByChainId({chainId:e})}async updateBalances({chainIds:e}={}){e??(e=d(this,l,"f").call(this,d(this,i,"f"),d(this,a,"f"))),await Promise.allSettled(e.map((e=>this.updateBalancesByChainId({chainId:e}))))}async updateBalancesByChainId({chainId:e}){const{address:t}=this.messagingSystem.call("AccountsController:getSelectedAccount"),n=[],o=([e,r])=>d(this,s,"f")||(e=>(0,m.toChecksumHexAddress)(e)===(0,m.toChecksumHexAddress)(t))(e)?r.forEach((t=>n.push({accountAddress:e,tokenAddress:t.address}))):undefined;Object.entries(d(this,i,"f")[e]??{}).forEach(o),Object.entries(d(this,a,"f")[e]??{}).forEach(o);let A=[];if(n.length>0){const t=new p.Web3Provider(d(this,r,"m",g).call(this,e).provider),s=n.map((({accountAddress:e,tokenAddress:n})=>({contract:new h.Contract(n,E.abiERC20,t),functionSignature:"balanceOf(address)",arguments:[e]})));A=await(0,B.multicallOrFallback)(s,e,t)}this.update((t=>{var r,s;for(const n of Object.keys(t.tokenBalances))t.tokenBalances[n][e]={};for(let i=0;i<A.length;i++){const{success:a,value:o}=A[i],{accountAddress:c,tokenAddress:u}=n[i];a&&(((s=(r=t.tokenBalances)[c]??(r[c]={}))[e]??(s[e]={}))[u]=(0,m.toHex)(o))}}))}resetState(){this.update((()=>({tokenBalances:{}})))}}n.TokenBalancesController=Q,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,c=new WeakMap,l=new WeakMap,r=new WeakSet,u=function(e,t){for(const e of t)if("remove"===e.op&&"networkConfigurationsByChainId"===e.path[0]){const t=e.path[1];this.update((e=>{for(const n of Object.keys(e.tokenBalances))delete e.tokenBalances[n][t]}))}},g=function(e){const{networkConfigurationsByChainId:t}=this.messagingSystem.call("NetworkController:getState"),n=t[e];if(!n)throw new Error(`TokenBalancesController: No network configuration found for chainId ${e}`);const{networkClientId:r}=n.rpcEndpoints[n.defaultRpcEndpointIndex];return this.messagingSystem.call("NetworkController:getNetworkClientById",r)},n.default=Q}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokenBalancesController.cjs"}],[1319,{"./assetsUtil.cjs":1325,"./multi-chain-accounts-service/index.cjs":1330,"@metamask/contract-metadata":1471,"@metamask/controller-utils":1474,"@metamask/polling-controller":1339,"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m,E,C,I,B,w,y,Q,b,v,S,k,T,P,R,x,N,M=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},O=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},D=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.TokenDetectionController=n.controllerName=n.mapChainIdWithTokenListMap=n.STATIC_MAINNET_TOKEN_LIST=void 0;const L=D(e("@metamask/contract-metadata")),F=e("@metamask/controller-utils"),j=e("@metamask/polling-controller"),U=e("@metamask/utils"),_=e("lodash"),H=e("./assetsUtil.cjs"),G=e("./multi-chain-accounts-service/index.cjs"),K=18e4;function W(e){return(0,_.mapValues)(e,(e=>(0,_.isObject)(e)&&"data"in e?(0,_.get)(e,["data"]):e))}n.STATIC_MAINNET_TOKEN_LIST=Object.entries(L.default).reduce(((e,[t,n])=>{const{logo:r,erc20:s,erc721:i,...a}=n;return{...e,[t.toLowerCase()]:{...a,address:t.toLowerCase(),iconUrl:`images/contract/${r}`,aggregators:[]}}}),{}),n.mapChainIdWithTokenListMap=W,n.controllerName="TokenDetectionController";class Y extends((0,j.StaticIntervalPollingController)()){constructor({interval:e=18e4,disabled:t=!0,getBalancesInSingleCall:p,trackMetaMetricsEvent:m,messenger:E,useAccountsAPI:C=!0,platform:B}){super({name:n.controllerName,messenger:E,state:{},metadata:{}}),r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,{}),A.set(this,void 0),c.set(this,void 0),u.set(this,void 0),l.set(this,void 0),g.set(this,void 0),d.set(this,void 0),f.set(this,{isAccountsAPIEnabled:!0,supportedNetworksCache:null,platform:"",async getSupportedNetworks(){if(!this.isAccountsAPIEnabled)throw new Error("Accounts API Feature Switch is disabled");if(this.supportedNetworksCache)return this.supportedNetworksCache;const e=await(0,G.fetchSupportedNetworks)().catch((()=>null));return this.supportedNetworksCache=e,e},async getMultiNetworksBalances(e,t,n){const r=t.map((e=>(0,U.hexToNumber)(e)));if(!n||!r.every((e=>n.includes(e)))){const e=(n??[]).toString();throw new Error(`Unsupported Network: supported networks ${e}, requested networks: ${r.toString()}`)}return(await(0,G.fetchMultiChainBalances)(e,{networks:r},this.platform)).balances}}),M(this,A,t,"f"),this.setIntervalLength(e),M(this,i,O(this,r,"m",x).call(this).id,"f");const{chainId:w,networkClientId:y}=O(this,r,"m",I).call(this);M(this,a,y,"f");const{tokensChainsCache:Q}=this.messagingSystem.call("TokenListController:getState");M(this,o,Q,"f");const{useTokenDetection:b}=this.messagingSystem.call("PreferencesController:getState");M(this,u,b,"f"),M(this,l,(0,H.isTokenDetectionSupportedForNetwork)(w),"f"),M(this,g,p,"f"),M(this,d,m,"f");const{isUnlocked:v}=this.messagingSystem.call("KeyringController:getState");M(this,c,v,"f"),O(this,f,"f").isAccountsAPIEnabled=C,O(this,f,"f").platform=B,O(this,r,"m",h).call(this)}enable(){M(this,A,!1,"f")}disable(){M(this,A,!0,"f")}get isActive(){return!O(this,A,"f")&&O(this,c,"f")}async start(){this.enable(),await O(this,r,"m",m).call(this)}stop(){this.disable(),O(this,r,"m",p).call(this)}async _executePoll({chainIds:e,address:t}){this.isActive&&await this.detectTokens({chainIds:e,selectedAddress:t})}async detectTokens({chainIds:e,selectedAddress:t}={}){if(!this.isActive)return;const n=t??O(this,r,"m",N).call(this),s=O(this,r,"m",C).call(this,e);let i;O(this,f,"f").isAccountsAPIEnabled&&(i=await O(this,f,"f").getSupportedNetworks());const{chainsToDetectUsingRpc:a,chainsToDetectUsingAccountAPI:o}=O(this,r,"m",w).call(this,s,i);if(i&&o.length>0){const e=await O(this,r,"m",y).call(this,o,n,i);"failed"===e?.result&&O(this,r,"m",Q).call(this,a,o,s)}a.length>0&&await O(this,r,"m",v).call(this,a,n)}}n.TokenDetectionController=Y,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,c=new WeakMap,u=new WeakMap,l=new WeakMap,g=new WeakMap,d=new WeakMap,f=new WeakMap,r=new WeakSet,h=function(){this.messagingSystem.subscribe("KeyringController:unlock",(async()=>{M(this,c,!0,"f"),await O(this,r,"m",B).call(this)})),this.messagingSystem.subscribe("KeyringController:lock",(()=>{M(this,c,!1,"f"),O(this,r,"m",p).call(this)})),this.messagingSystem.subscribe("TokenListController:stateChange",(async({tokensChainsCache:e})=>{O(this,r,"m",E).call(this,e,O(this,o,"f"))||await O(this,r,"m",B).call(this)})),this.messagingSystem.subscribe("PreferencesController:stateChange",(async({useTokenDetection:e})=>{const t=O(this,r,"m",x).call(this),n=O(this,u,"f")!==e;M(this,u,e,"f"),n&&await O(this,r,"m",B).call(this,{selectedAddress:t.address})})),this.messagingSystem.subscribe("AccountsController:selectedEvmAccountChange",(async e=>{const{networkConfigurationsByChainId:t}=this.messagingSystem.call("NetworkController:getState"),n=Object.keys(t);O(this,i,"f")!==e.id&&(M(this,i,e.id,"f"),await O(this,r,"m",B).call(this,{selectedAddress:e.address,chainIds:n}))}))},p=function(){O(this,s,"f")&&clearInterval(O(this,s,"f"))},m=async function(){this.isActive&&(O(this,r,"m",p).call(this),await this.detectTokens(),M(this,s,setInterval((async()=>{await this.detectTokens()}),this.getIntervalLength()),"f"))},E=function(e,t){const n=W(t),r=W(e);return(0,_.isEqual)(r,n)},C=function(e){const{networkConfigurationsByChainId:t,selectedNetworkClientId:n}=this.messagingSystem.call("NetworkController:getState");if(!e){const e=this.messagingSystem.call("NetworkController:getNetworkConfigurationByNetworkClientId",n);return[{chainId:e?.chainId??F.ChainId.mainnet,networkClientId:n}]}return e.map((e=>{const n=t[e];return{chainId:e,networkClientId:n.rpcEndpoints[n.defaultRpcEndpointIndex].networkClientId}}))},I=function(){const{selectedNetworkClientId:e}=this.messagingSystem.call("NetworkController:getState"),{configuration:{chainId:t}}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);return{chainId:t,networkClientId:e}},B=async function({selectedAddress:e,chainIds:t}={}){await this.detectTokens({chainIds:t,selectedAddress:e}),this.setIntervalLength(K)},w=function(e,t){const n=[],r=[];return e.forEach((({chainId:e,networkClientId:s})=>{t?.includes((0,U.hexToNumber)(e))?n.push(e):r.push({chainId:e,networkClientId:s})})),{chainsToDetectUsingRpc:r,chainsToDetectUsingAccountAPI:n}},y=async function(e,t,n){return await O(this,r,"m",T).call(this,{chainIds:e,selectedAddress:t,supportedNetworks:n})},Q=function(e,t,n){t.forEach((t=>{const r=n.find((e=>e.chainId===t));r&&e.push({chainId:r.chainId,networkClientId:r.networkClientId})}))},b=function(e){if(!(0,H.isTokenDetectionSupportedForNetwork)(e))return!1;if(!O(this,u,"f")&&e!==F.ChainId.mainnet)return!1;if(!O(this,u,"f")&&e===F.ChainId.mainnet)M(this,o,O(this,r,"m",k).call(this),"f");else{const{tokensChainsCache:e}=this.messagingSystem.call("TokenListController:getState");M(this,o,e??{},"f")}return!0},v=async function(e,t){for(const{chainId:n,networkClientId:s}of e){if(!O(this,r,"m",b).call(this,n))continue;const e=O(this,r,"m",S).call(this,{chainId:n,selectedAddress:t}).map((e=>O(this,r,"m",R).call(this,{tokensSlice:e,selectedAddress:t,networkClientId:s,chainId:n})));await Promise.all(e)}},S=function({chainId:e,selectedAddress:t}){const{allTokens:n,allDetectedTokens:r,allIgnoredTokens:s}=this.messagingSystem.call("TokensController:getState"),[i,a,A]=[n,r,s].map((n=>(n[e]?.[t]??[]).map((e=>"string"==typeof e?e:e.address)))),c=[];for(const t of Object.keys(O(this,o,"f")?.[e]?.data||{}))[i,a,A].every((e=>!e.find((e=>(0,F.isEqualCaseInsensitive)(e,t)))))&&c.push(t);const u=[];for(let e=0,t=1e3;e<c.length;e+=t)u.push(c.slice(e,e+t));return u},k=function(){return{"0x1":{data:Object.entries(n.STATIC_MAINNET_TOKEN_LIST).reduce(((e,[t,n])=>({...e,[t]:{name:n.name,symbol:n.symbol,decimals:n.decimals,address:n.address,aggregators:[],iconUrl:n?.iconUrl}})),{}),timestamp:0}}},T=async function({selectedAddress:e,chainIds:t,supportedNetworks:n}){return await(0,F.safelyExecute)((async()=>{const s=await O(this,f,"f").getMultiNetworksBalances(e,t,n).catch((()=>null));if(null===s)return{result:"failed"};for(const n of t){const t=!O(this,u,"f")&&n===F.ChainId.mainnet,{tokensChainsCache:i}=this.messagingSystem.call("TokenListController:getState");M(this,o,t?O(this,r,"m",k).call(this):i??{},"f");const a=O(this,r,"m",S).call(this,{chainId:n,selectedAddress:e}),A=s.filter((e=>e.chainId===(0,U.hexToNumber)(n)));if(!A||0===A.length)continue;const{tokensWithBalance:c,eventTokensDetails:l}=O(this,r,"m",P).call(this,a,A,n);c.length&&(O(this,d,"f").call(this,{event:"Token Detected",category:"Wallet",properties:{tokens:l,token_standard:F.ERC20,asset_type:F.ASSET_TYPES.TOKEN}}),await this.messagingSystem.call("TokensController:addDetectedTokens",c,{selectedAddress:e,chainId:n}))}return{result:"success"}}))},P=function(e,t,n){const r=[],s=[],i=new Set(e.flat());return t?.forEach((e=>{const t=e.address;if(!i.has(t))return;const a=O(this,o,"f")[n]?.data[t];if(!a)return;const{decimals:A,symbol:c,aggregators:u,iconUrl:l,name:g}=a;s.push(`${c} - ${t}`),r.push({address:t,decimals:A,symbol:c,aggregators:u,image:l,isERC721:!1,name:g})})),{tokensWithBalance:r,eventTokensDetails:s}},R=async function({tokensSlice:e,selectedAddress:t,networkClientId:n,chainId:r}){await(0,F.safelyExecute)((async()=>{const s=await O(this,g,"f").call(this,t,e,n),i=[],a=[];for(const e of Object.keys(s)){const{decimals:t,symbol:n,aggregators:s,iconUrl:A,name:c}=O(this,o,"f")[r].data[e];a.push(`${n} - ${e}`),i.push({address:e,decimals:t,symbol:n,aggregators:s,image:A,isERC721:!1,name:c})}i.length&&(O(this,d,"f").call(this,{event:"Token Detected",category:"Wallet",properties:{tokens:a,token_standard:F.ERC20,asset_type:F.ASSET_TYPES.TOKEN}}),await this.messagingSystem.call("TokensController:addDetectedTokens",i,{selectedAddress:t,chainId:r}))}))},x=function(){return this.messagingSystem.call("AccountsController:getSelectedAccount")},N=function(){const e=this.messagingSystem.call("AccountsController:getAccount",O(this,i,"f"));return e?.address||""},n.default=Y}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokenDetectionController.cjs"}],[1320,{"./assetsUtil.cjs":1325,"./token-service.cjs":1335,"@metamask/controller-utils":1474,"@metamask/polling-controller":1339,"async-mutex":3913},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.TokenListController=n.getDefaultTokenListState=void 0;const A=e("@metamask/controller-utils"),c=e("@metamask/polling-controller"),u=e("async-mutex"),l=e("./assetsUtil.cjs"),g=e("./token-service.cjs"),d={tokenList:{persist:!0,anonymous:!0},tokensChainsCache:{persist:!0,anonymous:!0},preventPollingOnNetworkRestart:{persist:!0,anonymous:!0}};n.getDefaultTokenListState=()=>({tokenList:{},tokensChainsCache:{},preventPollingOnNetworkRestart:!1});class f extends((0,c.StaticIntervalPollingController)()){constructor({chainId:e,preventPollingOnNetworkRestart:t=!1,onNetworkStateChange:i,interval:a=864e5,cacheRefreshThreshold:A=864e5,messenger:c,state:l}){super({name:"TokenListController",metadata:d,messenger:c,state:{...(0,n.getDefaultTokenListState)(),...l}}),r.add(this),this.mutex=new u.Mutex,this.intervalDelay=a,this.setIntervalLength(a),this.cacheRefreshThreshold=A,this.chainId=e,this.updatePreventPollingOnNetworkRestart(t),this.abortController=new AbortController,i?i((async e=>{await o(this,r,"m",s).call(this,e)})):this.messagingSystem.subscribe("NetworkController:stateChange",(async e=>{await o(this,r,"m",s).call(this,e)}))}async start(){(0,l.isTokenListSupportedForNetwork)(this.chainId)&&await o(this,r,"m",i).call(this)}async restart(){this.stopPolling(),await o(this,r,"m",i).call(this)}stop(){this.stopPolling()}destroy(){super.destroy(),this.stopPolling()}stopPolling(){this.intervalId&&clearInterval(this.intervalId)}async _executePoll({chainId:e}){return this.fetchTokenList(e)}async fetchTokenList(e){const t=await this.mutex.acquire();try{const{tokensChainsCache:t}=this.state;let n={};const s=await(0,A.safelyExecute)((()=>o(this,r,"m",a).call(this,e)));if(s)n={...s};else{const r=await(0,A.safelyExecute)((()=>(0,g.fetchTokenListByChainId)(e,this.abortController.signal)));if(r){n={};for(const t of r)n[t.address]={...t,aggregators:(0,l.formatAggregatorNames)(t.aggregators),iconUrl:(0,l.formatIconUrlWithProxy)({chainId:e,tokenAddress:t.address})}}else n={...t[e]?.data||{}}}this.update((()=>({...this.state,tokenList:this.chainId===e?n:this.state.tokenList,tokensChainsCache:{...t,[e]:{timestamp:Date.now(),data:n}}})))}finally{t()}}clearingTokenListData(){this.update((()=>({...this.state,tokenList:{},tokensChainsCache:{}})))}updatePreventPollingOnNetworkRestart(e){this.update((()=>({...this.state,preventPollingOnNetworkRestart:e})))}}n.TokenListController=f,r=new WeakSet,s=async function(e){const t=this.messagingSystem.call("NetworkController:getNetworkClientById",e.selectedNetworkClientId),{chainId:n}=t.configuration;this.chainId!==n&&(this.abortController.abort(),this.abortController=new AbortController,this.chainId=n,this.state.preventPollingOnNetworkRestart?this.clearingTokenListData():this.update((()=>({...this.state,tokenList:this.state.tokensChainsCache[this.chainId]?.data||{}}))))},i=async function(){await(0,A.safelyExecute)((()=>this.fetchTokenList(this.chainId))),this.intervalId=setInterval((async()=>{await(0,A.safelyExecute)((()=>this.fetchTokenList(this.chainId)))}),this.intervalDelay)},a=async function(e){const{tokensChainsCache:t}=this.state,n=t[e],r=Date.now();return n?.data&&r-n?.timestamp<this.cacheRefreshThreshold?n.data:null},n.default=f}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokenListController.cjs"}],[1321,{"./assetsUtil.cjs":1325,"./crypto-compare-service/index.cjs":1328,"./token-prices-service/codefi-v2.cjs":1333,"@metamask/controller-utils":1474,"@metamask/polling-controller":1339,"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m,E,C,I,B,w,y,Q,b,v=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},S=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.TokenRatesController=n.getDefaultTokenRatesControllerState=n.controllerName=void 0;const k=e("@metamask/controller-utils"),T=e("@metamask/polling-controller"),P=e("@metamask/utils"),R=e("lodash"),x=e("./assetsUtil.cjs"),N=e("./crypto-compare-service/index.cjs"),M=e("./token-prices-service/codefi-v2.cjs");var O;async function D({from:e,to:t}){try{return(await(0,N.fetchExchangeRate)(t,e,false)).conversionRate}catch(e){if(e instanceof Error&&e.message.includes("market does not exist for this coin pair"))return null;throw e}}!function(e){e.Active="Active",e.Inactive="Inactive"}(O||(O={})),n.controllerName="TokenRatesController";const L={marketData:{persist:!0,anonymous:!1}};n.getDefaultTokenRatesControllerState=()=>({marketData:{}});class F extends((0,T.StaticIntervalPollingController)()){constructor({interval:e=18e4,disabled:t=!1,tokenPricesService:m,messenger:B,state:w}){super({name:n.controllerName,messenger:B,state:{...(0,n.getDefaultTokenRatesControllerState)(),...w},metadata:L}),r.add(this),s.set(this,void 0),i.set(this,O.Inactive),a.set(this,void 0),o.set(this,{}),A.set(this,void 0),c.set(this,void 0),u.set(this,void 0),l.set(this,void 0),g.set(this,void 0),d.set(this,void 0),f.set(this,void 0),this.setIntervalLength(e),v(this,a,m,"f"),v(this,c,t,"f"),v(this,g,e,"f");const{chainId:y,ticker:Q}=S(this,r,"m",C).call(this);v(this,u,y,"f"),v(this,l,Q,"f"),v(this,A,S(this,r,"m",E).call(this).id,"f");const{allTokens:b,allDetectedTokens:k}=S(this,r,"m",I).call(this);v(this,d,b,"f"),v(this,f,k,"f"),S(this,r,"m",h).call(this),S(this,r,"m",p).call(this)}enable(){v(this,c,!1,"f")}disable(){v(this,c,!0,"f")}async start(){S(this,r,"m",B).call(this),v(this,i,O.Active,"f"),await S(this,r,"m",w).call(this)}stop(){S(this,r,"m",B).call(this),v(this,i,O.Inactive,"f")}async updateExchangeRates(){await this.updateExchangeRatesByChainId({chainId:S(this,u,"f"),nativeCurrency:S(this,l,"f")})}async updateExchangeRatesByChainId({chainId:e,nativeCurrency:t}){if(S(this,c,"f"))return;const n=S(this,r,"m",m).call(this,e),s=`${e}:${t}`;if(s in S(this,o,"f"))return void await S(this,o,"f")[s];const{promise:i,resolve:a,reject:A}=(0,P.createDeferredPromise)({suppressUnhandledRejection:!0});S(this,o,"f")[s]=i;try{const s={[e]:{...await S(this,r,"m",y).call(this,{tokenAddresses:n,chainId:e,nativeCurrency:t})??{}}};this.update((e=>{e.marketData={...e.marketData,...s}})),a()}catch(e){throw A(e),e}finally{delete S(this,o,"f")[s]}}async _executePoll({chainId:e}){const{networkConfigurationsByChainId:t}=this.messagingSystem.call("NetworkController:getState"),n=t[e];n?await this.updateExchangeRatesByChainId({chainId:e,nativeCurrency:n.nativeCurrency}):console.error(`TokenRatesController: No network configuration found for chainId ${e}`)}resetState(){this.update((()=>(0,n.getDefaultTokenRatesControllerState)()))}}n.TokenRatesController=F,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,c=new WeakMap,u=new WeakMap,l=new WeakMap,g=new WeakMap,d=new WeakMap,f=new WeakMap,r=new WeakSet,h=function(){this.messagingSystem.subscribe("TokensController:stateChange",(async({allTokens:e,allDetectedTokens:t})=>{if(S(this,c,"f"))return;const n=[...new Set([...Object.keys(e),...Object.keys(t)])].filter((n=>!(0,R.isEqual)(S(this,d,"f")[n],e[n])||!(0,R.isEqual)(S(this,f,"f")[n],t[n])));v(this,d,e,"f"),v(this,f,t,"f");const{networkConfigurationsByChainId:r}=this.messagingSystem.call("NetworkController:getState");await Promise.allSettled(n.map((async e=>{const t=r[e]?.nativeCurrency;t&&await this.updateExchangeRatesByChainId({chainId:e,nativeCurrency:t})})))}),(({allTokens:e,allDetectedTokens:t})=>({allTokens:e,allDetectedTokens:t})))},p=function(){this.messagingSystem.subscribe("NetworkController:stateChange",(async({selectedNetworkClientId:e},t)=>{const{configuration:{chainId:n,ticker:r}}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);S(this,u,"f")===n&&S(this,l,"f")===r||(v(this,u,n,"f"),v(this,l,r,"f"),S(this,i,"f")===O.Active&&await this.updateExchangeRates());for(const e of t)if("remove"===e.op&&"networkConfigurationsByChainId"===e.path[0]){const t=e.path[1];this.update((e=>{delete e.marketData[t]}))}}))},m=function(e){const t=e=>Object.values(e??{}).flatMap((e=>e.map((({address:e})=>(0,k.toChecksumHexAddress)(e))))),n=t(S(this,d,"f")[e]),r=t(S(this,f,"f")[e]);return[...new Set([...n,...r])].sort()},E=function(){return this.messagingSystem.call("AccountsController:getSelectedAccount")},C=function(){const{selectedNetworkClientId:e}=this.messagingSystem.call("NetworkController:getState"),t=this.messagingSystem.call("NetworkController:getNetworkClientById",e);return{chainId:t.configuration.chainId,ticker:t.configuration.ticker}},I=function(){const{allTokens:e,allDetectedTokens:t}=this.messagingSystem.call("TokensController:getState");return{allTokens:e,allDetectedTokens:t}},B=function(){S(this,s,"f")&&clearTimeout(S(this,s,"f"))},w=async function e(){await(0,k.safelyExecute)((()=>this.updateExchangeRates())),v(this,s,setTimeout((()=>{S(this,r,"m",e).call(this)}),S(this,g,"f")),"f")},y=async function({tokenAddresses:e,chainId:t,nativeCurrency:n}){return S(this,a,"f").validateChainIdSupported(t)?S(this,a,"f").validateCurrencySupported(n)?await S(this,r,"m",Q).call(this,{tokenAddresses:e,chainId:t,nativeCurrency:n}):await S(this,r,"m",b).call(this,{chainId:t,tokenAddresses:e,nativeCurrency:n}):e.reduce(((e,t)=>e={...e,[t]:undefined}),{})},Q=async function({tokenAddresses:e,chainId:t,nativeCurrency:n}){let r;if(r=await(0,x.reduceInBatchesSerially)({values:[...e].sort(),batchSize:x.TOKEN_PRICES_BATCH_SIZE,eachBatch:async(e,r)=>({...e,...await S(this,a,"f").fetchTokenPrices({tokenAddresses:r,chainId:t,currency:n})}),initialResult:{}}),0===e.length){const e=await S(this,a,"f").fetchTokenPrices({tokenAddresses:[],chainId:t,currency:n});r={[(0,M.getNativeTokenAddress)(t)]:{currency:n,...e[(0,M.getNativeTokenAddress)(t)]}}}return Object.entries(r).reduce(((e,[t,n])=>e={...e,[t]:{...n}}),{})},b=async function({chainId:e,tokenAddresses:t,nativeCurrency:n}){const[s,i]=await Promise.all([S(this,r,"m",Q).call(this,{tokenAddresses:t,chainId:e,nativeCurrency:k.FALL_BACK_VS_CURRENCY}),D({from:k.FALL_BACK_VS_CURRENCY,to:n})]);if(null===i)return{};const a=e=>e!==undefined&&null!==e?e*i:undefined;return Object.entries(s).reduce(((e,[t,r])=>e={...e,[t]:{...r,currency:n,price:a(r.price),marketCap:a(r.marketCap),allTimeHigh:a(r.allTimeHigh),allTimeLow:a(r.allTimeLow),totalVolume:a(r.totalVolume),high1d:a(r.high1d),low1d:a(r.low1d),dilutedMarketCap:a(r.dilutedMarketCap)}}),{})},n.default=F}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokenRatesController.cjs"}],[1322,{"../assetsUtil.cjs":1325,"../token-service.cjs":1335,"@metamask/base-controller":1383},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},l=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.TokenSearchDiscoveryDataController=n.getDefaultTokenSearchDiscoveryDataControllerState=n.MAX_TOKEN_DISPLAY_DATA_LENGTH=n.controllerName=void 0;const g=e("@metamask/base-controller"),d=e("../assetsUtil.cjs"),f=e("../token-service.cjs");n.controllerName="TokenSearchDiscoveryDataController",n.MAX_TOKEN_DISPLAY_DATA_LENGTH=10;const h={tokenDisplayData:{persist:!0,anonymous:!1},swapsTokenAddressesByChainId:{persist:!0,anonymous:!1}};function p(){return{tokenDisplayData:[],swapsTokenAddressesByChainId:{}}}n.getDefaultTokenSearchDiscoveryDataControllerState=p;class m extends g.BaseController{constructor({state:e={},messenger:t,tokenPricesService:c,swapsSupportedChainIds:l,fetchTokens:g,fetchSwapsTokensThresholdMs:d}){super({name:n.controllerName,metadata:h,messenger:t,state:{tokenDisplayData:[],swapsTokenAddressesByChainId:{},...e}}),r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),A.set(this,void 0),u(this,s,new AbortController,"f"),u(this,i,c,"f"),u(this,a,l,"f"),u(this,o,g,"f"),u(this,A,d,"f")}async fetchSwapsTokens(e){if(!l(this,a,"f").includes(e))return;const t=this.state.swapsTokenAddressesByChainId[e];if((!t||t.lastFetched<Date.now()-l(this,A,"f"))&&!t?.isFetching)try{this.update((t=>{t.swapsTokenAddressesByChainId[e]?t.swapsTokenAddressesByChainId[e].isFetching=!0:t.swapsTokenAddressesByChainId[e]={lastFetched:Date.now(),addresses:[],isFetching:!0}}));const t=await l(this,o,"f").call(this,e);this.update((n=>{n.swapsTokenAddressesByChainId[e]={lastFetched:Date.now(),addresses:t.map((e=>e.address)),isFetching:!1}}))}catch(e){console.error(e)}}async fetchTokenDisplayData(e,t){let i;await this.fetchSwapsTokens(e);try{i=await(0,f.fetchTokenMetadata)(e,t,l(this,s,"f").signal)}catch(e){if(!(e instanceof Error&&e.message.includes(f.TOKEN_METADATA_NO_SUPPORT_ERROR)))throw e}const{currentCurrency:a}=this.messagingSystem.call("CurrencyRateController:getState");let o;if(i){const n=await l(this,r,"m",c).call(this,e,t);o={found:!0,address:t,chainId:e,currency:a,token:{...i,isERC721:!1,image:(0,d.formatIconUrlWithProxy)({chainId:e,tokenAddress:t})},price:n}}else o={found:!1,address:t,chainId:e,currency:a};this.update((r=>{r.tokenDisplayData=[o,...r.tokenDisplayData.filter((n=>n.address!==t||n.chainId!==e||n.currency!==a))].slice(0,n.MAX_TOKEN_DISPLAY_DATA_LENGTH)}))}}n.TokenSearchDiscoveryDataController=m,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,r=new WeakSet,c=async function(e,t){const{currentCurrency:n}=this.messagingSystem.call("CurrencyRateController:getState");try{return(await l(this,i,"f").fetchTokenPrices({chainId:e,tokenAddresses:[t],currency:n}))[t]??null}catch(e){return console.error(e),null}}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.cjs"}],[1323,{"./TokenSearchDiscoveryDataController.cjs":1322},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./TokenSearchDiscoveryDataController.cjs"),n)}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokenSearchDiscoveryDataController/index.cjs"}],[1324,{"./Standards/ERC20Standard.cjs":1315,"./Standards/NftStandards/ERC1155/ERC1155Standard.cjs":1316,"./assetsUtil.cjs":1325,"./token-service.cjs":1335,"@ethersproject/contracts":507,"@ethersproject/providers":545,"@metamask/base-controller":1383,"@metamask/contract-metadata":1471,"@metamask/controller-utils":1474,"@metamask/metamask-eth-abis":2089,"@metamask/rpc-errors":2554,"async-mutex":3913,uuid:5663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m,E,C,I,B,w,y,Q=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},b=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},v=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.TokensController=n.getDefaultTokensState=void 0;const S=e("@ethersproject/contracts"),k=e("@ethersproject/providers"),T=e("@metamask/base-controller"),P=v(e("@metamask/contract-metadata")),R=e("@metamask/controller-utils"),x=e("@metamask/metamask-eth-abis"),N=e("@metamask/rpc-errors"),M=e("async-mutex"),O=e("uuid"),D=e("./assetsUtil.cjs"),L=e("./Standards/ERC20Standard.cjs"),F=e("./Standards/NftStandards/ERC1155/ERC1155Standard.cjs"),j=e("./token-service.cjs"),U={tokens:{persist:!0,anonymous:!1},ignoredTokens:{persist:!0,anonymous:!1},detectedTokens:{persist:!0,anonymous:!1},allTokens:{persist:!0,anonymous:!1},allIgnoredTokens:{persist:!0,anonymous:!1},allDetectedTokens:{persist:!0,anonymous:!1}},_="TokensController";n.getDefaultTokensState=()=>({tokens:[],ignoredTokens:[],detectedTokens:[],allTokens:{},allIgnoredTokens:{},allDetectedTokens:{}});class H extends T.BaseController{constructor({chainId:e,provider:t,state:g,messenger:f}){super({name:_,metadata:U,messenger:f,state:{...(0,n.getDefaultTokensState)(),...g}}),r.add(this),s.set(this,new M.Mutex),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),A.set(this,void 0),Q(this,i,e,"f"),Q(this,o,t,"f"),Q(this,a,b(this,r,"m",w).call(this).id,"f"),Q(this,A,new AbortController,"f"),this.messagingSystem.registerActionHandler(`${_}:addDetectedTokens`,this.addDetectedTokens.bind(this)),this.messagingSystem.subscribe("AccountsController:selectedEvmAccountChange",b(this,r,"m",l).bind(this)),this.messagingSystem.subscribe("NetworkController:networkDidChange",b(this,r,"m",c).bind(this)),this.messagingSystem.subscribe("NetworkController:stateChange",b(this,r,"m",u).bind(this)),this.messagingSystem.subscribe("TokenListController:stateChange",(({tokenList:e})=>{const{tokens:t}=this.state;t.length&&!t[0].name&&b(this,r,"m",d).call(this,e,"name")}))}async addToken({address:e,symbol:t,decimals:n,name:a,image:o,interactingAddress:A,networkClientId:c}){const u=b(this,i,"f"),l=await b(this,s,"f").acquire(),{allTokens:d,allIgnoredTokens:h,allDetectedTokens:p}=this.state;let m=u;c&&(m=this.messagingSystem.call("NetworkController:getNetworkClientById",c).configuration.chainId);const B=b(this,r,"m",C).call(this,A),w=b(this,r,"m",I).call(this,B);try{e=(0,R.toChecksumHexAddress)(e);const s=d[m]?.[B]||[],A=h[m]?.[B]||[],u=p[m]?.[B]||[],l=[...s],[C,I]=await Promise.all([b(this,r,"m",f).call(this,e,c),b(this,r,"m",g).call(this,e)]);if(!c&&m!==b(this,i,"f"))throw new Error("TokensController Error: Switched networks while adding token");const y={address:e,symbol:t,decimals:n,image:o||(0,D.formatIconUrlWithProxy)({chainId:m,tokenAddress:e}),isERC721:C,aggregators:(0,D.formatAggregatorNames)(I?.aggregators||[]),name:a},Q=l.findIndex((t=>t.address.toLowerCase()===e.toLowerCase()));-1!==Q?l[Q]=y:l.push(y);const v=A.filter((t=>t.toLowerCase()!==e.toLowerCase())),S=u.filter((t=>t.address.toLowerCase()!==e.toLowerCase())),{newAllTokens:k,newAllIgnoredTokens:T,newAllDetectedTokens:P}=b(this,r,"m",E).call(this,{newTokens:l,newIgnoredTokens:v,newDetectedTokens:S,interactingAddress:B,interactingChainId:m});let x={allTokens:k,allIgnoredTokens:T,allDetectedTokens:P};return w&&(x={...x,tokens:l,ignoredTokens:v,detectedTokens:S}),this.update((e=>{Object.assign(e,x)})),l}finally{l()}}async addTokens(e,t){const n=await b(this,s,"f").acquire(),{allTokens:a,ignoredTokens:o,allDetectedTokens:A}=this.state,c={};let u=b(this,i,"f");t&&(u=this.messagingSystem.call("NetworkController:getNetworkClientById",t).configuration.chainId);const l=[...a[u]?.[b(this,r,"m",w).call(this).address]||[],...e].reduce(((e,t)=>(e[t.address]=t,e)),{});try{e.forEach((e=>{const{address:t,symbol:n,decimals:r,image:s,aggregators:i,name:a}=e,o={address:(0,R.toChecksumHexAddress)(t),symbol:n,decimals:r,image:s,aggregators:i,name:a};return l[t]=o,c[t.toLowerCase()]=!0,o}));const t=Object.values(l),n=o.filter((e=>!l[e.toLowerCase()])),s=u?A?.[u]?.[b(this,r,"m",y).call(this)]:[],a=s?.filter((e=>!c[e.address.toLowerCase()])),{newAllTokens:g,newAllDetectedTokens:d,newAllIgnoredTokens:f}=b(this,r,"m",E).call(this,{newTokens:t,newDetectedTokens:a,newIgnoredTokens:n,interactingChainId:u});this.update((e=>{u===b(this,i,"f")&&(e.tokens=t,e.detectedTokens=a,e.ignoredTokens=n),e.allTokens=g,e.allDetectedTokens=d,e.allIgnoredTokens=f}))}finally{n()}}ignoreTokens(e,t){let n=b(this,i,"f");t&&(n=this.messagingSystem.call("NetworkController:getNetworkClientById",t).configuration.chainId);const{allTokens:s,allDetectedTokens:a,allIgnoredTokens:o}=this.state,A={},c=o[n??b(this,i,"f")]?.[b(this,r,"m",y).call(this)]||[];let u=[...c];const l=s[n??b(this,i,"f")]?.[b(this,r,"m",y).call(this)]||[],g=a[n??b(this,i,"f")]?.[b(this,r,"m",y).call(this)]||[],d=e.map((e=>{const t=(0,R.toChecksumHexAddress)(e);return A[e.toLowerCase()]=!0,t}));u=[...c,...d];const f=g.filter((e=>!A[e.address.toLowerCase()])),h=l.filter((e=>!A[e.address.toLowerCase()])),{newAllIgnoredTokens:p,newAllDetectedTokens:m,newAllTokens:C}=b(this,r,"m",E).call(this,{newIgnoredTokens:u,newDetectedTokens:f,newTokens:h,interactingChainId:n});this.update((e=>{e.allIgnoredTokens=p,e.allDetectedTokens=m,e.allTokens=C,n===b(this,i,"f")&&(e.detectedTokens=f,e.tokens=h,e.ignoredTokens=u)}))}async addDetectedTokens(e,t){const n=await b(this,s,"f").acquire(),a=t?.chainId??b(this,i,"f"),o=t?.selectedAddress??b(this,r,"m",y).call(this),{allTokens:A,allDetectedTokens:c,allIgnoredTokens:u}=this.state;let l=[...A?.[a]?.[o]??[]],g=[...c?.[a]?.[o]??[]];try{e.forEach((e=>{const{address:t,symbol:n,decimals:r,image:s,aggregators:i,isERC721:A,name:c}=e,d=(0,R.toChecksumHexAddress)(t),f={address:d,symbol:n,decimals:r,image:s,isERC721:A,aggregators:i,name:c},h=l.findIndex((e=>e.address.toLowerCase()===d.toLowerCase()));if(-1!==h)l[h]=f;else{if(-1===(u?.[a]?.[o]?.indexOf(t)??-1)){const e=g.findIndex((e=>e.address.toLowerCase()===d.toLowerCase()));-1!==e?g[e]=f:g.push(f)}}}));const{newAllTokens:t,newAllDetectedTokens:n}=b(this,r,"m",E).call(this,{newTokens:l,newDetectedTokens:g,interactingAddress:o,interactingChainId:a}),s=b(this,r,"m",y).call(this);l=t?.[b(this,i,"f")]?.[s]||[],g=n?.[b(this,i,"f")]?.[s]||[],this.update((e=>{e.tokens=l,e.allTokens=t,e.detectedTokens=g,e.allDetectedTokens=n}))}finally{n()}}async updateTokenType(e){const t=await b(this,r,"m",f).call(this,e),n=[...this.state.tokens],s=n.findIndex((t=>t.address.toLowerCase()===e.toLowerCase())),i={...n[s],isERC721:t};return n[s]=i,this.update((e=>{e.tokens=n})),i}async watchAsset({asset:e,type:t,interactingAddress:n,networkClientId:s}){if(t!==R.ERC20)throw new Error(`Asset of type ${t} not supported`);if(!e.address)throw N.rpcErrors.invalidParams("Address must be specified");if(!(0,R.isValidHexAddress)(e.address))throw N.rpcErrors.invalidParams(`Invalid address "${e.address}"`);const i=b(this,r,"m",C).call(this,n);if(await b(this,r,"m",f).call(this,e.address,s))throw N.rpcErrors.invalidParams(`Contract ${e.address} must match type ${t}, but was detected as ${R.ERC721}`);const a=b(this,r,"m",h).call(this,s);if(await(0,R.safelyExecute)((()=>new F.ERC1155Standard(a).contractSupportsBase1155Interface(e.address))))throw N.rpcErrors.invalidParams(`Contract ${e.address} must match type ${t}, but was detected as ${R.ERC1155}`);const o=new L.ERC20Standard(a),[A,c,u]=await Promise.all([(0,R.safelyExecute)((()=>o.getTokenName(e.address))),(0,R.safelyExecute)((()=>o.getTokenSymbol(e.address))),(0,R.safelyExecute)((async()=>o.getTokenDecimals(e.address)))]);if(e.name=A,!e.symbol&&!c)throw N.rpcErrors.invalidParams("A symbol is required, but was not found in either the request or contract");if(c!==undefined&&e.symbol!==undefined&&e.symbol.toUpperCase()!==c.toUpperCase())throw N.rpcErrors.invalidParams(`The symbol in the request (${e.symbol}) does not match the symbol in the contract (${c})`);if(e.symbol=c??e.symbol,"string"!=typeof e.symbol)throw N.rpcErrors.invalidParams("Invalid symbol: not a string");if(e.symbol.length>11)throw N.rpcErrors.invalidParams(`Invalid symbol "${e.symbol}": longer than 11 characters`);if(e.decimals===undefined&&u===undefined)throw N.rpcErrors.invalidParams("Decimals are required, but were not found in either the request or contract");if(u!==undefined&&e.decimals!==undefined&&String(e.decimals)!==u)throw N.rpcErrors.invalidParams(`The decimals in the request (${e.decimals}) do not match the decimals in the contract (${u})`);const l=u??e.decimals,g=parseInt(l,10);if(!Number.isInteger(g)||g>36||g<0)throw N.rpcErrors.invalidParams(`Invalid decimals "${l}": must be an integer 0 <= 36`);e.decimals=g;const d={asset:e,id:b(this,r,"m",m).call(this),time:Date.now(),type:t,interactingAddress:i};await b(this,r,"m",B).call(this,d);const{address:p,symbol:E,decimals:I,name:w,image:y}=e;await this.addToken({address:p,symbol:E,decimals:I,name:w,image:y,interactingAddress:d.interactingAddress,networkClientId:s})}clearIgnoredTokens(){this.update((e=>{e.ignoredTokens=[],e.allIgnoredTokens={}}))}resetState(){this.update((()=>(0,n.getDefaultTokensState)()))}}n.TokensController=H,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,r=new WeakSet,c=function({selectedNetworkClientId:e}){const t=this.messagingSystem.call("NetworkController:getNetworkClientById",e),{allTokens:n,allIgnoredTokens:s,allDetectedTokens:a}=this.state,{chainId:o}=t.configuration;b(this,A,"f").abort(),Q(this,A,new AbortController,"f"),Q(this,i,o,"f");const c=b(this,r,"m",y).call(this);this.update((e=>{e.tokens=n[o]?.[c]||[],e.ignoredTokens=s[o]?.[c]||[],e.detectedTokens=a[o]?.[c]||[]}))},u=function(e,t){for(const e of t)if("remove"===e.op&&"networkConfigurationsByChainId"===e.path[0]){const t=e.path[1];this.update((e=>{delete e.allTokens[t],delete e.allIgnoredTokens[t],delete e.allDetectedTokens[t]}))}},l=function(e){const{allTokens:t,allIgnoredTokens:n,allDetectedTokens:r}=this.state;Q(this,a,e.id,"f"),this.update((s=>{s.tokens=t[b(this,i,"f")]?.[e.address]??[],s.ignoredTokens=n[b(this,i,"f")]?.[e.address]??[],s.detectedTokens=r[b(this,i,"f")]?.[e.address]??[]}))},g=async function(e){try{return await(0,j.fetchTokenMetadata)(b(this,i,"f"),e,b(this,A,"f").signal)}catch(e){if(e instanceof Error&&e.message.includes(j.TOKEN_METADATA_NO_SUPPORT_ERROR))return undefined;throw e}},d=function(e,t){const{tokens:n}=this.state,r=n.map((n=>{const r=e[n.address.toLowerCase()];return!n[t]&&r?.[t]?{...n,[t]:r[t]}:{...n}}));this.update((e=>{e.tokens=r}))},f=async function(e,t){const n=(0,R.toChecksumHexAddress)(e);if(!0===P.default[n]?.erc721)return Promise.resolve(!0);if(!0===P.default[n]?.erc20)return Promise.resolve(!1);const s=b(this,r,"m",p).call(this,e,x.abiERC721,t);try{return await s.supportsInterface(R.ERC721_INTERFACE_ID)}catch(e){return!1}},h=function(e){return new k.Web3Provider(e?this.messagingSystem.call("NetworkController:getNetworkClientById",e).provider:b(this,o,"f"))},p=function(e,t,n){const s=b(this,r,"m",h).call(this,n);return new S.Contract(e,t,s)},m=function(){return(0,O.v1)()},E=function(e){const{newTokens:t,newIgnoredTokens:n,newDetectedTokens:s,interactingAddress:a,interactingChainId:o}=e,{allTokens:A,allIgnoredTokens:c,allDetectedTokens:u}=this.state,l=b(this,r,"m",C).call(this,a),g=o??b(this,i,"f");let d=A;if(t?.length||t&&A&&A[g]&&A[g][l]){const e={...A[g],[l]:t};d={...A,[g]:e}}let f=c;if(n?.length||n&&c&&c[g]&&c[g][l]){const e={...c[g],[l]:n};f={...c,[g]:e}}let h=u;if(s?.length||s&&u&&u[g]&&u[g][l]){const e={...u[g],[l]:s};h={...u,[g]:e}}return{newAllTokens:d,newAllIgnoredTokens:f,newAllDetectedTokens:h}},C=function(e){return e||b(this,r,"m",y).call(this)},I=function(e){return b(this,r,"m",y).call(this)===e},B=async function(e){return this.messagingSystem.call("ApprovalController:addRequest",{id:e.id,origin:R.ORIGIN_METAMASK,type:R.ApprovalType.WatchAsset,requestData:{id:e.id,interactingAddress:e.interactingAddress,asset:{address:e.asset.address,decimals:e.asset.decimals,symbol:e.asset.symbol,image:e.asset.image||null}}},!0)},w=function(){return this.messagingSystem.call("AccountsController:getSelectedAccount")},y=function(){const e=this.messagingSystem.call("AccountsController:getAccount",b(this,a,"f"));return e?.address||""},n.default=H}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/TokensController.cjs"}],[1325,{"@metamask/controller-utils":1474,"@metamask/utils":2950,"bn.js":4026,multiformats:4949},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.getKeyByValue=n.fetchTokenContractExchangeRates=n.reduceInBatchesSerially=n.divideIntoBatches=n.ethersBigNumberToBN=n.addUrlProtocolPrefix=n.getFormattedIpfsUrl=n.getIpfsCIDv1AndPath=n.removeIpfsProtocolPrefix=n.isTokenListSupportedForNetwork=n.isTokenDetectionSupportedForNetwork=n.SupportedStakedBalanceNetworks=n.SupportedTokenDetectionNetworks=n.formatIconUrlWithProxy=n.formatAggregatorNames=n.hasNewCollectionFields=n.compareNftMetadata=n.TOKEN_PRICES_BATCH_SIZE=void 0;const s=e("@metamask/controller-utils"),i=e("@metamask/utils"),a=r(e("bn.js"));n.TOKEN_PRICES_BATCH_SIZE=30,n.compareNftMetadata=function(e,t){return["image","backgroundColor","imagePreview","imageThumbnail","imageOriginal","animation","animationOriginal","externalLink","tokenURI","chainId"].reduce(((n,r)=>e[r]&&e[r]!==t[r]?n+1:n),0)>0},n.hasNewCollectionFields=function(e,t){const n=Object.keys(e.collection??{}),r=new Set(Object.keys(t.collection??{}));return n.some((e=>!r.has(e)))};const o={aave:"Aave",bancor:"Bancor",cmc:"CMC",cryptocom:"Crypto.com",coinGecko:"CoinGecko",oneInch:"1inch",paraswap:"Paraswap",pmm:"PMM",zapper:"Zapper",zerion:"Zerion",zeroEx:"0x",synthetix:"Synthetix",yearn:"Yearn",apeswap:"ApeSwap",binanceDex:"BinanceDex",pancakeTop100:"PancakeTop100",pancakeExtended:"PancakeExtended",balancer:"Balancer",quickswap:"QuickSwap",matcha:"Matcha",pangolinDex:"PangolinDex",pangolinDexStableCoin:"PangolinDexStableCoin",pangolinDexAvaxBridge:"PangolinDexAvaxBridge",traderJoe:"TraderJoe",airswapLight:"AirswapLight",kleros:"Kleros"};n.formatAggregatorNames=e=>e.map((e=>o[e]||`${e[0].toUpperCase()}${e.substring(1,e.length)}`));var A,c;function u(e){return Object.values(A).includes(e)}function l(e){if(e.startsWith("ipfs://ipfs/"))return e.replace("ipfs://ipfs/","");if(e.startsWith("ipfs://"))return e.replace("ipfs://","");throw new Error("this method should not be used with non ipfs urls")}async function g(t){const n=l(t),r=n.indexOf("/"),s=-1!==r?n.substring(0,r):n,i=-1!==r?n.substring(r):undefined,{CID:a}=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e("multiformats"));return{cid:a.parse(s).toV1().toString(),path:i}}function d(e){return e.match(/(^http:\/\/)|(^https:\/\/)/u)?e:`https://${e}`}function f(e,{batchSize:t}){const n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}async function h({values:e,batchSize:t,eachBatch:n,initialResult:r}){const s=f(e,{batchSize:t});let i=r;for(const[e,t]of s.entries())i=await n(i,t,e);return i}n.formatIconUrlWithProxy=({chainId:e,tokenAddress:t})=>`https://static.cx.metamask.io/api/v1/tokenIcons/${(0,s.convertHexToDecimal)(e).toString()}/${t.toLowerCase()}.png`,function(e){e.mainnet="0x1",e.bsc="0x38",e.polygon="0x89",e.avax="0xa86a",e.aurora="0x4e454152",e.linea_goerli="0xe704",e.linea_mainnet="0xe708",e.arbitrum="0xa4b1",e.optimism="0xa",e.base="0x2105",e.zksync="0x144",e.cronos="0x19",e.celo="0xa4ec",e.gnosis="0x64",e.fantom="0xfa",e.polygon_zkevm="0x44d",e.moonbeam="0x504",e.moonriver="0x505"}(A||(n.SupportedTokenDetectionNetworks=A={})),function(e){e.mainnet="0x1",e.holesky="0x4268"}(c||(n.SupportedStakedBalanceNetworks=c={})),n.isTokenDetectionSupportedForNetwork=u,n.isTokenListSupportedForNetwork=function(e){return u(e)},n.removeIpfsProtocolPrefix=l,n.getIpfsCIDv1AndPath=g,n.getFormattedIpfsUrl=async function(e,t,n){const{host:r,protocol:s,origin:i}=new URL(d(e));if(n){const{cid:e,path:n}=await g(t);return`${s}//${e}.ipfs.${r}${n??""}`}return`${i}/ipfs/${l(t)}`},n.addUrlProtocolPrefix=d,n.ethersBigNumberToBN=function(e){return new a.default((0,i.remove0x)(e.toHexString()),"hex")},n.divideIntoBatches=f,n.reduceInBatchesSerially=h,n.fetchTokenContractExchangeRates=async function({tokenPricesService:e,nativeCurrency:t,tokenAddresses:r,chainId:i}){const a=e.validateChainIdSupported(i),o=e.validateCurrencySupported(t);if(!a||!o)return{};const A=await h({values:[...r].sort(),batchSize:n.TOKEN_PRICES_BATCH_SIZE,eachBatch:async(n,r)=>({...n,...await e.fetchTokenPrices({tokenAddresses:r,chainId:i,currency:t})}),initialResult:{}});return Object.entries(A).reduce(((e,[t,n])=>({...e,[(0,s.toChecksumHexAddress)(t)]:n?.price})),{})},n.getKeyByValue=function(e,t){for(const[n,r]of e.entries())if(r===t)return n;return null}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/assetsUtil.cjs"}],[1326,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r;Object.defineProperty(n,"__esModule",{value:!0}),n.Source=void 0,function(e){e.Custom="custom",e.Dapp="dapp",e.Detected="detected"}(r||(n.Source=r={}))}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/constants.cjs"}],[1327,{"../assetsUtil.cjs":1325,"@metamask/controller-utils":1474},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fetchMultiExchangeRate=n.fetchExchangeRate=void 0;const r=e("@metamask/controller-utils"),s=e("../assetsUtil.cjs"),i=new Map([["MNT","MANTLE"],["OMNI","OMNINET"]]),a="https://min-api.cryptocompare.com";function o(e){if("Error"===e.Response)throw new Error(e.Message)}n.fetchExchangeRate=async function(e,t,n){e=e.toUpperCase(),t=t.toUpperCase(),e=i.get(e)??e,t=i.get(t)??t;const s=await(0,r.handleFetch)(function(e,t,n){return`${a}/data/price?fsym=${t}&tsyms=${e}`+(n&&"USD"!==e.toUpperCase()?",USD":"")}(e,t,n));o(s);const A=Number(s[e.toUpperCase()]),c=Number(s.USD);if(!Number.isFinite(A))throw new Error(`Invalid response for ${e.toUpperCase()}: ${s[e.toUpperCase()]}`);if(n&&!Number.isFinite(c))throw new Error(`Invalid response for usdConversionRate: ${s.USD}`);return{conversionRate:A,usdConversionRate:c}},n.fetchMultiExchangeRate=async function(e,t,n){const A=function(e,t,n=!1){const r=n&&!t.some((e=>"USD"===e.toUpperCase()))?[...t,"USD"]:t,s=new URLSearchParams;s.append("fsyms",e.join(",")),s.append("tsyms",r.join(","));const i=new URL(`${a}/data/pricemulti`);return i.search=s.toString(),i.toString()}(t.map((e=>i.get(e)??e)),[e],n),c=await(0,r.handleFetch)(A);o(c);const u={};for(const[t,r]of Object.entries(c)){const a=(0,s.getKeyByValue)(i,t);u[a?.toLowerCase()??t.toLowerCase()]={[e.toLowerCase()]:r[e.toUpperCase()],...n&&{usd:r.USD}}}return u}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/crypto-compare-service/crypto-compare.cjs"}],[1328,{"./crypto-compare.cjs":1327},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fetchMultiExchangeRate=n.fetchExchangeRate=void 0;var r=e("./crypto-compare.cjs");Object.defineProperty(n,"fetchExchangeRate",{enumerable:!0,get:function(){return r.fetchExchangeRate}}),Object.defineProperty(n,"fetchMultiExchangeRate",{enumerable:!0,get:function(){return r.fetchMultiExchangeRate}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/crypto-compare-service/index.cjs"}],[1329,{"./AccountTrackerController.cjs":1300,"./AssetsContractController.cjs":1301,"./CurrencyRateController.cjs":1302,"./MultichainAssetsController/index.cjs":1304,"./MultichainAssetsRatesController/index.cjs":1308,"./MultichainBalancesController/index.cjs":1310,"./NftController.cjs":1311,"./NftDetectionController.cjs":1312,"./RatesController/index.cjs":1314,"./TokenBalancesController.cjs":1318,"./TokenDetectionController.cjs":1319,"./TokenListController.cjs":1320,"./TokenRatesController.cjs":1321,"./TokenSearchDiscoveryDataController/index.cjs":1323,"./TokensController.cjs":1324,"./assetsUtil.cjs":1325,"./token-prices-service/index.cjs":1334},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),n.TokenSearchDiscoveryDataController=n.getDefaultMultichainAssetsRatesControllerState=n.MultichainAssetsRatesController=n.getDefaultMultichainAssetsControllerState=n.MultichainAssetsController=n.MultichainBalancesController=n.Cryptocurrency=n.RatesController=n.getNativeTokenAddress=n.SUPPORTED_CHAIN_IDS=n.CodefiTokenPricesServiceV2=n.getKeyByValue=n.fetchTokenContractExchangeRates=n.getFormattedIpfsUrl=n.formatIconUrlWithProxy=n.isTokenDetectionSupportedForNetwork=n.TokensController=n.TokenRatesController=n.getDefaultTokenRatesControllerState=n.TokenListController=n.TokenDetectionController=n.TokenBalancesController=n.NftDetectionController=n.NftController=n.getDefaultNftControllerState=n.AssetsContractController=n.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID=n.AccountTrackerController=void 0;var i=e("./AccountTrackerController.cjs");Object.defineProperty(n,"AccountTrackerController",{enumerable:!0,get:function(){return i.AccountTrackerController}});var a=e("./AssetsContractController.cjs");Object.defineProperty(n,"SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID",{enumerable:!0,get:function(){return a.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID}}),Object.defineProperty(n,"AssetsContractController",{enumerable:!0,get:function(){return a.AssetsContractController}}),s(e("./CurrencyRateController.cjs"),n);var o=e("./NftController.cjs");Object.defineProperty(n,"getDefaultNftControllerState",{enumerable:!0,get:function(){return o.getDefaultNftControllerState}}),Object.defineProperty(n,"NftController",{enumerable:!0,get:function(){return o.NftController}});var A=e("./NftDetectionController.cjs");Object.defineProperty(n,"NftDetectionController",{enumerable:!0,get:function(){return A.NftDetectionController}});var c=e("./TokenBalancesController.cjs");Object.defineProperty(n,"TokenBalancesController",{enumerable:!0,get:function(){return c.TokenBalancesController}});var u=e("./TokenDetectionController.cjs");Object.defineProperty(n,"TokenDetectionController",{enumerable:!0,get:function(){return u.TokenDetectionController}});var l=e("./TokenListController.cjs");Object.defineProperty(n,"TokenListController",{enumerable:!0,get:function(){return l.TokenListController}});var g=e("./TokenRatesController.cjs");Object.defineProperty(n,"getDefaultTokenRatesControllerState",{enumerable:!0,get:function(){return g.getDefaultTokenRatesControllerState}}),Object.defineProperty(n,"TokenRatesController",{enumerable:!0,get:function(){return g.TokenRatesController}});var d=e("./TokensController.cjs");Object.defineProperty(n,"TokensController",{enumerable:!0,get:function(){return d.TokensController}});var f=e("./assetsUtil.cjs");Object.defineProperty(n,"isTokenDetectionSupportedForNetwork",{enumerable:!0,get:function(){return f.isTokenDetectionSupportedForNetwork}}),Object.defineProperty(n,"formatIconUrlWithProxy",{enumerable:!0,get:function(){return f.formatIconUrlWithProxy}}),Object.defineProperty(n,"getFormattedIpfsUrl",{enumerable:!0,get:function(){return f.getFormattedIpfsUrl}}),Object.defineProperty(n,"fetchTokenContractExchangeRates",{enumerable:!0,get:function(){return f.fetchTokenContractExchangeRates}}),Object.defineProperty(n,"getKeyByValue",{enumerable:!0,get:function(){return f.getKeyByValue}});var h=e("./token-prices-service/index.cjs");Object.defineProperty(n,"CodefiTokenPricesServiceV2",{enumerable:!0,get:function(){return h.CodefiTokenPricesServiceV2}}),Object.defineProperty(n,"SUPPORTED_CHAIN_IDS",{enumerable:!0,get:function(){return h.SUPPORTED_CHAIN_IDS}}),Object.defineProperty(n,"getNativeTokenAddress",{enumerable:!0,get:function(){return h.getNativeTokenAddress}});var p=e("./RatesController/index.cjs");Object.defineProperty(n,"RatesController",{enumerable:!0,get:function(){return p.RatesController}}),Object.defineProperty(n,"Cryptocurrency",{enumerable:!0,get:function(){return p.Cryptocurrency}});var m=e("./MultichainBalancesController/index.cjs");Object.defineProperty(n,"MultichainBalancesController",{enumerable:!0,get:function(){return m.MultichainBalancesController}});var E=e("./MultichainAssetsController/index.cjs");Object.defineProperty(n,"MultichainAssetsController",{enumerable:!0,get:function(){return E.MultichainAssetsController}}),Object.defineProperty(n,"getDefaultMultichainAssetsControllerState",{enumerable:!0,get:function(){return E.getDefaultMultichainAssetsControllerState}});var C=e("./MultichainAssetsRatesController/index.cjs");Object.defineProperty(n,"MultichainAssetsRatesController",{enumerable:!0,get:function(){return C.MultichainAssetsRatesController}}),Object.defineProperty(n,"getDefaultMultichainAssetsRatesControllerState",{enumerable:!0,get:function(){return C.getDefaultMultichainAssetsRatesControllerState}});var I=e("./TokenSearchDiscoveryDataController/index.cjs");Object.defineProperty(n,"TokenSearchDiscoveryDataController",{enumerable:!0,get:function(){return I.TokenSearchDiscoveryDataController}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/index.cjs"}],[1330,{"./multi-chain-accounts.cjs":1331},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fetchSupportedNetworks=n.fetchMultiChainBalances=void 0;var r=e("./multi-chain-accounts.cjs");Object.defineProperty(n,"fetchMultiChainBalances",{enumerable:!0,get:function(){return r.fetchMultiChainBalances}}),Object.defineProperty(n,"fetchSupportedNetworks",{enumerable:!0,get:function(){return r.fetchSupportedNetworks}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/multi-chain-accounts-service/index.cjs"}],[1331,{"@metamask/controller-utils":1474},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fetchMultiChainBalances=n.fetchSupportedNetworks=n.MULTICHAIN_ACCOUNTS_DOMAIN=void 0;const r=e("@metamask/controller-utils");n.MULTICHAIN_ACCOUNTS_DOMAIN="https://accounts.api.cx.metamask.io";n.fetchSupportedNetworks=async function(){const e=new URL(`${n.MULTICHAIN_ACCOUNTS_DOMAIN}/v1/supportedNetworks`);return(await(0,r.handleFetch)(e)).fullSupport},n.fetchMultiChainBalances=async function(e,t,s){const i=((e,t)=>{const r=new URL(`${n.MULTICHAIN_ACCOUNTS_DOMAIN}/v2/accounts/${e}/balances`);return t?.networks!==undefined&&r.searchParams.append("networks",t.networks),r})(e,{networks:t?.networks?.join()});return await(0,r.handleFetch)(i,{headers:{"x-metamask-clientproduct":`metamask-${s}`}})}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/multi-chain-accounts-service/multi-chain-accounts.cjs"}],[1332,{"./assetsUtil.cjs":1325,"@ethersproject/contracts":507},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.multicallOrFallback=void 0;const r=e("@ethersproject/contracts"),s=e("./assetsUtil.cjs"),i={"0x1":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3":"0xcA11bde05977b3631167028862bE2a173976CA11","0xaa36a7":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4268":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5e9":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1b6e6":"0xcA11bde05977b3631167028862bE2a173976CA11","0x18fc4a":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa":"0xcA11bde05977b3631167028862bE2a173976CA11","0x45":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1a4":"0xcA11bde05977b3631167028862bE2a173976CA11","0xaa37dc":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa4b1":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa4ba":"0xcA11bde05977b3631167028862bE2a173976CA11","0x66eed":"0xcA11bde05977b3631167028862bE2a173976CA11","0x66eee":"0xcA11bde05977b3631167028862bE2a173976CA11","0x66eeb":"0xcA11bde05977b3631167028862bE2a173976CA11","0x15f2249":"0xcA11bde05977b3631167028862bE2a173976CA11","0x89":"0xcA11bde05977b3631167028862bE2a173976CA11","0x13881":"0xcA11bde05977b3631167028862bE2a173976CA11","0x13882":"0xcA11bde05977b3631167028862bE2a173976CA11","0x44d":"0xca11bde05977b3631167028862be2a173976ca11","0x5a2":"0xca11bde05977b3631167028862be2a173976ca11","0x98a":"0xca11bde05977b3631167028862be2a173976ca11","0x64":"0xcA11bde05977b3631167028862bE2a173976CA11","0x27d8":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa86a":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa869":"0xcA11bde05977b3631167028862bE2a173976CA11","0xfa2":"0xcA11bde05977b3631167028862bE2a173976CA11","0xfa":"0xcA11bde05977b3631167028862bE2a173976CA11","0xfaf0":"0xca11bde05977b3631167028862be2a173976ca11","0x38":"0xcA11bde05977b3631167028862bE2a173976CA11","0x61":"0xcA11bde05977b3631167028862bE2a173976CA11","0x15eb":"0xcA11bde05977b3631167028862bE2a173976CA11","0xcc":"0xcA11bde05977b3631167028862bE2a173976CA11","0x504":"0xcA11bde05977b3631167028862bE2a173976CA11","0x505":"0xcA11bde05977b3631167028862bE2a173976CA11","0x507":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2a15c308d":"0xca11bde05977b3631167028862be2a173976ca11","0x2a15c3083":"0xca11bde05977b3631167028862be2a173976ca11","0x63564c40":"0xcA11bde05977b3631167028862bE2a173976CA11","0x19":"0xcA11bde05977b3631167028862bE2a173976CA11","0x152":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5535072":"0xcA11bde05977b3631167028862bE2a173976CA11","0x6c1":"0xcA11bde05977b3631167028862bE2a173976CA11","0x7a":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe":"0xcA11bde05977b3631167028862bE2a173976CA11","0x13":"0xcA11bde05977b3631167028862bE2a173976CA11","0x10":"0xcA11bde05977b3631167028862bE2a173976CA11","0x72":"0xcA11bde05977b3631167028862bE2a173976CA11","0x120":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4e454152":"0xcA11bde05977b3631167028862bE2a173976CA11","0x250":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5c2359":"0xcA11bde05977b3631167028862bE2a173976CA11","0xec0":"0xcA11bde05977b3631167028862bE2a173976CA11","0x42":"0xcA11bde05977b3631167028862bE2a173976CA11","0x80":"0xcA11bde05977b3631167028862bE2a173976CA11","0x440":"0xcA11bde05977b3631167028862bE2a173976CA11","0x257":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe9fe":"0xcA11bde05977b3631167028862bE2a173976CA11","0xd3a0":"0xcA11bde05977b3631167028862bE2a173976CA11","0x84444":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1e":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1f":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2329":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2328":"0xcA11bde05977b3631167028862bE2a173976CA11","0x6c":"0xcA11bde05977b3631167028862bE2a173976CA11","0x12":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa516":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5afe":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa4ec":"0xcA11bde05977b3631167028862bE2a173976CA11","0xaef3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x116ea":"0xcA11bde05977b3631167028862bE2a173976CA11","0x116e9":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2019":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3e9":"0xca11bde05977b3631167028862be2a173976ca11","0x7d1":"0xcA11bde05977b3631167028862bE2a173976CA11","0x141":"0xcA11bde05977b3631167028862bE2a173976CA11","0x6a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x28":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4d2":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1e14":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1e15":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1251":"0xcA11bde05977b3631167028862bE2a173976CA11","0x7f08":"0xcA11bde05977b3631167028862bE2a173976CA11","0x8ae":"0xcA11bde05977b3631167028862bE2a173976CA11","0x138b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1389":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1388":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1f92":"0xcA11bde05977b3631167028862bE2a173976CA11","0x14a33":"0xca11bde05977b3631167028862be2a173976ca11","0x14a34":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2105":"0xca11bde05977b3631167028862be2a173976ca11","0x936":"0xcA11bde05977b3631167028862bE2a173976CA11","0xff":"0xcA11bde05977b3631167028862bE2a173976CA11","0x46a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x46b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x8a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x14f":"0xcA11bde05977b3631167028862bE2a173976CA11","0xd2af":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe9ac0ce":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe705":"0xca11bde05977b3631167028862be2a173976ca11","0xe704":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe708":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2b6f":"0xcA11bde05977b3631167028862bE2a173976CA11","0x39":"0xcA11bde05977b3631167028862bE2a173976CA11","0x23a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1644":"0xcA11bde05977b3631167028862bE2a173976CA11","0xdea8":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3af":"0xcA11bde05977b3631167028862bE2a173976CA11","0x171":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3e7":"0xcA11bde05977b3631167028862bE2a173976CA11","0x76adf1":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3b9ac9ff":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2c":"0xca11bde05977b3631167028862be2a173976ca11","0x2e":"0xca11bde05977b3631167028862be2a173976ca11","0x15b3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x82751":"0xcA11bde05977b3631167028862bE2a173976CA11","0x8274f":"0xca11bde05977b3631167028862be2a173976ca11","0x82750":"0xcA11bde05977b3631167028862bE2a173976CA11","0x96f":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3cc5":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4571":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe99":"0xcA11bde05977b3631167028862bE2a173976CA11","0x7d0":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1297":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1d5e":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3a14269b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x561bf78b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x235ddd0":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3cd156dc":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5d456c62":"0xcA11bde05977b3631167028862bE2a173976CA11","0x79f99296":"0xcA11bde05977b3631167028862bE2a173976CA11","0x585eb4b1":"0xcA11bde05977b3631167028862bE2a173976CA11","0x507aaa2a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1fc3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x32d":"0xcA11bde05977b3631167028862bE2a173976CA11","0x8a73":"0xcA11bde05977b3631167028862bE2a173976CA11","0x8a72":"0xcA11bde05977b3631167028862bE2a173976CA11","0x8a71":"0xcA11bde05977b3631167028862bE2a173976CA11","0xe9ac0d6":"0xca11bde05977b3631167028862be2a173976ca11","0x1069":"0xcA11bde05977b3631167028862bE2a173976CA11","0x7e5":"0xcA11bde05977b3631167028862bE2a173976CA11","0x53":"0xca11bde05977b3631167028862be2a173976ca11","0x52":"0xca11bde05977b3631167028862be2a173976ca11","0xe298":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1a8":"0xcA11bde05977b3631167028862bE2a173976CA11","0x94":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2c6":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2803":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2802":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa9":"0xcA11bde05977b3631167028862bE2a173976CA11","0x28c5f":"0xcA11bde05977b3631167028862bE2a173976CA11","0x28c60":"0xcA11bde05977b3631167028862bE2a173976CA11","0x13a":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4cb2f":"0xdbfa261cd7d17bb40479a0493ad6c0fee435859e","0x7f93":"0xcA11bde05977b3631167028862bE2a173976CA11","0xb660":"0xcA11bde05977b3631167028862bE2a173976CA11","0xb02113d3f":"0xcA11bde05977b3631167028862bE2a173976CA11","0xdad":"0xcA11bde05977b3631167028862bE2a173976CA11","0xdae":"0xcA11bde05977b3631167028862bE2a173976CA11","0x15b38":"0xcA11bde05977b3631167028862bE2a173976CA11","0x15b32":"0xcA11bde05977b3631167028862bE2a173976CA11","0x45c":"0xcA11bde05977b3631167028862bE2a173976CA11","0x45b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3d":"0xcA11bde05977b3631167028862bE2a173976CA11","0x41a6ace":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa729":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1f47b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1b59":"0xca11bde05977b3631167028862be2a173976ca11","0x1b58":"0xcA11bde05977b3631167028862bE2a173976CA11","0xc3":"0xca11bde05977b3631167028862be2a173976ca11","0x16fd8":"0xcA11bde05977b3631167028862bE2a173976CA11","0xc7":"0xca11bde05977b3631167028862be2a173976ca11","0x405":"0xca11bde05977b3631167028862be2a173976ca11","0x334":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1ce":"0xca11bde05977b3631167028862be2a173976ca11","0x1cf":"0xca11bde05977b3631167028862be2a173976ca11","0xa70e":"0xcA11bde05977b3631167028862bE2a173976CA11","0x868b":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa0c71fd":"0xcA11bde05977b3631167028862bE2a173976CA11","0x13e31":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa1337":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1f2b":"0xcA11bde05977b3631167028862bE2a173976CA11","0xf63":"0xcA11bde05977b3631167028862bE2a173976CA11","0x144":"0xF9cda624FBC7e059355ce98a31693d299FACd963","0x118":"0xF9cda624FBC7e059355ce98a31693d299FACd963","0x12c":"0xF9cda624FBC7e059355ce98a31693d299FACd963","0x18995f":"0xF9cda624FBC7e059355ce98a31693d299FACd963","0x2b74":"0xF9cda624FBC7e059355ce98a31693d299FACd963","0xfc":"0xcA11bde05977b3631167028862bE2a173976CA11","0x9da":"0xcA11bde05977b3631167028862bE2a173976CA11","0x137":"0xcA11bde05977b3631167028862bE2a173976CA11","0x13ed":"0xcA11bde05977b3631167028862bE2a173976CA11","0x24b1":"0xcA11bde05977b3631167028862bE2a173976CA11","0xba9302":"0xcA11bde05977b3631167028862bE2a173976CA11","0x7c8":"0xcA11bde05977b3631167028862bE2a173976CA11","0x138d5":"0xcA11bde05977b3631167028862bE2a173976CA11","0x6d":"0xcA11bde05977b3631167028862bE2a173976CA11","0x343b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x34a1":"0xcA11bde05977b3631167028862bE2a173976CA11","0x3109":"0xcA11bde05977b3631167028862bE2a173976CA11","0x91b":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa96":"0xcA11bde05977b3631167028862bE2a173976CA11","0x22c3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2be3":"0xcA11bde05977b3631167028862bE2a173976CA11","0xbf03":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1b254":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa7b14":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2276":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1b9e":"0xcA11bde05977b3631167028862bE2a173976CA11","0x6a63bb8":"0xcA11bde05977b3631167028862bE2a173976CA11","0x15af3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x15af1":"0xcA11bde05977b3631167028862bE2a173976CA11","0xae3f3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x531":"0xcA11bde05977b3631167028862bE2a173976CA11","0x28c61":"0xcA11bde05977b3631167028862bE2a173976CA11","0x28c58":"0xca11bde05977b3631167028862be2a173976ca11","0x1d88":"0xcA11bde05977b3631167028862bE2a173976CA11","0x5b9b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4c7e1":"0xcA11bde05977b3631167028862bE2a173976CA11","0xa53b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1a2b":"0xcA11bde05977b3631167028862bE2a173976CA11","0x406":"0xca11bde05977b3631167028862be2a173976ca11","0x2cef":"0xcA11bde05977b3631167028862bE2a173976CA11","0x18b2":"0xca11bde05977b3631167028862be2a173976ca11","0x182a9":"0xcA11bde05977b3631167028862bE2a173976CA11","0xc4":"0xcA11bde05977b3631167028862bE2a173976CA11","0xfdd":"0xcA11bde05977b3631167028862bE2a173976CA11","0xfde":"0xcA11bde05977b3631167028862bE2a173976CA11","0x99c0a0f":"0xca11bde05977b3631167028862be2a173976ca11","0x22cf":"0xcA11bde05977b3631167028862bE2a173976CA11","0x310c5":"0xca11bde05977b3631167028862be2a173976ca11","0x46f":"0xcA11bde05977b3631167028862bE2a173976CA11","0x659":"0xca11bde05977b3631167028862be2a173976ca11","0x139c968f9":"0xcA11bde05977b3631167028862bE2a173976CA11","0xed88":"0xcA11bde05977b3631167028862bE2a173976CA11","0xd036":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1f3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x31bf8c3":"0xcA11bde05977b3631167028862bE2a173976CA11","0x1cbc67bfdc":"0xcA11bde05977b3631167028862bE2a173976CA11","0x98967f":"0xcA11bde05977b3631167028862bE2a173976CA11","0x4f588":"0xcA11bde05977b3631167028862bE2a173976CA11","0x16db":"0xca11bde05977b3631167028862be2a173976ca11","0x3a":"0xca11bde05977b3631167028862be2a173976ca11","0x59":"0xca11bde05977b3631167028862be2a173976ca11","0x1e0":"0xcA11bde05977b3631167028862bE2a173976CA11","0x2eb":"0xcA11bde05977b3631167028862bE2a173976CA11","0x221":"0xcA11bde05977b3631167028862bE2a173976CA11"},a=[{name:"tryAggregate",type:"function",stateMutability:"payable",inputs:[{name:"requireSuccess",type:"bool"},{name:"calls",type:"tuple[]",components:[{name:"target",type:"address"},{name:"callData",type:"bytes"}]}],outputs:[{name:"returnData",type:"tuple[]",components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}]}]}];n.multicallOrFallback=async(e,t,n,o=300,A=20)=>{if(0===e.length)return[];const c=i[t];if(c)try{return await(async(e,t,n,i)=>{const o=new r.Contract(t,a,n);return await(0,s.reduceInBatchesSerially)({values:e,batchSize:i,initialResult:[],eachBatch:async(e,t)=>{const n=t.map((e=>({target:e.contract.address,callData:e.contract.interface.encodeFunctionData(e.contract.interface.functions[e.functionSignature],e.arguments)})));return[...e,...(await o.callStatic.tryAggregate(!1,n)).map(((e,n)=>({success:e.success,value:e.success?t[n].contract.interface.decodeFunctionResult(t[n].functionSignature,e.returnData)[0]:undefined})))]}})})(e,c,n,o)}catch(e){if(!e||"object"!=typeof e||!("code"in e)||"CALL_EXCEPTION"!==e.code)throw e}return await(async(e,t)=>await(0,s.reduceInBatchesSerially)({values:e,batchSize:t,initialResult:[],eachBatch:async(e,t)=>[...e,...(await Promise.allSettled(t.map((e=>e.contract[e.functionSignature](...e.arguments))))).map((e=>({success:"fulfilled"===e.status,value:"fulfilled"===e.status?e.value:undefined})))]}))(e,A)}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/multicall.cjs"}],[1333,{"@metamask/controller-utils":1474,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},i=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.CodefiTokenPricesServiceV2=n.SUPPORTED_CHAIN_IDS=n.getNativeTokenAddress=n.ZERO_ADDRESS=n.SUPPORTED_CURRENCIES=void 0;const a=e("@metamask/controller-utils"),o=e("@metamask/utils");n.SUPPORTED_CURRENCIES=["btc","eth","ltc","bch","bnb","eos","xrp","xlm","link","dot","yfi","usd","aed","ars","aud","bdt","bhd","bmd","brl","cad","chf","clp","cny","czk","dkk","eur","gbp","hkd","huf","idr","ils","inr","jpy","krw","kwd","lkr","mmk","mxn","myr","ngn","nok","nzd","php","pkr","pln","rub","sar","sek","sgd","thb","try","twd","uah","vef","vnd","zar","xdr","xag","xau","bits","sats"],n.ZERO_ADDRESS="0x0000000000000000000000000000000000000000";const A={"0x89":"0x0000000000000000000000000000000000001010"};n.getNativeTokenAddress=e=>A[e]??n.ZERO_ADDRESS,n.SUPPORTED_CHAIN_IDS=["0x1","0xa","0x19","0x38","0x39","0x42","0x46","0x52","0x58","0x64","0x6a","0x7a","0x80","0x89","0xfa","0x120","0x141","0x144","0x169","0x440","0x504","0x505","0x1388","0x2105","0x150","0x2710","0xa4b1","0xa4ec","0xa516","0xa86a","0x518af","0x4e454152","0x63564c40","0xe708"];n.CodefiTokenPricesServiceV2=class{constructor({degradedThreshold:e=a.DEFAULT_DEGRADED_THRESHOLD,retries:t=a.DEFAULT_MAX_RETRIES,maximumConsecutiveFailures:n=a.DEFAULT_MAX_CONSECUTIVE_FAILURES,onBreak:o,onDegraded:A,circuitBreakDuration:c=a.DEFAULT_CIRCUIT_BREAK_DURATION}={}){r.set(this,void 0),s(this,r,(0,a.createServicePolicy)({maxRetries:t,maxConsecutiveFailures:n,circuitBreakDuration:c,degradedThreshold:e}),"f"),o&&i(this,r,"f").onBreak(o),A&&i(this,r,"f").onDegraded(A)}onBreak(...e){return i(this,r,"f").onBreak(...e)}onDegraded(...e){return i(this,r,"f").onDegraded(...e)}async fetchTokenPrices({chainId:e,tokenAddresses:t,currency:s}){const A=(0,o.hexToNumber)(e),c=new URL(`https://price.api.cx.metamask.io/v2/chains/${A}/spot-prices`);c.searchParams.append("tokenAddresses",[(0,n.getNativeTokenAddress)(e),...t].join(",")),c.searchParams.append("vsCurrency",s),c.searchParams.append("includeMarketData","true");const u=await i(this,r,"f").execute((()=>(0,a.handleFetch)(c,{headers:{"Cache-Control":"no-cache"}})));return[(0,n.getNativeTokenAddress)(e),...t].reduce(((e,t)=>{const n=t.toLowerCase(),r=u[n];if(!r)return e;const i={tokenAddress:t,currency:s,...r};return{...e,[t]:i}}),{})}validateChainIdSupported(e){const t=n.SUPPORTED_CHAIN_IDS;return"string"==typeof e&&t.includes(e)}validateCurrencySupported(e){const t=n.SUPPORTED_CURRENCIES;return"string"==typeof e&&t.includes(e.toLowerCase())}},r=new WeakMap}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/token-prices-service/codefi-v2.cjs"}],[1334,{"./codefi-v2.cjs":1333},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getNativeTokenAddress=n.SUPPORTED_CHAIN_IDS=n.CodefiTokenPricesServiceV2=void 0;var r=e("./codefi-v2.cjs");Object.defineProperty(n,"CodefiTokenPricesServiceV2",{enumerable:!0,get:function(){return r.CodefiTokenPricesServiceV2}}),Object.defineProperty(n,"SUPPORTED_CHAIN_IDS",{enumerable:!0,get:function(){return r.SUPPORTED_CHAIN_IDS}}),Object.defineProperty(n,"getNativeTokenAddress",{enumerable:!0,get:function(){return r.getNativeTokenAddress}})}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/token-prices-service/index.cjs"}],[1335,{"./assetsUtil.cjs":1325,"@metamask/controller-utils":1474},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fetchTokenMetadata=n.fetchTokenListByChainId=n.TOKEN_METADATA_NO_SUPPORT_ERROR=n.TOKEN_END_POINT_API=void 0;const r=e("@metamask/controller-utils"),s=e("./assetsUtil.cjs");n.TOKEN_END_POINT_API="https://token.api.cx.metamask.io",n.TOKEN_METADATA_NO_SUPPORT_ERROR="TokenService Error: Network does not support fetchTokenMetadata";async function i(e,t,n){const s={referrer:e,referrerPolicy:"no-referrer-when-downgrade",method:"GET",mode:"cors",signal:t,cache:"default"};s.headers=new window.Headers,s.headers.set("Content-Type","application/json");try{return await(0,r.timeoutFetch)(e,s,n)}catch(e){e instanceof Error&&"AbortError"===e.name&&console.log("Request is aborted")}return undefined}async function a(e){const t=await e.json();if(t?.error)throw new Error(`TokenService Error: ${t.error}`);return t}n.fetchTokenListByChainId=async function(e,t,{timeout:s=1e4}={}){const o=function(e){const t=e===r.ChainId["linea-mainnet"]?1:3;return`${n.TOKEN_END_POINT_API}/tokens/${(0,r.convertHexToDecimal)(e)}?occurrenceFloor=${t}&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`}(e),A=await i(o,t,s);if(A){const t=await a(A);return Array.isArray(t)&&e===r.ChainId["linea-mainnet"]?t.filter((e=>e.aggregators.includes("lineaTeam")||e.aggregators.length>=3)):t}return undefined},n.fetchTokenMetadata=async function(e,t,o,{timeout:A=1e4}={}){if(!(0,s.isTokenListSupportedForNetwork)(e))throw new Error(n.TOKEN_METADATA_NO_SUPPORT_ERROR);const c=function(e,t){return`${n.TOKEN_END_POINT_API}/token/${(0,r.convertHexToDecimal)(e)}?address=${t}`}(e,t),u=await i(c,o,A);return u?a(u):undefined}}}},{package:"@metamask/assets-controllers",file:"node_modules/@metamask/assets-controllers/dist/token-service.cjs"}],[1336,{"fast-json-stable-stringify":4434,uuid:5663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.AbstractPollingControllerBaseMixin=n.getKey=void 0;const i=s(e("fast-json-stable-stringify")),a=e("uuid");n.getKey=e=>(0,i.default)(e),n.AbstractPollingControllerBaseMixin=function(e){var t,s;return t=new WeakMap,s=new WeakMap,class extends e{constructor(){super(...arguments),t.set(this,new Map),s.set(this,new Map)}startPolling(e){const s=(0,a.v4)(),i=(0,n.getKey)(e),o=r(this,t,"f").get(i)??new Set;return o.add(s),r(this,t,"f").set(i,o),1===o.size&&this._startPolling(e),s}stopAllPolling(){r(this,t,"f").forEach(((e,t)=>{e.forEach((e=>{this.stopPollingByPollingToken(e)}))}))}stopPollingByPollingToken(e){if(!e)throw new Error("pollingToken required");let n=null;for(const[s,i]of r(this,t,"f"))if(i.delete(e)){0===i.size&&(n=s);break}if(n){this._stopPollingByPollingTokenSetId(n),r(this,t,"f").delete(n);const e=r(this,s,"f").get(n);if(e){for(const t of e)t(JSON.parse(n));e.clear()}}}onPollingComplete(e,t){const i=(0,n.getKey)(e),a=r(this,s,"f").get(i)??new Set;a.add(t),r(this,s,"f").set(i,a)}}}}}},{package:"@metamask/assets-controllers>@metamask/polling-controller",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/polling-controller/dist/AbstractPollingController.cjs"}],[1337,{"./AbstractPollingController.cjs":1336,"@metamask/base-controller":1383},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.BlockTrackerPollingController=n.BlockTrackerPollingControllerOnly=void 0;const s=e("@metamask/base-controller"),i=e("./AbstractPollingController.cjs");function a(e){var t;class n extends((0,i.AbstractPollingControllerBaseMixin)(e)){constructor(){super(...arguments),t.set(this,{})}_startPolling(e){const n=(0,i.getKey)(e);if(r(this,t,"f")[n])return;const s=this._getNetworkClientById(e.networkClientId);if(!s)throw new Error(`Unable to retrieve blockTracker for networkClientId ${e.networkClientId}`);{const i=this._executePoll.bind(this,e);s.blockTracker.addListener("latest",i),r(this,t,"f")[n]=i}}_stopPollingByPollingTokenSetId(e){const{networkClientId:n}=JSON.parse(e),s=this._getNetworkClientById(n);if(s&&r(this,t,"f")[e]){const n=r(this,t,"f")[e];n&&(s.blockTracker.removeListener("latest",n),delete r(this,t,"f")[e])}}}return t=new WeakMap,n}class o{}n.BlockTrackerPollingControllerOnly=()=>a(o);n.BlockTrackerPollingController=()=>a(s.BaseController)}}},{package:"@metamask/assets-controllers>@metamask/polling-controller",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/polling-controller/dist/BlockTrackerPollingController.cjs"}],[1338,{"./AbstractPollingController.cjs":1336,"@metamask/base-controller":1383},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},s=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.StaticIntervalPollingController=n.StaticIntervalPollingControllerOnly=void 0;const i=e("@metamask/base-controller"),a=e("./AbstractPollingController.cjs");function o(e){var t,n;class i extends((0,a.AbstractPollingControllerBaseMixin)(e)){constructor(){super(...arguments),t.set(this,{}),n.set(this,1e3)}setIntervalLength(e){r(this,n,e,"f")}getIntervalLength(){return s(this,n,"f")}_startPolling(e){if(!s(this,n,"f"))throw new Error("intervalLength must be defined and greater than 0");const r=(0,a.getKey)(e),i=s(this,t,"f")[r];this._stopPollingByPollingTokenSetId(r);const o=s(this,t,"f")[r]=setTimeout((async()=>{try{await this._executePoll(e)}catch(e){console.error(e)}o===s(this,t,"f")[r]&&this._startPolling(e)}),i?s(this,n,"f"):0)}_stopPollingByPollingTokenSetId(e){const n=s(this,t,"f")[e];n&&(clearTimeout(n),delete s(this,t,"f")[e])}}return t=new WeakMap,n=new WeakMap,i}class A{}n.StaticIntervalPollingControllerOnly=()=>o(A);n.StaticIntervalPollingController=()=>o(i.BaseController)}}},{package:"@metamask/assets-controllers>@metamask/polling-controller",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/polling-controller/dist/StaticIntervalPollingController.cjs"}],[1339,{"./BlockTrackerPollingController.cjs":1337,"./StaticIntervalPollingController.cjs":1338},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.StaticIntervalPollingController=n.StaticIntervalPollingControllerOnly=n.BlockTrackerPollingController=n.BlockTrackerPollingControllerOnly=void 0;var r=e("./BlockTrackerPollingController.cjs");Object.defineProperty(n,"BlockTrackerPollingControllerOnly",{enumerable:!0,get:function(){return r.BlockTrackerPollingControllerOnly}}),Object.defineProperty(n,"BlockTrackerPollingController",{enumerable:!0,get:function(){return r.BlockTrackerPollingController}});var s=e("./StaticIntervalPollingController.cjs");Object.defineProperty(n,"StaticIntervalPollingControllerOnly",{enumerable:!0,get:function(){return s.StaticIntervalPollingControllerOnly}}),Object.defineProperty(n,"StaticIntervalPollingController",{enumerable:!0,get:function(){return s.StaticIntervalPollingController}})}}},{package:"@metamask/assets-controllers>@metamask/polling-controller",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/polling-controller/dist/index.cjs"}],[1340,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isEqual=void 0,n.isEqual=function(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/array.cjs"}],[1341,{"./base64.cjs":1342,"./constants.cjs":1346,"@metamask/snaps-sdk":2746,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateAuxiliaryFiles=n.encodeAuxiliaryFile=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/utils"),i=e("./base64.cjs"),a=e("./constants.cjs");n.encodeAuxiliaryFile=async function(e,t){if(t===r.AuxiliaryFileEncoding.Base64)return e;const n=await(0,i.decodeBase64)(e);return t===r.AuxiliaryFileEncoding.Utf8?(0,s.bytesToString)(n):(0,s.bytesToHex)(n)},n.validateAuxiliaryFiles=function(e){for(const t of e)(0,s.assert)(t.size<a.MAX_FILE_SIZE,"Static files required by the Snap must be smaller than 64 MB.")}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/auxiliary-files.cjs"}],[1342,{"./bytes.cjs":1343,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.decodeBase64=n.encodeBase64=void 0;const r=e("@metamask/utils"),s=e("./bytes.cjs");n.encodeBase64=async function(e){const t=(0,s.getBytes)(e);return"FileReader"in globalThis?await new Promise(((e,n)=>{const r=Object.assign(new FileReader,{onload:()=>e(r.result.replace("data:application/octet-stream;base64,","")),onerror:()=>n(r.error)});r.readAsDataURL(new File([t],"",{type:"application/octet-stream"}))})):(0,r.bytesToBase64)(t)},n.decodeBase64=async function(e){const t=await fetch(`data:application/octet-stream;base64,${e}`);return new Uint8Array(await t.arrayBuffer())}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/base64.cjs"}],[1343,{"./virtual-file/VirtualFile.cjs":1378,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getBytes=void 0;const r=e("@metamask/utils"),s=e("./virtual-file/VirtualFile.cjs");n.getBytes=function(e){const t=e instanceof s.VirtualFile?e.value:e;return"string"==typeof t?(0,r.stringToBytes)(t):t}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/bytes.cjs"}],[1344,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r;Object.defineProperty(n,"__esModule",{value:!0}),n.SnapCaveatType=void 0,function(e){e.PermittedDerivationPaths="permittedDerivationPaths",e.PermittedCoinTypes="permittedCoinTypes",e.SnapCronjob="snapCronjob",e.TransactionOrigin="transactionOrigin",e.SignatureOrigin="signatureOrigin",e.RpcOrigin="rpcOrigin",e.KeyringOrigin="keyringOrigin",e.SnapIds="snapIds",e.ChainIds="chainIds",e.LookupMatchers="lookupMatchers",e.MaxRequestTime="maxRequestTime",e.ProtocolSnapScopes="protocolSnapScopes"}(r||(n.SnapCaveatType=r={}))}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/caveats.cjs"}],[1345,{"./bytes.cjs":1343,"@metamask/utils":2950,"@noble/hashes/sha256":3e3},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.checksumFiles=n.checksum=void 0;const r=e("@metamask/utils"),s=e("@noble/hashes/sha256"),i=e("./bytes.cjs");async function a(e){const t=(0,i.getBytes)(e);return"crypto"in globalThis&&"object"==typeof globalThis.crypto&&crypto.subtle?.digest?new Uint8Array(await crypto.subtle.digest("SHA-256",t)):(0,s.sha256)(t)}n.checksum=a,n.checksumFiles=async function(e){const t=await Promise.all([...e].sort(((e,t)=>((0,r.assert)(e.path!==t.path,"Tried to sort files with non-unique paths."),e.path<t.path?-1:1))).map((async e=>a(e))));return a((0,r.concatBytes)(t))}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/checksum.cjs"}],[1346,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MAX_FILE_SIZE=void 0,n.MAX_FILE_SIZE=64e6}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/constants.cjs"}],[1347,{"@metamask/superstruct":2872,"@metamask/utils":2950,"cron-parser":4179},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isCronjobSpecificationArray=n.CronjobSpecificationArrayStruct=n.isCronjobSpecification=n.CronjobSpecificationStruct=n.parseCronExpression=n.CronExpressionStruct=n.CronjobRpcRequestStruct=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils"),i=e("cron-parser");n.CronjobRpcRequestStruct=(0,r.object)({jsonrpc:(0,r.optional)(s.JsonRpcVersionStruct),id:(0,r.optional)(s.JsonRpcIdStruct),method:(0,r.string)(),params:(0,r.optional)(s.JsonRpcParamsStruct)}),n.CronExpressionStruct=(0,r.refine)((0,r.string)(),"CronExpression",(e=>{try{return(0,i.parseExpression)(e),!0}catch{return!1}})),n.parseCronExpression=function(e){const t=(0,r.create)(e,n.CronExpressionStruct);return(0,i.parseExpression)(t)},n.CronjobSpecificationStruct=(0,r.object)({expression:n.CronExpressionStruct,request:n.CronjobRpcRequestStruct}),n.isCronjobSpecification=function(e){try{return(0,r.create)(e,n.CronjobSpecificationStruct),!0}catch{return!1}},n.CronjobSpecificationArrayStruct=(0,r.array)(n.CronjobSpecificationStruct),n.isCronjobSpecificationArray=function(e){try{return(0,r.create)(e,n.CronjobSpecificationArrayStruct),!0}catch{return!1}}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/cronjob.cjs"}],[1348,{"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.currency=void 0;const r=e("@metamask/superstruct");n.currency=function(e){const t=e.toLowerCase();return(0,r.coerce)((0,r.literal)(t),(0,r.literal)(e.toUpperCase()),(e=>(0,r.create)(e.toLowerCase(),(0,r.literal)(t))))}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/currency.cjs"}],[1349,{rfdc:5288},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.deepClone=void 0;const s=r(e("rfdc"));n.deepClone=(0,s.default)({proto:!1,circles:!1})}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/deep-clone.cjs"}],[1350,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.DEFAULT_ENDOWMENTS=void 0,n.DEFAULT_ENDOWMENTS=Object.freeze(["atob","btoa","BigInt","console","crypto","Date","Math","setTimeout","clearTimeout","SubtleCrypto","TextDecoder","TextEncoder","URL","URLSearchParams","setInterval","clearInterval","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","isSecureContext","Intl","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","DataView","ArrayBuffer","AbortController","AbortSignal"])}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/default-endowments.cjs"}],[1351,{"./array.cjs":1340,"@metamask/slip44":2624},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.getSlip44ProtocolName=n.getSnapDerivationPathName=n.SNAPS_DERIVATION_PATHS=void 0;const s=r(e("@metamask/slip44")),i=e("./array.cjs");function a(e){return"1"===String(e)?"Test Networks":s.default[e]?.name??null}n.SNAPS_DERIVATION_PATHS=[{path:["m","44'","0'"],curve:"ed25519",name:"Test BIP-32 Path (ed25519)"},{path:["m","44'","1'"],curve:"secp256k1",name:"Testnet"},{path:["m","44'","0'"],curve:"secp256k1",name:"Bitcoin Legacy"},{path:["m","49'","0'"],curve:"secp256k1",name:"Bitcoin Nested SegWit"},{path:["m","49'","1'"],curve:"secp256k1",name:"Bitcoin Testnet Nested SegWit"},{path:["m","84'","0'"],curve:"secp256k1",name:"Bitcoin Native SegWit"},{path:["m","84'","1'"],curve:"secp256k1",name:"Bitcoin Testnet Native SegWit"},{path:["m","86'","0'"],curve:"secp256k1",name:"Bitcoin Taproot"},{path:["m","86'","1'"],curve:"secp256k1",name:"Bitcoin Testnet Taproot"},{path:["m","44'","501'"],curve:"ed25519",name:"Solana"},{path:["m","44'","501'","0'","0'"],curve:"ed25519",name:"Solana"},{path:["m","44'","2'"],curve:"secp256k1",name:"Litecoin"},{path:["m","44'","3'"],curve:"secp256k1",name:"Dogecoin"},{path:["m","44'","60'"],curve:"secp256k1",name:"Ethereum"},{path:["m","44'","118'"],curve:"secp256k1",name:"Atom"},{path:["m","44'","145'"],curve:"secp256k1",name:"Bitcoin Cash"},{path:["m","44'","637'"],curve:"ed25519",name:"Aptos"},{path:["m","44'","714'"],curve:"secp256k1",name:"Binance (BNB)"},{path:["m","44'","784'"],curve:"ed25519",name:"Sui"},{path:["m","44'","931'"],curve:"secp256k1",name:"THORChain (RUNE)"},{path:["m","44'","330'"],curve:"secp256k1",name:"Terra (LUNA)"},{path:["m","44'","459'"],curve:"secp256k1",name:"Kava"},{path:["m","44'","529'"],curve:"secp256k1",name:"Secret Network"},{path:["m","44'","397'","0'"],curve:"ed25519",name:"NEAR Protocol"},{path:["m","44'","1'","0'"],curve:"ed25519",name:"Testnet"},{path:["m","44'","472'"],curve:"ed25519",name:"Arweave"},{path:["m","44'","12586'"],curve:"secp256k1",name:"Mina"},{path:["m","44'","242'"],curve:"ed25519",name:"Nimiq"},{path:["m","44'","1729'","0'","0'"],curve:"ed25519",name:"Tezos"},{path:["m","1789'","0'"],curve:"ed25519",name:"Vega"},{path:["m","1852'","1815'"],curve:"ed25519Bip32",name:"Cardano"},{path:["m","44'","508'","0'","0'","0'"],curve:"ed25519",name:"MultiversX"},{path:["m","44'","709'"],curve:"secp256k1",name:"Avail"},{path:["m","44'","626'"],curve:"ed25519",name:"Kadena"},{path:["m","44'","632'"],curve:"ed25519",name:"Massa"}],n.getSnapDerivationPathName=function(e,t){const r=n.SNAPS_DERIVATION_PATHS.find((n=>n.curve===t&&(0,i.isEqual)(n.path,e)));if(r)return r.name;if("secp256k1"===t&&"m"===e[0]&&"44'"===e[1]&&e[2].endsWith("'")){return a(e[2].slice(0,-1))??null}return null},n.getSlip44ProtocolName=a}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/derivation-paths.cjs"}],[1352,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.STATE_ENCRYPTION_MAGIC_VALUE=n.SIP_6_MAGIC_VALUE=void 0,n.SIP_6_MAGIC_VALUE="1399742832'",n.STATE_ENCRYPTION_MAGIC_VALUE="572232532'"}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/entropy.cjs"}],[1353,{"@metamask/rpc-errors":2554,"@metamask/snaps-sdk":2746,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.unwrapError=n.isWrappedSnapError=n.isSerializedSnapError=n.isSnapError=n.WrappedSnapError=n.SNAP_ERROR_WRAPPER_MESSAGE=n.SNAP_ERROR_WRAPPER_CODE=void 0;const A=e("@metamask/rpc-errors"),c=e("@metamask/snaps-sdk"),u=e("@metamask/utils");n.SNAP_ERROR_WRAPPER_CODE=-31001,n.SNAP_ERROR_WRAPPER_MESSAGE="Wrapped Snap Error";class l extends Error{constructor(e){const t=(0,c.getErrorMessage)(e);super(t),r.set(this,void 0),s.set(this,void 0),i.set(this,void 0),a(this,r,e,"f"),a(this,s,t,"f"),a(this,i,(0,c.getErrorStack)(e),"f")}get name(){return"WrappedSnapError"}get message(){return o(this,s,"f")}get stack(){return o(this,i,"f")}toJSON(){const e=g(o(this,r,"f"))?o(this,r,"f").serialize():(0,A.serializeCause)(o(this,r,"f"));return{code:n.SNAP_ERROR_WRAPPER_CODE,message:n.SNAP_ERROR_WRAPPER_MESSAGE,data:{cause:e}}}serialize(){return this.toJSON()}}function g(e){if((0,u.isObject)(e)&&"serialize"in e&&"function"==typeof e.serialize){const t=e.serialize();return(0,u.isJsonRpcError)(t)&&d(t)}return!1}function d(e){return e.code===c.SNAP_ERROR_CODE&&e.message===c.SNAP_ERROR_MESSAGE}function f(e){return(0,u.isJsonRpcError)(e)&&e.code===n.SNAP_ERROR_WRAPPER_CODE&&e.message===n.SNAP_ERROR_WRAPPER_MESSAGE}function h(e,t,n,r){const s=new A.JsonRpcError(e,t,r);return s.stack=n,s}n.WrappedSnapError=l,r=new WeakMap,s=new WeakMap,i=new WeakMap,n.isSnapError=g,n.isSerializedSnapError=d,n.isWrappedSnapError=f,n.unwrapError=function(e){if(f(e)){if((0,u.isJsonRpcError)(e.data.cause)){if(d(e.data.cause)){const{code:t,message:n,stack:r,data:s}=e.data.cause.data.cause;return[h(t,n,r,s),!0]}const{code:t,message:n,stack:r,data:s}=e.data.cause;return[h(t,n,r,s),!1]}return[h(A.errorCodes.rpc.internal,(0,c.getErrorMessage)(e.data.cause),(0,c.getErrorStack)(e.data.cause)),!1]}if((0,u.isJsonRpcError)(e)){const{code:t,message:n,stack:r,data:s}=e;return[h(t,n,r,s),!1]}return[h(A.errorCodes.rpc.internal,(0,c.getErrorMessage)(e),(0,c.getErrorStack)(e)),!1]}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/errors.cjs"}],[1354,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r;Object.defineProperty(n,"__esModule",{value:!0}),n.SNAP_EXPORT_NAMES=n.HandlerType=void 0,function(e){e.OnRpcRequest="onRpcRequest",e.OnSignature="onSignature",e.OnTransaction="onTransaction",e.OnCronjob="onCronjob",e.OnInstall="onInstall",e.OnUpdate="onUpdate",e.OnNameLookup="onNameLookup",e.OnKeyringRequest="onKeyringRequest",e.OnHomePage="onHomePage",e.OnSettingsPage="onSettingsPage",e.OnUserInput="onUserInput",e.OnAssetsLookup="onAssetsLookup",e.OnAssetsConversion="onAssetsConversion",e.OnProtocolRequest="onProtocolRequest"}(r||(n.HandlerType=r={})),n.SNAP_EXPORT_NAMES=Object.values(r)}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/handler-types.cjs"}],[1355,{"./handler-types.cjs":1354,"@metamask/snaps-sdk":2746,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.OnNameLookupResponseStruct=n.DomainResolutionResponseStruct=n.AddressResolutionResponseStruct=n.DomainResolutionStruct=n.AddressResolutionStruct=n.OnSettingsPageResponseStruct=n.OnHomePageResponseStruct=n.OnHomePageResponseWithIdStruct=n.OnHomePageResponseWithContentStruct=n.OnSignatureResponseStruct=n.OnTransactionResponseStruct=n.OnTransactionResponseWithContentStruct=n.OnTransactionResponseWithIdStruct=n.OnTransactionSeverityResponseStruct=n.SNAP_EXPORTS=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/superstruct"),i=e("./handler-types.cjs");n.SNAP_EXPORTS={[i.HandlerType.OnRpcRequest]:{type:i.HandlerType.OnRpcRequest,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnTransaction]:{type:i.HandlerType.OnTransaction,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnCronjob]:{type:i.HandlerType.OnCronjob,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnNameLookup]:{type:i.HandlerType.OnNameLookup,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnInstall]:{type:i.HandlerType.OnInstall,required:!1,validator:e=>"function"==typeof e},[i.HandlerType.OnUpdate]:{type:i.HandlerType.OnUpdate,required:!1,validator:e=>"function"==typeof e},[i.HandlerType.OnKeyringRequest]:{type:i.HandlerType.OnKeyringRequest,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnHomePage]:{type:i.HandlerType.OnHomePage,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnSettingsPage]:{type:i.HandlerType.OnSettingsPage,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnSignature]:{type:i.HandlerType.OnSignature,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnUserInput]:{type:i.HandlerType.OnUserInput,required:!1,validator:e=>"function"==typeof e},[i.HandlerType.OnAssetsLookup]:{type:i.HandlerType.OnAssetsLookup,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnAssetsConversion]:{type:i.HandlerType.OnAssetsConversion,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnProtocolRequest]:{type:i.HandlerType.OnProtocolRequest,required:!0,validator:e=>"function"==typeof e}},n.OnTransactionSeverityResponseStruct=(0,s.object)({severity:(0,s.optional)((0,s.literal)(r.SeverityLevel.Critical))}),n.OnTransactionResponseWithIdStruct=(0,s.assign)(n.OnTransactionSeverityResponseStruct,(0,s.object)({id:(0,s.string)()})),n.OnTransactionResponseWithContentStruct=(0,s.assign)(n.OnTransactionSeverityResponseStruct,(0,s.object)({content:r.ComponentOrElementStruct})),n.OnTransactionResponseStruct=(0,s.nullable)((0,s.union)([n.OnTransactionResponseWithContentStruct,n.OnTransactionResponseWithIdStruct])),n.OnSignatureResponseStruct=n.OnTransactionResponseStruct,n.OnHomePageResponseWithContentStruct=(0,s.object)({content:r.ComponentOrElementStruct}),n.OnHomePageResponseWithIdStruct=(0,s.object)({id:(0,s.string)()}),n.OnHomePageResponseStruct=(0,s.union)([n.OnHomePageResponseWithContentStruct,n.OnHomePageResponseWithIdStruct]),n.OnSettingsPageResponseStruct=n.OnHomePageResponseStruct,n.AddressResolutionStruct=(0,s.object)({protocol:(0,s.string)(),resolvedDomain:(0,s.string)()}),n.DomainResolutionStruct=(0,s.object)({protocol:(0,s.string)(),resolvedAddress:(0,s.string)(),domainName:(0,s.string)()}),n.AddressResolutionResponseStruct=(0,s.object)({resolvedDomains:(0,s.size)((0,s.array)(n.AddressResolutionStruct),1,Infinity)}),n.DomainResolutionResponseStruct=(0,s.object)({resolvedAddresses:(0,s.size)((0,s.array)(n.DomainResolutionStruct),1,Infinity)}),n.OnNameLookupResponseStruct=(0,s.nullable)((0,s.union)([n.AddressResolutionResponseStruct,n.DomainResolutionResponseStruct]))}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/handlers.cjs"}],[1356,{"./svg.cjs":1372,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getSvgDimensions=n.assertIsSnapIcon=n.SVG_MAX_BYTE_SIZE_TEXT=n.SVG_MAX_BYTE_SIZE=void 0;const r=e("@metamask/utils"),s=e("./svg.cjs");n.SVG_MAX_BYTE_SIZE=1e5,n.SVG_MAX_BYTE_SIZE_TEXT=`${Math.floor(n.SVG_MAX_BYTE_SIZE/1e3)}kb`,n.assertIsSnapIcon=function(e){(0,r.assert)(e.path.endsWith(".svg"),'Expected snap icon to end in ".svg".');const t="string"==typeof e.value?(0,r.stringToBytes)(e.value).byteLength:e.value.byteLength;(0,r.assert)(t<=n.SVG_MAX_BYTE_SIZE,`The specified SVG icon exceeds the maximum size of ${n.SVG_MAX_BYTE_SIZE_TEXT}.`),(0,r.assert)((0,s.isSvg)(e.toString()),"Snap icon must be a valid SVG.")},n.getSvgDimensions=function(e){try{const t=(0,s.parseSvg)(e),n=t["@_height"],i=t["@_width"];if(n&&i)return{height:n,width:i};const a=t["@_viewBox"];if(a){const[e,t,n,s]=a.split(" ");if(n&&s){const e=parseInt(n,10),t=parseInt(s,10);return(0,r.assert)(Number.isInteger(e)&&e>0),(0,r.assert)(Number.isInteger(t)&&t>0),{width:e,height:t}}}}catch{throw new Error("Snap icon must be a valid SVG.")}return null}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/icon.cjs"}],[1357,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.createWindow=void 0,n.createWindow=async function({uri:e,id:t,sandbox:n=!0,testId:r="snaps-iframe"}){return await new Promise(((s,i)=>{const a=document.createElement("iframe");a.setAttribute("id",t),a.setAttribute("data-testid",r),n&&a.setAttribute("sandbox","allow-scripts"),a.setAttribute("src",e),document.body.appendChild(a),a.addEventListener("load",(()=>{a.contentWindow?s(a.contentWindow):i(new Error(`iframe.contentWindow not present on load for job "${t}".`))}))}))}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/iframe.cjs"}],[1358,{"./array.cjs":1340,"./auxiliary-files.cjs":1341,"./base64.cjs":1342,"./bytes.cjs":1343,"./caveats.cjs":1344,"./checksum.cjs":1345,"./constants.cjs":1346,"./cronjob.cjs":1347,"./currency.cjs":1348,"./deep-clone.cjs":1349,"./default-endowments.cjs":1350,"./derivation-paths.cjs":1351,"./entropy.cjs":1352,"./errors.cjs":1353,"./handler-types.cjs":1354,"./handlers.cjs":1355,"./iframe.cjs":1357,"./json-rpc.cjs":1359,"./json.cjs":1360,"./localization.cjs":1361,"./logging.cjs":1362,"./manifest/index.cjs":1363,"./namespace.cjs":1365,"./path.cjs":1366,"./platform-version.cjs":1367,"./promise.cjs":1368,"./snaps.cjs":1369,"./strings.cjs":1370,"./structs.cjs":1371,"./types.cjs":1373,"./ui.cjs":1374,"./url.cjs":1375,"./validation.cjs":1376,"./versions.cjs":1377,"./virtual-file/index.cjs":1379},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./array.cjs"),n),s(e("./auxiliary-files.cjs"),n),s(e("./base64.cjs"),n),s(e("./bytes.cjs"),n),s(e("./caveats.cjs"),n),s(e("./checksum.cjs"),n),s(e("./constants.cjs"),n),s(e("./cronjob.cjs"),n),s(e("./currency.cjs"),n),s(e("./deep-clone.cjs"),n),s(e("./default-endowments.cjs"),n),s(e("./derivation-paths.cjs"),n),s(e("./entropy.cjs"),n),s(e("./errors.cjs"),n),s(e("./handlers.cjs"),n),s(e("./handler-types.cjs"),n),s(e("./iframe.cjs"),n),s(e("./json.cjs"),n),s(e("./json-rpc.cjs"),n),s(e("./localization.cjs"),n),s(e("./logging.cjs"),n),s(e("./manifest/index.cjs"),n),s(e("./namespace.cjs"),n),s(e("./path.cjs"),n),s(e("./platform-version.cjs"),n),s(e("./snaps.cjs"),n),s(e("./strings.cjs"),n),s(e("./structs.cjs"),n),s(e("./types.cjs"),n),s(e("./ui.cjs"),n),s(e("./url.cjs"),n),s(e("./validation.cjs"),n),s(e("./versions.cjs"),n),s(e("./virtual-file/index.cjs"),n),s(e("./promise.cjs"),n)}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/index.cjs"}],[1359,{"@metamask/permission-controller":2393,"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.assertIsJsonRpcSuccess=n.isOriginAllowed=n.assertIsKeyringOrigins=n.KeyringOriginsStruct=n.assertIsRpcOrigins=n.RpcOriginsStruct=void 0;const r=e("@metamask/permission-controller"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=(0,s.array)((0,s.refine)((0,s.string)(),"Allowed origin",(e=>!(e.split("*").length-1>2)||'No more than two wildcards ("*") are allowed in an origin specifier.')));function o(e,t){if("*"===e||e===t)return!0;const n=function(e){const t=e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&").replace(/\\\*/gu,".*");return RegExp(`^${t}$`,"u")}(e);return n.test(t)}n.RpcOriginsStruct=(0,s.refine)((0,s.object)({dapps:(0,s.optional)((0,s.boolean)()),snaps:(0,s.optional)((0,s.boolean)()),allowedOrigins:(0,s.optional)(a)}),"RPC origins",(e=>!!Boolean(!0===e.snaps||!0===e.dapps||e.allowedOrigins&&e.allowedOrigins.length>0)||"Must specify at least one JSON-RPC origin.")),n.assertIsRpcOrigins=function(e,t){(0,i.assertStruct)(e,n.RpcOriginsStruct,"Invalid JSON-RPC origins",t)},n.KeyringOriginsStruct=(0,s.object)({allowedOrigins:(0,s.optional)(a)}),n.assertIsKeyringOrigins=function(e,t){(0,i.assertStruct)(e,n.KeyringOriginsStruct,"Invalid keyring origins",t)},n.isOriginAllowed=function(e,t,n){return"metamask"===n||(!!e.allowedOrigins?.some((e=>o(e,n)))||(!(t!==r.SubjectType.Website||!e.dapps)||Boolean(t===r.SubjectType.Snap&&e.snaps)))},n.assertIsJsonRpcSuccess=function(e){if(!(0,i.isJsonRpcSuccess)(e)){if((0,i.isJsonRpcFailure)(e))throw new Error(`JSON-RPC request failed: ${e.error.message}`);throw new Error("Invalid JSON-RPC response.")}}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/json-rpc.cjs"}],[1360,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getJsonSizeUnsafe=n.parseJson=void 0;const r=e("@metamask/utils");n.parseJson=function(e){return(0,r.getSafeJson)(JSON.parse(e))},n.getJsonSizeUnsafe=function(e){const t=JSON.stringify(e);return(new TextEncoder).encode(t).byteLength}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/json.cjs"}],[1361,{"./json.cjs":1360,"@metamask/snaps-sdk":2746,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSnapManifestLocalizations=n.getLocalizedSnapManifest=n.translate=n.TRANSLATION_REGEX=n.getLocalizationFile=n.getValidatedLocalizationFiles=n.LocalizationFileStruct=n.LOCALIZABLE_FIELDS=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/superstruct"),i=e("./json.cjs");function a(e,t){const n=t.find((t=>t.locale===e));return n||t.find((e=>"en"===e.locale))}function o(e,t){const r=e.matchAll(n.TRANSLATION_REGEX);return Array.from(r).reduce(((n,[r,s])=>{if(!t)throw new Error(`Failed to translate "${e}": No localization file found.`);const i=t.messages[s.trim()];if(!i)throw new Error(`Failed to translate "${e}": No translation found for "${s.trim()}" in "${t.locale}" file.`);return n.replace(r,i.message)}),e)}function A(e,t,r){const s=a(t,r);return n.LOCALIZABLE_FIELDS.reduce(((e,t)=>{const n=o(e[t],s);return{...e,[t]:n}}),e)}n.LOCALIZABLE_FIELDS=["description","proposedName"],n.LocalizationFileStruct=(0,s.object)({locale:(0,s.string)(),messages:(0,s.record)((0,s.string)(),(0,s.object)({message:(0,s.string)(),description:(0,s.optional)((0,s.string)())}))}),n.getValidatedLocalizationFiles=function(e){for(const t of e)try{t.result=(0,s.create)((0,i.parseJson)(t.toString()),n.LocalizationFileStruct)}catch(e){if(e instanceof s.StructError)throw new Error(`Failed to validate localization file "${t.path}": ${e.message}.`);if(e instanceof SyntaxError)throw new Error(`Failed to parse localization file "${t.path}" as JSON.`);throw e}return e},n.getLocalizationFile=a,n.TRANSLATION_REGEX=/\{\{\s?([a-zA-Z0-9-_\s]+)\s?\}\}/gu,n.translate=o,n.getLocalizedSnapManifest=A,n.validateSnapManifestLocalizations=function(e,t){try{t.filter((e=>"en"!==e.locale)).forEach((n=>{A(e,n.locale,t)})),A(e,"en",t)}catch(e){throw new Error(`Failed to localize Snap manifest: ${(0,r.getErrorMessage)(e)}`)}}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/localization.cjs"}],[1362,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.logWarning=n.logError=n.logInfo=n.snapsLogger=void 0;const r=e("@metamask/utils");n.snapsLogger=(0,r.createProjectLogger)("snaps"),n.logInfo=function(e,...t){console.log(e,...t)},n.logError=function(e,...t){console.error(e,...t)},n.logWarning=function(e,...t){console.warn(e,...t)}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/logging.cjs"}],[1363,{"./validation.cjs":1364},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./validation.cjs"),n)}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/manifest/index.cjs"}],[1364,{"../array.cjs":1340,"../cronjob.cjs":1347,"../entropy.cjs":1352,"../json-rpc.cjs":1359,"../namespace.cjs":1365,"../snaps.cjs":1369,"../structs.cjs":1371,"../types.cjs":1373,"@metamask/key-tree":1957,"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.createSnapManifest=n.assertIsSnapManifest=n.isSnapManifest=n.SnapManifestStruct=n.InitialConnectionsStruct=n.SnapAuxilaryFilesStruct=n.PermissionsStruct=n.EmptyObjectStruct=n.HandlerCaveatsStruct=n.ProtocolScopesStruct=n.MaxRequestTimeStruct=n.MAXIMUM_REQUEST_TIMEOUT=n.MINIMUM_REQUEST_TIMEOUT=n.LookupMatchersStruct=n.ChainIdsStruct=n.SnapIdsStruct=n.SemVerRangeStruct=n.SnapGetBip32EntropyPermissionsStruct=n.Bip32EntropyStruct=n.CurveStruct=n.bip32entropy=n.Bip32PathStruct=n.FORBIDDEN_COIN_TYPES=void 0;const r=e("@metamask/key-tree"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("../array.cjs"),o=e("../cronjob.cjs"),A=e("../entropy.cjs"),c=e("../json-rpc.cjs"),u=e("../namespace.cjs"),l=e("../snaps.cjs"),g=e("../structs.cjs"),d=e("../types.cjs"),f=[A.SIP_6_MAGIC_VALUE,A.STATE_ENCRYPTION_MAGIC_VALUE];n.FORBIDDEN_COIN_TYPES=[60];const h=n.FORBIDDEN_COIN_TYPES.map((e=>["m","44'",`${e}'`]));n.Bip32PathStruct=(0,s.refine)((0,s.array)((0,s.string)()),"BIP-32 path",(e=>0===e.length?"Path must be a non-empty BIP-32 derivation path array":"m"!==e[0]?'Path must start with "m".':e.length<3?"Paths must have a length of at least three.":e.slice(1).some((e=>!(0,r.isValidBIP32PathSegment)(e)))?"Path must be a valid BIP-32 derivation path array.":f.includes(e[1])?`The purpose "${e[1]}" is not allowed for entropy derivation.`:!h.some((t=>(0,a.isEqual)(e.slice(0,t.length),t)))||`The path "${e.join("/")}" is not allowed for entropy derivation.`));n.bip32entropy=e=>(0,s.refine)(e,"BIP-32 entropy",(e=>"ed25519"!==e.curve||!e.path.slice(1).some((e=>!e.endsWith("'")))||"Ed25519 does not support unhardened paths.")),n.CurveStruct=(0,s.enums)(["ed25519","secp256k1","ed25519Bip32"]),n.Bip32EntropyStruct=(0,n.bip32entropy)((0,s.type)({path:n.Bip32PathStruct,curve:n.CurveStruct})),n.SnapGetBip32EntropyPermissionsStruct=(0,s.size)((0,s.array)(n.Bip32EntropyStruct),1,Infinity),n.SemVerRangeStruct=(0,s.refine)((0,s.string)(),"SemVer range",(e=>!!(0,i.isValidSemVerRange)(e)||"Expected a valid SemVer range.")),n.SnapIdsStruct=(0,s.refine)((0,s.record)(l.SnapIdStruct,(0,s.object)({version:(0,s.optional)(n.SemVerRangeStruct)})),"SnapIds",(e=>0!==Object.keys(e).length)),n.ChainIdsStruct=(0,s.size)((0,s.array)(u.ChainIdStruct),1,Infinity),n.LookupMatchersStruct=(0,s.union)([(0,s.object)({tlds:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity)}),(0,s.object)({schemes:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity)}),(0,s.object)({tlds:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity),schemes:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity)})]),n.MINIMUM_REQUEST_TIMEOUT=(0,i.inMilliseconds)(5,i.Duration.Second),n.MAXIMUM_REQUEST_TIMEOUT=(0,i.inMilliseconds)(3,i.Duration.Minute),n.MaxRequestTimeStruct=(0,s.size)((0,s.integer)(),n.MINIMUM_REQUEST_TIMEOUT,n.MAXIMUM_REQUEST_TIMEOUT),n.ProtocolScopesStruct=(0,s.record)(i.CaipChainIdStruct,(0,s.object)({methods:(0,s.array)((0,s.string)())})),n.HandlerCaveatsStruct=(0,s.object)({maxRequestTime:(0,s.optional)(n.MaxRequestTimeStruct)}),n.EmptyObjectStruct=(0,s.object)({}),n.PermissionsStruct=(0,s.type)({"endowment:assets":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({scopes:n.ChainIdsStruct}))),"endowment:cronjob":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({jobs:(0,s.optional)(o.CronjobSpecificationArrayStruct)}))),"endowment:ethereum-provider":(0,s.optional)(n.EmptyObjectStruct),"endowment:keyring":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,c.KeyringOriginsStruct)),"endowment:protocol":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({scopes:n.ProtocolScopesStruct}))),"endowment:lifecycle-hooks":(0,s.optional)(n.HandlerCaveatsStruct),"endowment:name-lookup":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({chains:(0,s.optional)(n.ChainIdsStruct),matchers:(0,s.optional)(n.LookupMatchersStruct)}))),"endowment:network-access":(0,s.optional)(n.EmptyObjectStruct),"endowment:page-home":(0,s.optional)(n.HandlerCaveatsStruct),"endowment:rpc":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,c.RpcOriginsStruct)),"endowment:signature-insight":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({allowSignatureOrigin:(0,s.optional)((0,s.boolean)())}))),"endowment:transaction-insight":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({allowTransactionOrigin:(0,s.optional)((0,s.boolean)())}))),"endowment:webassembly":(0,s.optional)(n.EmptyObjectStruct),snap_dialog:(0,s.optional)(n.EmptyObjectStruct),snap_manageState:(0,s.optional)(n.EmptyObjectStruct),snap_manageAccounts:(0,s.optional)(n.EmptyObjectStruct),snap_notify:(0,s.optional)(n.EmptyObjectStruct),snap_getBip32Entropy:(0,s.optional)(n.SnapGetBip32EntropyPermissionsStruct),snap_getBip32PublicKey:(0,s.optional)(n.SnapGetBip32EntropyPermissionsStruct),snap_getBip44Entropy:(0,s.optional)((0,s.size)((0,s.array)((0,s.object)({coinType:(0,s.size)((0,s.integer)(),0,2**32-1)})),1,Infinity)),snap_getEntropy:(0,s.optional)(n.EmptyObjectStruct),snap_getLocale:(0,s.optional)(n.EmptyObjectStruct),wallet_snap:(0,s.optional)(n.SnapIdsStruct)}),n.SnapAuxilaryFilesStruct=(0,s.array)((0,s.string)()),n.InitialConnectionsStruct=(0,s.record)((0,s.intersection)([(0,s.string)(),(0,d.uri)()]),(0,s.object)({})),n.SnapManifestStruct=(0,s.object)({version:i.VersionStruct,description:(0,s.size)((0,s.string)(),1,280),proposedName:(0,s.size)((0,s.string)(),1,214),repository:(0,s.optional)((0,s.type)({type:(0,s.size)((0,s.string)(),1,Infinity),url:(0,s.size)((0,s.string)(),1,Infinity)})),source:(0,s.object)({shasum:i.ChecksumStruct,location:(0,s.object)({npm:(0,s.object)({filePath:(0,s.size)((0,s.string)(),1,Infinity),iconPath:(0,s.optional)((0,s.size)((0,s.string)(),1,Infinity)),packageName:d.NameStruct,registry:(0,s.union)([(0,s.literal)("https://registry.npmjs.org"),(0,s.literal)("https://registry.npmjs.org/")])})}),files:(0,s.optional)(n.SnapAuxilaryFilesStruct),locales:(0,s.optional)(n.SnapAuxilaryFilesStruct)}),initialConnections:(0,s.optional)(n.InitialConnectionsStruct),initialPermissions:n.PermissionsStruct,manifestVersion:(0,s.literal)("0.1"),platformVersion:(0,s.optional)(i.VersionStruct),$schema:(0,s.optional)((0,s.string)())}),n.isSnapManifest=function(e){return(0,s.is)(e,n.SnapManifestStruct)},n.assertIsSnapManifest=function(e){(0,i.assertStruct)(e,n.SnapManifestStruct,`"${d.NpmSnapFileNames.Manifest}" is invalid`)},n.createSnapManifest=function(e){return(0,s.create)(e,n.SnapManifestStruct)}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/manifest/validation.cjs"}],[1365,{"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isNamespace=n.isAccountIdArray=n.isAccountId=n.isChainId=n.isNamespaceId=n.NamespaceIdStruct=n.NamespaceStruct=n.ChainStruct=n.AccountAddressStruct=n.AccountIdArrayStruct=n.AccountIdStruct=n.ChainIdStruct=n.ChainIdStringStruct=n.LimitedString=n.parseAccountId=n.parseChainId=n.ACCOUNT_ADDRESS_REGEX=n.ACCOUNT_ID_REGEX=n.CHAIN_ID_REGEX=void 0;const r=e("@metamask/superstruct");n.CHAIN_ID_REGEX=/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-a-zA-Z0-9]{1,32})$/u,n.ACCOUNT_ID_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-a-zA-Z0-9]{1,32})):(?<accountAddress>[a-zA-Z0-9]{1,64})$/u,n.ACCOUNT_ADDRESS_REGEX=/^(?<accountAddress>[a-zA-Z0-9]{1,64})$/u,n.parseChainId=function(e){const t=n.CHAIN_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid chain ID.");return{namespace:t.groups.namespace,reference:t.groups.reference}},n.parseAccountId=function(e){const t=n.ACCOUNT_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid account ID.");return{address:t.groups.accountAddress,chainId:t.groups.chainId,chain:{namespace:t.groups.namespace,reference:t.groups.reference}}},n.LimitedString=(0,r.size)((0,r.string)(),1,40),n.ChainIdStringStruct=(0,r.define)("Chain ID",(0,r.string)().validator),n.ChainIdStruct=(0,r.pattern)(n.ChainIdStringStruct,n.CHAIN_ID_REGEX),n.AccountIdStruct=(0,r.pattern)((0,r.string)(),n.ACCOUNT_ID_REGEX),n.AccountIdArrayStruct=(0,r.array)(n.AccountIdStruct),n.AccountAddressStruct=(0,r.pattern)((0,r.string)(),n.ACCOUNT_ADDRESS_REGEX),n.ChainStruct=(0,r.object)({id:n.ChainIdStruct,name:n.LimitedString}),n.NamespaceStruct=(0,r.object)({chains:(0,r.array)(n.ChainStruct),methods:(0,r.optional)((0,r.array)(n.LimitedString)),events:(0,r.optional)((0,r.array)(n.LimitedString))}),n.NamespaceIdStruct=(0,r.pattern)((0,r.string)(),/^[-a-z0-9]{3,8}$/u),n.isNamespaceId=function(e){return(0,r.is)(e,n.NamespaceIdStruct)},n.isChainId=function(e){return(0,r.is)(e,n.ChainIdStruct)},n.isAccountId=function(e){return(0,r.is)(e,n.AccountIdStruct)},n.isAccountIdArray=function(e){return(0,r.is)(e,n.AccountIdArrayStruct)},n.isNamespace=function(e){return(0,r.is)(e,n.NamespaceStruct)}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/namespace.cjs"}],[1366,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.normalizeRelative=void 0;const r=e("@metamask/utils");n.normalizeRelative=function(e){return(0,r.assert)(!e.startsWith("/")),(0,r.assert)(-1===e.search(/:|\/\//u),`Path "${e}" potentially an URI instead of local relative`),e.startsWith("./")?e.slice(2):e}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/path.cjs"}],[1367,{"@metamask/snaps-sdk/package.json":2831},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.getPlatformVersion=void 0;const s=r(e("@metamask/snaps-sdk/package.json"));n.getPlatformVersion=function(){return s.default.version}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/platform-version.cjs"}],[1368,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/promise.cjs"}],[1369,{"./caveats.cjs":1344,"./checksum.cjs":1345,"./types.cjs":1373,"@metamask/superstruct":2872,"@metamask/utils":2950,"@scure/base":3027,"fast-json-stable-stringify":4434,"validate-npm-package-name":5679},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.verifyRequestedSnapPermissions=n.isSnapPermitted=n.isCaipChainId=n.assertIsValidSnapId=n.isSnapId=n.stripSnapPrefix=n.getSnapPrefix=n.SnapIdStruct=n.HttpSnapIdStruct=n.NpmSnapIdStruct=n.LocalSnapIdStruct=n.BaseSnapIdStruct=n.LOCALHOST_HOSTNAMES=n.validateSnapShasum=n.getSnapChecksum=n.SnapStatusEvents=n.SnapStatus=n.PROPOSED_NAME_REGEX=void 0;const s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("@scure/base"),o=r(e("fast-json-stable-stringify")),A=r(e("validate-npm-package-name")),c=e("./caveats.cjs"),u=e("./checksum.cjs"),l=e("./types.cjs");var g,d;function f(e){const t=e.clone();return delete t.result.source.shasum,t.value=(0,o.default)(t.result),t}async function h(e){const{manifest:t,sourceCode:n,svgIcon:r,auxiliaryFiles:s,localizationFiles:i}=e,o=[f(t),n,r,...s,...i].filter((e=>e!==undefined));return a.base64.encode(await(0,u.checksumFiles)(o))}n.PROPOSED_NAME_REGEX=/^(?:[A-Za-z0-9-_]+( [A-Za-z0-9-_]+)*)|(?:(?:@[A-Za-z0-9-*~][A-Za-z0-9-*._~]*\/)?[A-Za-z0-9-~][A-Za-z0-9-._~]*)$/u,function(e){e.Installing="installing",e.Updating="updating",e.Running="running",e.Stopped="stopped",e.Crashed="crashed"}(g||(n.SnapStatus=g={})),function(e){e.Start="START",e.Stop="STOP",e.Crash="CRASH",e.Update="UPDATE"}(d||(n.SnapStatusEvents=d={})),n.getSnapChecksum=h,n.validateSnapShasum=async function(e,t="Invalid Snap manifest: manifest shasum does not match computed shasum."){if(e.manifest.result.source.shasum!==await h(e))throw new Error(t)},n.LOCALHOST_HOSTNAMES=["localhost","127.0.0.1","[::1]"],n.BaseSnapIdStruct=(0,s.pattern)((0,s.string)(),/^[\x21-\x7E]*$/u);const p=(0,l.uri)({protocol:(0,s.enums)(["http:","https:"]),hostname:(0,s.enums)(n.LOCALHOST_HOSTNAMES),hash:(0,s.empty)((0,s.string)()),search:(0,s.empty)((0,s.string)())});function m(e){const t=Object.values(l.SnapIdPrefixes).find((t=>e.startsWith(t)));if(t!==undefined)return t;throw new Error(`Invalid or no prefix found for "${e}"`)}n.LocalSnapIdStruct=(0,s.refine)(n.BaseSnapIdStruct,"local Snap Id",(e=>{if(!e.startsWith(l.SnapIdPrefixes.local))return`Expected local snap ID, got "${e}".`;const[t]=(0,s.validate)(e.slice(l.SnapIdPrefixes.local.length),p);return t??!0})),n.NpmSnapIdStruct=(0,s.intersection)([n.BaseSnapIdStruct,(0,l.uri)({protocol:(0,s.literal)(l.SnapIdPrefixes.npm),pathname:(0,s.refine)((0,s.string)(),"package name",(function*(e){const t=e.startsWith("/")?e.slice(1):e,{errors:n,validForNewPackages:r,warnings:s}=(0,A.default)(t);return r||(n===undefined?((0,i.assert)(s!==undefined),yield*s):yield*n),!0})),search:(0,s.empty)((0,s.string)()),hash:(0,s.empty)((0,s.string)())})]),n.HttpSnapIdStruct=(0,s.intersection)([n.BaseSnapIdStruct,(0,l.uri)({protocol:(0,s.enums)(["http:","https:"]),search:(0,s.empty)((0,s.string)()),hash:(0,s.empty)((0,s.string)())})]),n.SnapIdStruct=(0,s.union)([n.NpmSnapIdStruct,n.LocalSnapIdStruct]),n.getSnapPrefix=m,n.stripSnapPrefix=function(e){return e.replace(m(e),"")},n.isSnapId=function(e){return(0,s.is)(e,n.SnapIdStruct)},n.assertIsValidSnapId=function(e){(0,i.assertStruct)(e,n.SnapIdStruct,"Invalid snap ID")},n.isCaipChainId=function(e){return"string"==typeof e&&/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-a-zA-Z0-9]{1,32})$/u.test(e)},n.isSnapPermitted=function(e,t){return Boolean((e?.wallet_snap?.caveats?.find((e=>e.type===c.SnapCaveatType.SnapIds))??{}).value?.[t])},n.verifyRequestedSnapPermissions=function(e){(0,i.assert)((0,i.isObject)(e),"Requested permissions must be an object.");const{wallet_snap:t}=e;(0,i.assert)((0,i.isObject)(t),"wallet_snap is missing from the requested permissions.");const{caveats:n}=t;(0,i.assert)(Array.isArray(n)&&1===n.length,"wallet_snap must have a caveat property with a single-item array value.");const[r]=n;(0,i.assert)((0,i.isObject)(r)&&r.type===c.SnapCaveatType.SnapIds&&(0,i.isObject)(r.value),`The requested permissions do not have a valid ${c.SnapCaveatType.SnapIds} caveat.`)}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/snaps.cjs"}],[1370,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.indent=void 0,n.indent=function(e,t=2){return e.replace(/^/gmu," ".repeat(t))}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/strings.cjs"}],[1371,{"./strings.cjs":1370,"@metamask/snaps-sdk":2746,"@metamask/superstruct":2872,"@metamask/utils":2950,chalk:4094},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.mergeStructs=n.createUnion=n.validateUnion=n.getStructErrorMessage=n.getStructFailureMessage=n.getStructErrorPrefix=n.getUnionStructNames=n.getStructFromPath=n.createFromStruct=n.getError=n.arrayToGenerator=n.SnapsStructError=n.named=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("chalk"),o=e("./strings.cjs");function A(e,t,n){return n?t(e):e}n.named=function(e,t){return new s.Struct({...t,type:e})};class c extends s.StructError{constructor(e,t,n,r,s,i=!0){super(r,s),this.name="SnapsStructError",this.message=`${t}.\n\n${p(e,[...s()],i)}${n?`\n\n${n}`:""}`}}function*u(e){for(const t of e)yield t}function l({struct:e,prefix:t,suffix:n="",error:r,colorize:s}){return new c(e,t,n,r,(()=>u(r.failures())),s)}function g(e,t){return t.reduce(((t,n)=>(0,i.isObject)(e.schema)&&e.schema[n]?e.schema[n]:t),e)}function d(e,t=!0){return Array.isArray(e.schema)?e.schema.map((({type:e})=>A(e,a.green,t))):null}function f(e,t=!0){return"never"===e.type||0===e.path.length?"":`At path: ${A(e.path.join("."),a.bold,t)} — `}function h(e,t,n=!0){const r=A(JSON.stringify(t.value),a.red,n),s=f(t,n);if("union"===t.type){const i=d(g(e,t.path),n);return i?`${s}Expected the value to be one of: ${i.join(", ")}, but received: ${r}.`:`${s}${t.message}.`}if("literal"===t.type){return`${s}${t.message.replace(/the literal `(.+)`,/u,`the value to be \`${A("$1",a.green,n)}\`,`).replace(/, but received: (.+)/u,`, but received: ${A("$1",a.red,n)}`)}.`}if("never"===t.type)return`Unknown key: ${A(t.path.join("."),a.bold,n)}, received: ${r}.`;if("size"===t.refinement){return`${s}${t.message.replace(/length between `(\d+)` and `(\d+)`/u,`length between ${A("$1",a.green,n)} and ${A("$2",a.green,n)},`).replace(/length of `(\d+)`/u,`length of ${A("$1",a.red,n)}`).replace(/a array/u,"an array")}.`}return t.refinement!==undefined?`${s}${t.message}.`:`${s}Expected a value of type ${A(t.type,a.green,n)}, but received: ${r}.`}function p(e,t,n=!0){return t.map((t=>(0,o.indent)(`• ${h(e,t,n)}`))).join("\n")}function m(e,t,n,a=!1){(0,i.assert)(t.schema,"Expected a struct with a schema. Make sure to use `union` from `@metamask/snaps-sdk`."),(0,i.assert)(t.schema.length>0,"Expected a non-empty array of structs.");const o=t.schema.map((e=>e.schema[n])),A=(0,s.type)({[n]:(0,r.union)(o)}),[c]=(0,s.validate)(e,A,{coerce:a});if(c)throw new Error(h(A,c.failures()[0],!1));const u=e,l=t.schema.filter((e=>(0,s.is)(u[n],e.schema[n])));(0,i.assert)(l.length>0,"Expected a struct to match the value.");const g=l.map((e=>(0,s.validate)(u,e,{coerce:a}))),d=g.find((([e])=>!e));if(d)return d[1];(0,i.assert)(g[0][0],"Expected at least one error.");const f=g.reduce(((e,[t])=>((0,i.assert)(t,"Expected an error."),t.failures().length<e.failures().length?t:e)),g[0][0]);throw new Error(h(t,f.failures()[0],!1))}n.SnapsStructError=c,n.arrayToGenerator=u,n.getError=l,n.createFromStruct=function(e,t,n,r=""){try{return(0,s.create)(e,t)}catch(e){if(e instanceof s.StructError)throw l({struct:t,prefix:n,suffix:r,error:e});throw e}},n.getStructFromPath=g,n.getUnionStructNames=d,n.getStructErrorPrefix=f,n.getStructFailureMessage=h,n.getStructErrorMessage=p,n.validateUnion=m,n.createUnion=function(e,t,n){return m(e,t,n,!0)},n.mergeStructs=function(...e){const t=s.assign(...e);return new s.Struct({...t,*refiner(t,n){for(const r of e)yield*r.refiner(t,n)}})}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/structs.cjs"}],[1372,{"@metamask/utils":2950,"fast-xml-parser":4436},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isSvg=n.parseSvg=void 0;const r=e("@metamask/utils"),s=e("fast-xml-parser");function i(e){try{const t=e.trim();(0,r.assert)(t.length>0);const n=new s.XMLParser({ignoreAttributes:!1,parseAttributeValue:!0}).parse(t,!0);return(0,r.assert)((0,r.hasProperty)(n,"svg")),(0,r.isObject)(n.svg)?n.svg:{}}catch{throw new Error("Snap icon must be a valid SVG.")}}n.parseSvg=i,n.isSvg=function(e){try{return i(e),!0}catch{return!1}}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/svg.cjs"}],[1373,{"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.WALLET_SNAP_PERMISSION_KEY=n.isValidUrl=n.uri=n.SNAP_STREAM_NAMES=n.SnapIdPrefixes=n.NpmSnapPackageJsonStruct=n.NameStruct=n.NpmSnapFileNames=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils");var i,a,o;!function(e){e.PackageJson="package.json",e.Manifest="snap.manifest.json"}(i||(n.NpmSnapFileNames=i={})),n.NameStruct=(0,r.size)((0,r.pattern)((0,r.string)(),/^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/u),1,214),n.NpmSnapPackageJsonStruct=(0,r.type)({version:s.VersionStruct,name:n.NameStruct,main:(0,r.optional)((0,r.size)((0,r.string)(),1,Infinity)),repository:(0,r.optional)((0,r.type)({type:(0,r.size)((0,r.string)(),1,Infinity),url:(0,r.size)((0,r.string)(),1,Infinity)}))}),function(e){e.npm="npm:",e.local="local:"}(a||(n.SnapIdPrefixes=a={})),function(e){e.JSON_RPC="jsonRpc",e.COMMAND="command"}(o||(n.SNAP_STREAM_NAMES=o={}));n.uri=(e={})=>(0,r.refine)((0,r.union)([(0,r.string)(),(0,r.instance)(URL)]),"uri",(t=>{try{const n=new URL(t),s=(0,r.type)(e);return(0,r.assert)(n,s),!0}catch{return`Expected URL, got "${t.toString()}".`}})),n.isValidUrl=function(e,t={}){return(0,r.is)(e,(0,n.uri)(t))},n.WALLET_SNAP_PERMISSION_KEY="wallet_snap"}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/types.cjs"}],[1374,{"./url.cjs":1375,"@metamask/snaps-sdk":2746,"@metamask/snaps-sdk/jsx":2830,"@metamask/snaps-sdk/jsx-runtime":2829,"@metamask/utils":2950,marked:4866},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.serialiseJsx=n.walkJsx=n.getJsxChildren=n.hasChildren=n.getTotalTextLength=n.validateJsxLinks=n.validateTextLinks=n.validateLink=n.getJsxElementFromComponent=n.getTextChildren=void 0;const r=e("@metamask/snaps-sdk/jsx-runtime"),s=e("@metamask/snaps-sdk"),i=e("@metamask/snaps-sdk/jsx"),a=e("@metamask/utils"),o=e("marked"),A=e("./url.cjs"),c=5e4,u=["https:","mailto:","metamask:"];function l(e){switch(e){case"primary":return"primary";case"secondary":return"destructive";default:return undefined}}function g(e){return 1===e.length?e[0]:e}function d(e){return e.tokens&&e.tokens.length>0?g(e.tokens.flatMap(h)):e.href}function f(e){return g(e.flatMap(h))}function h(e){switch(e.type){case"link":return(0,r.jsx)(i.Link,{href:e.href,children:d(e)});case"text":return e.text;case"strong":return(0,r.jsx)(i.Bold,{children:f(e.tokens)});case"em":return(0,r.jsx)(i.Italic,{children:f(e.tokens)});default:return null}}function p(e){const t=(0,o.lexer)(e,{gfm:!1}),n=[];return(0,o.walkTokens)(t,(e=>{if("paragraph"===e.type){n.length>0&&n.push("\n\n");const{tokens:t}=e;n.push(...t.flatMap(h))}})),n.filter((e=>null!==e))}function m(e,t,n){try{const r=new URL(e);if((0,a.assert)(u.includes(r.protocol),`Protocol must be one of: ${u.join(", ")}.`),"metamask:"===r.protocol){const t=(0,A.parseMetaMaskUrl)(e);t.snapId&&(0,a.assert)(n(t.snapId),"The Snap being navigated to is not installed.")}else if("mailto:"===r.protocol){const e=r.pathname.split(",");for(const n of e){const e=n.split("@")[1];(0,a.assert)(!e.includes(":"));const r=`https://${e}`;(0,a.assert)(!t(r),"The specified URL is not allowed.")}return}(0,a.assert)(!t(r.href),"The specified URL is not allowed.")}catch(e){throw new Error(`Invalid URL: ${"ERR_ASSERTION"===e?.code?e.message:"Unable to parse URL."}`)}}function E(e){const{type:t}=e;switch(t){case s.NodeType.Panel:return e.children.reduce(((e,t)=>e+E(t)),0);case s.NodeType.Row:return E(e.value);case s.NodeType.Text:return e.value.length;default:return 0}}function C(e){return(0,a.hasProperty)(e.props,"children")}function I(e){return Boolean(e)&&!0!==e}function B(e){if(C(e)){if(Array.isArray(e.props.children))return e.props.children.filter(I).flat(Infinity);if(e.props.children)return[e.props.children]}return[]}function w(e,t,n=0){if(Array.isArray(e)){for(const r of e){const e=w(r,t,n);if(e!==undefined)return e}return undefined}const r=t(e,n);if(r!==undefined)return r;if((0,a.hasProperty)(e,"props")&&(0,a.isPlainObject)(e.props)&&(0,a.hasProperty)(e.props,"children")){const r=B(e);for(const e of r)if((0,a.isPlainObject)(e)){const r=w(e,t,n+1);if(r!==undefined)return r}}return undefined}function y(e){return Object.entries(e).filter((([e])=>"children"!==e)).sort((([e],[t])=>e.localeCompare(t))).map((([e,t])=>{return` ${e}=${n=t,"string"==typeof n?`"${n}"`:`{${JSON.stringify(n)}}`}`;var n})).join("")}n.getTextChildren=p,n.getJsxElementFromComponent=function(e){return function(e){const t=E(e);(0,a.assert)(t<=c,`The text in a Snap UI may not be larger than ${c/1e3} kB.`)}(e),function e(t){switch(t.type){case s.NodeType.Address:return(0,r.jsx)(i.Address,{address:t.value});case s.NodeType.Button:return(0,r.jsx)(i.Button,{name:t.name,variant:l(t.variant),type:t.buttonType,children:t.value});case s.NodeType.Copyable:return(0,r.jsx)(i.Copyable,{value:t.value,sensitive:t.sensitive});case s.NodeType.Divider:return(0,r.jsx)(i.Divider,{});case s.NodeType.Form:return(0,r.jsx)(i.Form,{name:t.name,children:g(t.children.map(e))});case s.NodeType.Heading:return(0,r.jsx)(i.Heading,{children:t.value});case s.NodeType.Image:return(0,r.jsx)(i.Image,{src:t.value});case s.NodeType.Input:return(0,r.jsx)(i.Field,{label:t.label,error:t.error,children:(0,r.jsx)(i.Input,{name:t.name,type:t.inputType,value:t.value,placeholder:t.placeholder})});case s.NodeType.Panel:return(0,r.jsx)(i.Box,{children:g(t.children.map(e))});case s.NodeType.Row:return(0,r.jsx)(i.Row,{label:t.label,variant:t.variant,children:e(t.value)});case s.NodeType.Spinner:return(0,r.jsx)(i.Spinner,{});case s.NodeType.Text:return(0,r.jsx)(i.Text,{children:g(p(t.value))});default:return(0,a.assertExhaustive)(t)}}(e)},n.validateLink=m,n.validateTextLinks=function(e,t,n){const r=function(e){const t=(0,o.lexer)(e,{gfm:!1}),n=[];return(0,o.walkTokens)(t,(e=>{"link"===e.type&&n.push(e)})),n}(e);for(const e of r)m(e.href,t,n)},n.validateJsxLinks=function(e,t,n){w(e,(e=>{"Link"===e.type&&m(e.props.href,t,n)}))},n.getTotalTextLength=E,n.hasChildren=C,n.getJsxChildren=B,n.walkJsx=w,n.serialiseJsx=function e(t,n=0){if(Array.isArray(t))return t.map((t=>e(t,n))).join("");const r=" ".repeat(n);if("string"==typeof t)return`${r}${t}\n`;if(!t)return"";const{type:s,props:i}=t,o=n>0?"\n":"";if((0,a.hasProperty)(i,"children")){const t=e(i.children,n+1);return`${r}<${s}${y(i)}>\n${t}${r}</${s}>${o}`}return`${r}<${s}${y(i)} />${o}`}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/ui.cjs"}],[1375,{"./snaps.cjs":1369,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.parseMetaMaskUrl=n.SNAP_PATHS=n.CLIENT_PATHS=void 0;const r=e("@metamask/utils"),s=e("./snaps.cjs");n.CLIENT_PATHS=["/"],n.SNAP_PATHS=["/home"],n.parseMetaMaskUrl=function(e){const t=new URL(e),{protocol:i}=t;if("metamask:"!==i)throw new Error(`Unable to parse URL. Expected the protocol to be "metamask:", but received "${i}".`);const[a,...o]=t.href.replace("metamask://","").split("/"),A=`/${o.join("/")}`;switch(a){case"client":return(0,r.assert)(n.CLIENT_PATHS.includes(A),`Unable to navigate to "${A}". The provided path is not allowed.`),{authority:a,path:A};case"snap":return function(e){const t="Invalid MetaMask url:",i=(0,s.stripSnapPrefix)(e.slice(1)),a=e.slice(1).startsWith("npm:")?"npm:":"local:",o=i.startsWith("@"),A=i.split("/"),c=`/${A[A.length-1]}`;let u;if("local:"===a){const[e,,...s]=A.slice(0,-1);u=`${e}//${s.join("/")}`,(0,r.assert)(n.SNAP_PATHS.includes(c),`${t} invalid snap path.`)}else u=o?`${A[0]}/${A[1]}`:A[0],(0,r.assert)(o?3===A.length&&n.SNAP_PATHS.includes(c):2===A.length&&n.SNAP_PATHS.includes(c),`${t} invalid snap path.`);const l=`${a}${u}`;return(0,s.assertIsValidSnapId)(l),{authority:"snap",snapId:l,path:c}}(A);default:throw new Error(`Expected "metamask:" URL to start with "client" or "snap", but received "${a}".`)}}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/url.cjs"}],[1376,{"./icon.cjs":1356,"./localization.cjs":1361,"./manifest/validation.cjs":1364,"./snaps.cjs":1369},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateFetchedSnap=void 0;const r=e("./icon.cjs"),s=e("./localization.cjs"),i=e("./manifest/validation.cjs"),a=e("./snaps.cjs");n.validateFetchedSnap=async function(e){(0,i.assertIsSnapManifest)(e.manifest.result),await(0,a.validateSnapShasum)(e),(0,s.validateSnapManifestLocalizations)(e.manifest.result,e.localizationFiles.map((e=>e.result))),e.svgIcon&&(0,r.assertIsSnapIcon)(e.svgIcon)}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/validation.cjs"}],[1377,{"@metamask/superstruct":2872,"@metamask/utils":2950,semver:5547},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.resolveVersionRange=n.getTargetVersion=n.DEFAULT_REQUESTED_SNAP_VERSION=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils"),i=e("semver");n.DEFAULT_REQUESTED_SNAP_VERSION="*",n.getTargetVersion=function(e,t){const n=(0,i.maxSatisfying)(e,t);return n||(0,i.maxSatisfying)(e,t,{includePrerelease:!0})},n.resolveVersionRange=function(e){return e===undefined||"latest"===e?[undefined,n.DEFAULT_REQUESTED_SNAP_VERSION]:(0,r.validate)(e,s.VersionRangeStruct)}}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/versions.cjs"}],[1378,{"../deep-clone.cjs":1349,"@metamask/utils":2950,"@scure/base":3027},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.VirtualFile=void 0;const r=e("@metamask/utils"),s=e("@scure/base"),i=e("../deep-clone.cjs");class a{constructor(e){let t;t="string"==typeof e||e instanceof Uint8Array?{value:e}:e,this.value=t?.value??"",this.result=t?.result??undefined,this.data=t?.data??{},this.path=t?.path??"/"}get size(){return"string"==typeof this.value?this.value.length:this.value.byteLength}toString(e){if("string"==typeof this.value)return(0,r.assert)(e===undefined,"Tried to encode string."),this.value;if(this.value instanceof Uint8Array&&"hex"===e)return(0,r.bytesToHex)(this.value);if(this.value instanceof Uint8Array&&"base64"===e)return s.base64.encode(this.value);return new TextDecoder(e).decode(this.value)}clone(){const e=new a;return"string"==typeof this.value?e.value=this.value:e.value=this.value.slice(0),e.result=(0,i.deepClone)(this.result),e.data=(0,i.deepClone)(this.data),e.path=this.path,e}}n.VirtualFile=a}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/virtual-file/VirtualFile.cjs"}],[1379,{"./VirtualFile.cjs":1378},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./VirtualFile.cjs"),n)}}},{package:"@metamask/assets-controllers>@metamask/snaps-utils",file:"node_modules/@metamask/assets-controllers/node_modules/@metamask/snaps-utils/dist/virtual-file/index.cjs"}],[1380,{immer:4649},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},i=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.getPersistentState=n.getAnonymizedState=n.BaseController=n.isBaseController=void 0;const a=e("immer");(0,a.enablePatches)(),n.isBaseController=function(e){return"object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name&&"state"in e&&"object"==typeof e.state&&"metadata"in e&&"object"==typeof e.metadata};function o(e,t,n){return Object.keys(e).reduce(((r,s)=>{try{const i=t[s];if(!i)throw new Error(`No metadata found for '${String(s)}'`);const a=i[n],o=e[s];return"function"==typeof a?r[s]=a(o):a&&(r[s]=o),r}catch(e){return setTimeout((()=>{throw e})),r}}),{})}n.BaseController=class{constructor({messenger:e,metadata:t,name:n,state:i}){r.set(this,void 0),this.messagingSystem=e,this.name=n,s(this,r,(0,a.freeze)(i,!0),"f"),this.metadata=t,this.messagingSystem.registerActionHandler(`${n}:getState`,(()=>this.state)),this.messagingSystem.registerInitialEventPayload({eventType:`${n}:stateChange`,getPayload:()=>[this.state,[]]})}get state(){return i(this,r,"f")}set state(e){throw new Error("Controller state cannot be directly mutated; use 'update' method instead.")}update(e){const[t,n,o]=a.produceWithPatches(i(this,r,"f"),e);return s(this,r,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,n),{nextState:t,patches:n,inversePatches:o}}applyPatches(e){const t=(0,a.applyPatches)(i(this,r,"f"),e);s(this,r,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,e)}destroy(){this.messagingSystem.clearEventSubscriptions(`${this.name}:stateChange`)}},r=new WeakMap,n.getAnonymizedState=function(e,t){return o(e,t,"anonymous")},n.getPersistentState=function(e,t){return o(e,t,"persist")}}}},{package:"@metamask/base-controller",file:"node_modules/@metamask/base-controller/dist/BaseControllerV2.cjs"}],[1381,{"./RestrictedMessenger.cjs":1382},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.Messenger=void 0;const A=e("./RestrictedMessenger.cjs");n.Messenger=class{constructor(){r.set(this,new Map),s.set(this,new Map),i.set(this,new Map),a.set(this,new Map)}registerActionHandler(e,t){if(o(this,r,"f").has(e))throw new Error(`A handler for ${e} has already been registered`);o(this,r,"f").set(e,t)}unregisterActionHandler(e){o(this,r,"f").delete(e)}clearActions(){o(this,r,"f").clear()}call(e,...t){const n=o(this,r,"f").get(e);if(!n)throw new Error(`A handler for ${e} has not been registered`);return n(...t)}registerInitialEventPayload({eventType:e,getPayload:t}){o(this,i,"f").set(e,t)}publish(e,...t){const n=o(this,s,"f").get(e);if(n)for(const[e,r]of n.entries())try{if(r){const n=o(this,a,"f").get(e),s=r(...t);s!==n&&(o(this,a,"f").set(e,s),e(s,n))}else e(...t)}catch(e){setTimeout((()=>{throw e}))}}subscribe(e,t,n){let r=o(this,s,"f").get(e);if(r||(r=new Map,o(this,s,"f").set(e,r)),r.set(t,n),n){const r=o(this,i,"f").get(e);if(r){const e=n(...r());o(this,a,"f").set(t,e)}}}unsubscribe(e,t){const n=o(this,s,"f").get(e);if(!n||!n.has(t))throw new Error(`Subscription not found for event: ${e}`);n.get(t)&&o(this,a,"f").delete(t),n.delete(t)}clearEventSubscriptions(e){o(this,s,"f").delete(e)}clearSubscriptions(){o(this,s,"f").clear()}getRestricted({name:e,allowedActions:t,allowedEvents:n}){return new A.RestrictedMessenger({messenger:this,name:e,allowedActions:t,allowedEvents:n})}},r=new WeakMap,s=new WeakMap,i=new WeakMap,a=new WeakMap}}},{package:"@metamask/base-controller",file:"node_modules/@metamask/base-controller/dist/Messenger.cjs"}],[1382,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},g=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.RestrictedMessenger=void 0;n.RestrictedMessenger=class{constructor({messenger:e,name:t,allowedActions:n,allowedEvents:A}){if(r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),!e)throw new Error("Messenger not provided");l(this,s,e,"f"),l(this,i,t,"f"),l(this,a,n,"f"),l(this,o,A,"f")}registerActionHandler(e,t){if(!g(this,r,"m",u).call(this,e))throw new Error(`Only allowed registering action handlers prefixed by '${g(this,i,"f")}:'`);g(this,s,"f").registerActionHandler(e,t)}unregisterActionHandler(e){if(!g(this,r,"m",u).call(this,e))throw new Error(`Only allowed unregistering action handlers prefixed by '${g(this,i,"f")}:'`);g(this,s,"f").unregisterActionHandler(e)}call(e,...t){if(!g(this,r,"m",c).call(this,e))throw new Error(`Action missing from allow list: ${e}`);return g(this,s,"f").call(e,...t)}registerInitialEventPayload({eventType:e,getPayload:t}){if(!g(this,r,"m",u).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${g(this,i,"f")}:'`);g(this,s,"f").registerInitialEventPayload({eventType:e,getPayload:t})}publish(e,...t){if(!g(this,r,"m",u).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${g(this,i,"f")}:'`);g(this,s,"f").publish(e,...t)}subscribe(e,t,n){if(!g(this,r,"m",A).call(this,e))throw new Error(`Event missing from allow list: ${e}`);return n?g(this,s,"f").subscribe(e,t,n):g(this,s,"f").subscribe(e,t)}unsubscribe(e,t){if(!g(this,r,"m",A).call(this,e))throw new Error(`Event missing from allow list: ${e}`);g(this,s,"f").unsubscribe(e,t)}clearEventSubscriptions(e){if(!g(this,r,"m",u).call(this,e))throw new Error(`Only allowed clearing events prefixed by '${g(this,i,"f")}:'`);g(this,s,"f").clearEventSubscriptions(e)}},s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,r=new WeakSet,A=function(e){const t=g(this,o,"f");return g(this,r,"m",u).call(this,e)||null!==t&&t.includes(e)},c=function(e){const t=g(this,a,"f");return g(this,r,"m",u).call(this,e)||null!==t&&t.includes(e)},u=function(e){return e.startsWith(`${g(this,i,"f")}:`)}}}},{package:"@metamask/base-controller",file:"node_modules/@metamask/base-controller/dist/RestrictedMessenger.cjs"}],[1383,{"./BaseControllerV2.cjs":1380,"./Messenger.cjs":1381,"./RestrictedMessenger.cjs":1382},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.RestrictedMessenger=n.Messenger=n.isBaseController=n.getPersistentState=n.getAnonymizedState=n.BaseController=void 0;var r=e("./BaseControllerV2.cjs");Object.defineProperty(n,"BaseController",{enumerable:!0,get:function(){return r.BaseController}}),Object.defineProperty(n,"getAnonymizedState",{enumerable:!0,get:function(){return r.getAnonymizedState}}),Object.defineProperty(n,"getPersistentState",{enumerable:!0,get:function(){return r.getPersistentState}}),Object.defineProperty(n,"isBaseController",{enumerable:!0,get:function(){return r.isBaseController}});var s=e("./Messenger.cjs");Object.defineProperty(n,"Messenger",{enumerable:!0,get:function(){return s.Messenger}});var i=e("./RestrictedMessenger.cjs");Object.defineProperty(n,"RestrictedMessenger",{enumerable:!0,get:function(){return i.RestrictedMessenger}})}}},{package:"@metamask/base-controller",file:"node_modules/@metamask/base-controller/dist/index.cjs"}],[1384,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){t.exports={snapId:"npm:@metamask/bitcoin-wallet-snap",manifest:{version:"0.9.0",description:"Manage Bitcoin using MetaMask",proposedName:"Bitcoin",repository:{type:"git",url:"https://github.com/MetaMask/snap-bitcoin-wallet.git"},source:{shasum:"c6ao0YdZ1rZUVCrAKyfjOpdZvRFuT2puWeTJBjrOszA=",location:{npm:{filePath:"dist/bundle.js",iconPath:"images/icon.svg",packageName:"@metamask/bitcoin-wallet-snap",registry:"https://registry.npmjs.org/"}},locales:["locales/en.json"]},initialConnections:{"https://portfolio.metamask.io":{},"https://portfolio-builds.metafi-dev.codefi.network":{},"https://dev.portfolio.metamask.io":{},"https://ramps-dev.portfolio.metamask.io":{}},initialPermissions:{"endowment:rpc":{dapps:!0,snaps:!1},"endowment:keyring":{allowedOrigins:["https://portfolio.metamask.io","https://portfolio-builds.metafi-dev.codefi.network","https://dev.portfolio.metamask.io","https://ramps-dev.portfolio.metamask.io"]},snap_getBip32Entropy:[{path:["m","84'","0'"],curve:"secp256k1"},{path:["m","84'","1'"],curve:"secp256k1"}],"endowment:network-access":{},snap_manageAccounts:{},snap_manageState:{},snap_dialog:{},snap_getPreferences:{}},manifestVersion:"0.1"},files:[{path:"images/icon.svg",value:'<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">\n<circle cx="20" cy="20.0002" r="18.8889" fill="url(#paint0_linear_69_841)"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M24.8152 12.1716C27.4342 13.1325 29.3206 14.5561 28.8882 17.2879C28.5609 19.2765 27.5188 20.2485 26.1106 20.5915C27.9845 21.6404 28.8865 23.2325 27.9216 26.0252C26.7217 29.5278 24.0359 29.8455 20.4784 29.167L19.5625 32.8636L17.4955 32.3513L18.4113 28.6548C18.1864 28.5949 17.9494 28.5397 17.7063 28.4831C17.3815 28.4075 17.0458 28.3293 16.7136 28.2339L15.7977 31.9307L13.7345 31.4193L14.6503 27.7226L10.5403 26.6032L11.5619 23.9894C11.5619 23.9894 13.1132 24.4161 13.0891 24.3893C13.6645 24.5292 13.9459 24.1273 14.0611 23.8458L15.5278 17.9197L16.5951 13.7077C16.6413 13.2524 16.4987 12.6568 15.658 12.4302C15.7152 12.3966 14.1445 12.0551 14.1445 12.0551L14.7566 9.57797L18.9926 10.6278L19.8897 7.00684L22.0237 7.53573L21.1266 11.1567C21.5415 11.2469 21.947 11.3518 22.3568 11.4578L22.357 11.4578C22.4915 11.4926 22.6265 11.5275 22.7624 11.5621L23.6595 7.94112L25.7359 8.45571L24.8152 12.1716ZM19.1525 17.994C19.1848 18.0036 19.2194 18.014 19.2561 18.025C20.497 18.398 24.1766 19.5037 24.7964 17.0417C25.3735 14.7014 22.1857 13.9866 20.7045 13.6544C20.5296 13.6152 20.3784 13.5813 20.2601 13.5507L19.1525 17.994ZM17.5196 25.2939C17.4544 25.2744 17.3943 25.2567 17.3398 25.2406L18.4474 20.7974C18.5783 20.8314 18.7438 20.8703 18.9352 20.9152C20.6813 21.3255 24.5813 22.242 23.9751 24.5954C23.3868 27.039 19.0484 25.7487 17.5196 25.2939Z" fill="white"/>\n<defs>\n<linearGradient id="paint0_linear_69_841" x1="20" y1="1.11133" x2="20" y2="38.8891" gradientUnits="userSpaceOnUse">\n<stop stop-color="#FFB60A"/>\n<stop offset="1" stop-color="#F58300"/>\n</linearGradient>\n</defs>\n</svg>\n'},{path:"dist/bundle.js",value:'(()=>{var e,A,t={242:(e,A,t)=>{"use strict";var r=t(1048).Buffer,n=t(4261),i=t(4500),o=t(9688);var s,a,g=(s=n,a=Object.create(null),s&&Object.keys(s).forEach((function(e){if("default"!==e){var A=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(a,e,A.get?A:{enumerable:!0,get:function(){return s[e]}})}})),a.default=s,Object.freeze(a));const c="Expected Private",u="Expected Point",E="Expected Tweak",f="Expected Signature",B="Expected Extra Data (32 bytes)",I="Expected Scalar";g.utils.hmacSha256Sync=(e,...A)=>i.hmac(o.sha256,e,g.utils.concatBytes(...A)),g.utils.sha256Sync=(...e)=>o.sha256(g.utils.concatBytes(...e));const C=g.utils._normalizePrivateKey,Q=32,h=32,l=new Uint8Array([255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65]),d=32,p=new Uint8Array(32),w=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,69,81,35,25,80,183,95,196,64,45,161,114,47,201,186,238]);function y(e,A){for(let t=0;t<32;++t)if(e[t]!==A[t])return e[t]<A[t]?-1:1;return 0}function b(e){return 0===y(e,p)}function m(e){return e instanceof Uint8Array&&e.length===h&&!(y(e,l)>=0)}function v(e){return e instanceof Uint8Array&&64===e.length&&y(e.subarray(0,32),l)<0&&y(e.subarray(32,64),l)<0}function S(e){return e instanceof Uint8Array&&64===e.length&&y(e.subarray(0,32),w)<0}function k(e){return e instanceof Uint8Array&&e.length===Q}function T(e){return void 0===e||e instanceof Uint8Array&&e.length===d}function P(e){if("string"!=typeof e)throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function x(e){let A;if("bigint"==typeof e)A=e;else if("number"==typeof e&&Number.isSafeInteger(e)&&e>=0)A=BigInt(e);else if("string"==typeof e){if(64!==e.length)throw new Error("Expected 32 bytes of private scalar");A=P(e)}else{if(!(e instanceof Uint8Array))throw new TypeError("Expected valid private scalar");if(32!==e.length)throw new Error("Expected 32 bytes of private scalar");t=e,A=P(g.utils.bytesToHex(t))}var t;if(A<0)throw new Error("Expected private scalar >= 0");return A}const R=(e,A,t)=>{const r=g.Point.fromHex(e),n=x(A),i=g.Point.BASE.multiplyAndAddUnsafe(r,n,BigInt(1));if(!i)throw new Error("Tweaked point at infinity");return i.toRawBytes(t)};function O(e,A){return void 0===e?void 0===A||L(A):!!e}function U(e){try{return e()}catch(e){return null}}function D(e,A){if(32===e.length!==A)return!1;try{return!!g.Point.fromHex(e)}catch(e){return!1}}function F(e){return D(e,!1)}function L(e){return D(e,!1)&&33===e.length}function N(e){return g.utils.isValidPrivateKey(e)}function M(e){return D(e,!0)}function H(e){if(!F(e))throw new Error(u);return e.slice(1,33)}function K(e,A){if(!N(e))throw new Error(c);return U((()=>g.getPublicKey(e,O(A))))}A.isPoint=F,A.isPointCompressed=L,A.isPrivate=N,A.isXOnlyPoint=M,A.pointAdd=function(e,A,t){if(!F(e)||!F(A))throw new Error(u);return U((()=>{const r=g.Point.fromHex(e),n=g.Point.fromHex(A);return r.equals(n.negate())?null:r.add(n).toRawBytes(O(t,e))}))},A.pointAddScalar=function(e,A,t){if(!F(e))throw new Error(u);if(!m(A))throw new Error(E);return U((()=>R(e,A,O(t,e))))},A.pointCompress=function(e,A){if(!F(e))throw new Error(u);return g.Point.fromHex(e).toRawBytes(O(A,e))},A.pointFromScalar=K,A.pointMultiply=function(e,A,t){if(!F(e))throw new Error(u);if(!m(A))throw new Error(E);return U((()=>((e,A,t)=>{const r=g.Point.fromHex(e),n="string"==typeof A?A:g.utils.bytesToHex(A),i=BigInt(`0x${n}`);return r.multiply(i).toRawBytes(t)})(e,A,O(t,e))))},A.privateAdd=function(e,A){if(!1===N(e))throw new Error(c);if(!1===m(A))throw new Error(E);return U((()=>((e,A)=>{const t=C(e),r=x(A),n=g.utils._bigintTo32Bytes(g.utils.mod(t+r,g.CURVE.n));return g.utils.isValidPrivateKey(n)?n:null})(e,A)))},A.privateNegate=function(e){if(!1===N(e))throw new Error(c);return(e=>{const A=C(e),t=g.utils._bigintTo32Bytes(g.CURVE.n-A);return g.utils.isValidPrivateKey(t)?t:null})(e)},A.privateSub=function(e,A){if(!1===N(e))throw new Error(c);if(!1===m(A))throw new Error(E);return U((()=>((e,A)=>{const t=C(e),r=x(A),n=g.utils._bigintTo32Bytes(g.utils.mod(t-r,g.CURVE.n));return g.utils.isValidPrivateKey(n)?n:null})(e,A)))},A.recover=function(e,A,t,r){if(!k(e))throw new Error("Expected Hash");if(!v(A)||!function(e){return!(b(e.subarray(0,32))||b(e.subarray(32,64)))}(A))throw new Error(f);if(2&t&&!S(A))throw new Error("Bad Recovery Id");if(!M(A.subarray(0,32)))throw new Error(f);return g.recoverPublicKey(e,A,t,O(r))},A.sign=function(e,A,t){if(!N(A))throw new Error(c);if(!k(e))throw new Error(I);if(!T(t))throw new Error(B);return g.signSync(e,A,{der:!1,extraEntropy:t})},A.signRecoverable=function(e,A,t){if(!N(A))throw new Error(c);if(!k(e))throw new Error(I);if(!T(t))throw new Error(B);const[r,n]=g.signSync(e,A,{der:!1,extraEntropy:t,recovered:!0});return{signature:r,recoveryId:n}},A.signSchnorr=function(e,A,t=r.alloc(32,0)){if(!N(A))throw new Error(c);if(!k(e))throw new Error(I);if(!T(t))throw new Error(B);return g.schnorr.signSync(e,A,t)},A.verify=function(e,A,t,r){if(!F(A))throw new Error(u);if(!v(t))throw new Error(f);if(!k(e))throw new Error(I);return g.verify(t,e,A,{strict:r})},A.verifySchnorr=function(e,A,t){if(!M(A))throw new Error(u);if(!v(t))throw new Error(f);if(!k(e))throw new Error(I);return g.schnorr.verifySync(t,e,A)},A.xOnlyPointAddTweak=function(e,A){if(!M(e))throw new Error(u);if(!m(A))throw new Error(E);return U((()=>{const t=R(e,A,!0);return{parity:t[0]%2==1?1:0,xOnlyPubkey:t.slice(1)}}))},A.xOnlyPointFromPoint=H,A.xOnlyPointFromScalar=function(e){if(!N(e))throw new Error(c);return H(K(e))}},8460:(e,A)=>{"use strict";function t(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function r(e){if("boolean"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function n(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}function i(e,...A){if(!n(e))throw new Error("Uint8Array expected");if(A.length>0&&!A.includes(e.length))throw new Error(`Uint8Array expected of length ${A}, not of length=${e.length}`)}function o(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");t(e.outputLen),t(e.blockLen)}function s(e,A=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(A&&e.finished)throw new Error("Hash#digest() has already been called")}function a(e,A){i(e);const t=A.outputLen;if(e.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}Object.defineProperty(A,"__esModule",{value:!0}),A.isBytes=n,A.number=t,A.bool=r,A.bytes=i,A.hash=o,A.exists=s,A.output=a;const g={number:t,bool:r,bytes:i,hash:o,exists:s,output:a};A.default=g},6423:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.HashMD=A.Maj=A.Chi=void 0;const r=t(8460),n=t(9074);A.Chi=(e,A,t)=>e&A^~e&t;A.Maj=(e,A,t)=>e&A^e&t^A&t;class i extends n.Hash{constructor(e,A,t,r){super(),this.blockLen=e,this.outputLen=A,this.padOffset=t,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=(0,n.createView)(this.buffer)}update(e){(0,r.exists)(this);const{view:A,buffer:t,blockLen:i}=this,o=(e=(0,n.toBytes)(e)).length;for(let r=0;r<o;){const s=Math.min(i-this.pos,o-r);if(s!==i)t.set(e.subarray(r,r+s),this.pos),this.pos+=s,r+=s,this.pos===i&&(this.process(A,0),this.pos=0);else{const A=(0,n.createView)(e);for(;i<=o-r;r+=i)this.process(A,r)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,r.exists)(this),(0,r.output)(e,this),this.finished=!0;const{buffer:A,view:t,blockLen:i,isLE:o}=this;let{pos:s}=this;A[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(t,0),s=0);for(let e=s;e<i;e++)A[e]=0;!function(e,A,t,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(A,t,r);const n=BigInt(32),i=BigInt(4294967295),o=Number(t>>n&i),s=Number(t&i),a=r?4:0,g=r?0:4;e.setUint32(A+a,o,r),e.setUint32(A+g,s,r)}(t,i-8,BigInt(8*this.length),o),this.process(t,0);const a=(0,n.createView)(e),g=this.outputLen;if(g%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=g/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)a.setUint32(4*e,u[e],o)}digest(){const{buffer:e,outputLen:A}=this;this.digestInto(e);const t=e.slice(0,A);return this.destroy(),t}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:A,buffer:t,length:r,finished:n,destroyed:i,pos:o}=this;return e.length=r,e.pos=o,e.finished=n,e.destroyed=i,r%A&&e.buffer.set(t),e}}A.HashMD=i},8081:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.add5L=A.add5H=A.add4H=A.add4L=A.add3H=A.add3L=A.rotlBL=A.rotlBH=A.rotlSL=A.rotlSH=A.rotr32L=A.rotr32H=A.rotrBL=A.rotrBH=A.rotrSL=A.rotrSH=A.shrSL=A.shrSH=A.toBig=void 0,A.fromBig=n,A.split=i,A.add=l;const t=BigInt(2**32-1),r=BigInt(32);function n(e,A=!1){return A?{h:Number(e&t),l:Number(e>>r&t)}:{h:0|Number(e>>r&t),l:0|Number(e&t)}}function i(e,A=!1){let t=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:o,l:s}=n(e[i],A);[t[i],r[i]]=[o,s]}return[t,r]}const o=(e,A)=>BigInt(e>>>0)<<r|BigInt(A>>>0);A.toBig=o;const s=(e,A,t)=>e>>>t;A.shrSH=s;const a=(e,A,t)=>e<<32-t|A>>>t;A.shrSL=a;const g=(e,A,t)=>e>>>t|A<<32-t;A.rotrSH=g;const c=(e,A,t)=>e<<32-t|A>>>t;A.rotrSL=c;const u=(e,A,t)=>e<<64-t|A>>>t-32;A.rotrBH=u;const E=(e,A,t)=>e>>>t-32|A<<64-t;A.rotrBL=E;const f=(e,A)=>A;A.rotr32H=f;const B=(e,A)=>e;A.rotr32L=B;const I=(e,A,t)=>e<<t|A>>>32-t;A.rotlSH=I;const C=(e,A,t)=>A<<t|e>>>32-t;A.rotlSL=C;const Q=(e,A,t)=>A<<t-32|e>>>64-t;A.rotlBH=Q;const h=(e,A,t)=>e<<t-32|A>>>64-t;function l(e,A,t,r){const n=(A>>>0)+(r>>>0);return{h:e+t+(n/2**32|0)|0,l:0|n}}A.rotlBL=h;const d=(e,A,t)=>(e>>>0)+(A>>>0)+(t>>>0);A.add3L=d;const p=(e,A,t,r)=>A+t+r+(e/2**32|0)|0;A.add3H=p;const w=(e,A,t,r)=>(e>>>0)+(A>>>0)+(t>>>0)+(r>>>0);A.add4L=w;const y=(e,A,t,r,n)=>A+t+r+n+(e/2**32|0)|0;A.add4H=y;const b=(e,A,t,r,n)=>(e>>>0)+(A>>>0)+(t>>>0)+(r>>>0)+(n>>>0);A.add5L=b;const m=(e,A,t,r,n,i)=>A+t+r+n+i+(e/2**32|0)|0;A.add5H=m;const v={fromBig:n,split:i,toBig:o,shrSH:s,shrSL:a,rotrSH:g,rotrSL:c,rotrBH:u,rotrBL:E,rotr32H:f,rotr32L:B,rotlSH:I,rotlSL:C,rotlBH:Q,rotlBL:h,add:l,add3L:d,add3H:p,add4L:w,add4H:y,add5H:m,add5L:b};A.default=v},6910:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.crypto=void 0,A.crypto="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0},4500:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.hmac=A.HMAC=void 0;const r=t(8460),n=t(9074);class i extends n.Hash{constructor(e,A){super(),this.finished=!1,this.destroyed=!1,(0,r.hash)(e);const t=(0,n.toBytes)(A);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,o=new Uint8Array(i);o.set(t.length>i?e.create().update(t).digest():t);for(let e=0;e<o.length;e++)o[e]^=54;this.iHash.update(o),this.oHash=e.create();for(let e=0;e<o.length;e++)o[e]^=106;this.oHash.update(o),o.fill(0)}update(e){return(0,r.exists)(this),this.iHash.update(e),this}digestInto(e){(0,r.exists)(this),(0,r.bytes)(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:A,iHash:t,finished:r,destroyed:n,blockLen:i,outputLen:o}=this;return e.finished=r,e.destroyed=n,e.blockLen=i,e.outputLen=o,e.oHash=A._cloneInto(e.oHash),e.iHash=t._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}A.HMAC=i;A.hmac=(e,A,t)=>new i(e,A).update(t).digest(),A.hmac.create=(e,A)=>new i(e,A)},71:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.ripemd160=A.RIPEMD160=void 0;const r=t(6423),n=t(9074),i=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),o=new Uint8Array(new Array(16).fill(0).map(((e,A)=>A))),s=o.map((e=>(9*e+5)%16));let a=[o],g=[s];for(let e=0;e<4;e++)for(let A of[a,g])A.push(A[e].map((e=>i[e])));const c=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((e=>new Uint8Array(e))),u=a.map(((e,A)=>e.map((e=>c[A][e])))),E=g.map(((e,A)=>e.map((e=>c[A][e])))),f=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),B=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function I(e,A,t,r){return 0===e?A^t^r:1===e?A&t|~A&r:2===e?(A|~t)^r:3===e?A&r|t&~r:A^(t|~r)}const C=new Uint32Array(16);class Q extends r.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:A,h2:t,h3:r,h4:n}=this;return[e,A,t,r,n]}set(e,A,t,r,n){this.h0=0|e,this.h1=0|A,this.h2=0|t,this.h3=0|r,this.h4=0|n}process(e,A){for(let t=0;t<16;t++,A+=4)C[t]=e.getUint32(A,!0);let t=0|this.h0,r=t,i=0|this.h1,o=i,s=0|this.h2,c=s,Q=0|this.h3,h=Q,l=0|this.h4,d=l;for(let e=0;e<5;e++){const A=4-e,p=f[e],w=B[e],y=a[e],b=g[e],m=u[e],v=E[e];for(let A=0;A<16;A++){const r=(0,n.rotl)(t+I(e,i,s,Q)+C[y[A]]+p,m[A])+l|0;t=l,l=Q,Q=0|(0,n.rotl)(s,10),s=i,i=r}for(let e=0;e<16;e++){const t=(0,n.rotl)(r+I(A,o,c,h)+C[b[e]]+w,v[e])+d|0;r=d,d=h,h=0|(0,n.rotl)(c,10),c=o,o=t}}this.set(this.h1+s+h|0,this.h2+Q+d|0,this.h3+l+r|0,this.h4+t+o|0,this.h0+i+c|0)}roundClean(){C.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}A.RIPEMD160=Q,A.ripemd160=(0,n.wrapConstructor)((()=>new Q))},874:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.sha1=A.SHA1=void 0;const r=t(6423),n=t(9074),i=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),o=new Uint32Array(80);class s extends r.HashMD{constructor(){super(64,20,8,!1),this.A=0|i[0],this.B=0|i[1],this.C=0|i[2],this.D=0|i[3],this.E=0|i[4]}get(){const{A:e,B:A,C:t,D:r,E:n}=this;return[e,A,t,r,n]}set(e,A,t,r,n){this.A=0|e,this.B=0|A,this.C=0|t,this.D=0|r,this.E=0|n}process(e,A){for(let t=0;t<16;t++,A+=4)o[t]=e.getUint32(A,!1);for(let e=16;e<80;e++)o[e]=(0,n.rotl)(o[e-3]^o[e-8]^o[e-14]^o[e-16],1);let{A:t,B:i,C:s,D:a,E:g}=this;for(let e=0;e<80;e++){let A,c;e<20?(A=(0,r.Chi)(i,s,a),c=1518500249):e<40?(A=i^s^a,c=1859775393):e<60?(A=(0,r.Maj)(i,s,a),c=2400959708):(A=i^s^a,c=3395469782);const u=(0,n.rotl)(t,5)+A+g+c+o[e]|0;g=a,a=s,s=(0,n.rotl)(i,30),i=t,t=u}t=t+this.A|0,i=i+this.B|0,s=s+this.C|0,a=a+this.D|0,g=g+this.E|0,this.set(t,i,s,a,g)}roundClean(){o.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}A.SHA1=s,A.sha1=(0,n.wrapConstructor)((()=>new s))},9688:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.sha224=A.sha256=A.SHA256=void 0;const r=t(6423),n=t(9074),i=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),o=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),s=new Uint32Array(64);class a extends r.HashMD{constructor(){super(64,32,8,!1),this.A=0|o[0],this.B=0|o[1],this.C=0|o[2],this.D=0|o[3],this.E=0|o[4],this.F=0|o[5],this.G=0|o[6],this.H=0|o[7]}get(){const{A:e,B:A,C:t,D:r,E:n,F:i,G:o,H:s}=this;return[e,A,t,r,n,i,o,s]}set(e,A,t,r,n,i,o,s){this.A=0|e,this.B=0|A,this.C=0|t,this.D=0|r,this.E=0|n,this.F=0|i,this.G=0|o,this.H=0|s}process(e,A){for(let t=0;t<16;t++,A+=4)s[t]=e.getUint32(A,!1);for(let e=16;e<64;e++){const A=s[e-15],t=s[e-2],r=(0,n.rotr)(A,7)^(0,n.rotr)(A,18)^A>>>3,i=(0,n.rotr)(t,17)^(0,n.rotr)(t,19)^t>>>10;s[e]=i+s[e-7]+r+s[e-16]|0}let{A:t,B:o,C:a,D:g,E:c,F:u,G:E,H:f}=this;for(let e=0;e<64;e++){const A=f+((0,n.rotr)(c,6)^(0,n.rotr)(c,11)^(0,n.rotr)(c,25))+(0,r.Chi)(c,u,E)+i[e]+s[e]|0,B=((0,n.rotr)(t,2)^(0,n.rotr)(t,13)^(0,n.rotr)(t,22))+(0,r.Maj)(t,o,a)|0;f=E,E=u,u=c,c=g+A|0,g=a,a=o,o=t,t=A+B|0}t=t+this.A|0,o=o+this.B|0,a=a+this.C|0,g=g+this.D|0,c=c+this.E|0,u=u+this.F|0,E=E+this.G|0,f=f+this.H|0,this.set(t,o,a,g,c,u,E,f)}roundClean(){s.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}A.SHA256=a;class g extends a{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}A.sha256=(0,n.wrapConstructor)((()=>new a)),A.sha224=(0,n.wrapConstructor)((()=>new g))},4989:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.sha384=A.sha512_256=A.sha512_224=A.sha512=A.SHA384=A.SHA512_256=A.SHA512_224=A.SHA512=void 0;const r=t(6423),n=t(8081),i=t(9074),[o,s]=n.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e=>BigInt(e)))),a=new Uint32Array(80),g=new Uint32Array(80);class c extends r.HashMD{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:A,Bh:t,Bl:r,Ch:n,Cl:i,Dh:o,Dl:s,Eh:a,El:g,Fh:c,Fl:u,Gh:E,Gl:f,Hh:B,Hl:I}=this;return[e,A,t,r,n,i,o,s,a,g,c,u,E,f,B,I]}set(e,A,t,r,n,i,o,s,a,g,c,u,E,f,B,I){this.Ah=0|e,this.Al=0|A,this.Bh=0|t,this.Bl=0|r,this.Ch=0|n,this.Cl=0|i,this.Dh=0|o,this.Dl=0|s,this.Eh=0|a,this.El=0|g,this.Fh=0|c,this.Fl=0|u,this.Gh=0|E,this.Gl=0|f,this.Hh=0|B,this.Hl=0|I}process(e,A){for(let t=0;t<16;t++,A+=4)a[t]=e.getUint32(A),g[t]=e.getUint32(A+=4);for(let e=16;e<80;e++){const A=0|a[e-15],t=0|g[e-15],r=n.default.rotrSH(A,t,1)^n.default.rotrSH(A,t,8)^n.default.shrSH(A,t,7),i=n.default.rotrSL(A,t,1)^n.default.rotrSL(A,t,8)^n.default.shrSL(A,t,7),o=0|a[e-2],s=0|g[e-2],c=n.default.rotrSH(o,s,19)^n.default.rotrBH(o,s,61)^n.default.shrSH(o,s,6),u=n.default.rotrSL(o,s,19)^n.default.rotrBL(o,s,61)^n.default.shrSL(o,s,6),E=n.default.add4L(i,u,g[e-7],g[e-16]),f=n.default.add4H(E,r,c,a[e-7],a[e-16]);a[e]=0|f,g[e]=0|E}let{Ah:t,Al:r,Bh:i,Bl:c,Ch:u,Cl:E,Dh:f,Dl:B,Eh:I,El:C,Fh:Q,Fl:h,Gh:l,Gl:d,Hh:p,Hl:w}=this;for(let e=0;e<80;e++){const A=n.default.rotrSH(I,C,14)^n.default.rotrSH(I,C,18)^n.default.rotrBH(I,C,41),y=n.default.rotrSL(I,C,14)^n.default.rotrSL(I,C,18)^n.default.rotrBL(I,C,41),b=I&Q^~I&l,m=C&h^~C&d,v=n.default.add5L(w,y,m,s[e],g[e]),S=n.default.add5H(v,p,A,b,o[e],a[e]),k=0|v,T=n.default.rotrSH(t,r,28)^n.default.rotrBH(t,r,34)^n.default.rotrBH(t,r,39),P=n.default.rotrSL(t,r,28)^n.default.rotrBL(t,r,34)^n.default.rotrBL(t,r,39),x=t&i^t&u^i&u,R=r&c^r&E^c&E;p=0|l,w=0|d,l=0|Q,d=0|h,Q=0|I,h=0|C,({h:I,l:C}=n.default.add(0|f,0|B,0|S,0|k)),f=0|u,B=0|E,u=0|i,E=0|c,i=0|t,c=0|r;const O=n.default.add3L(k,P,R);t=n.default.add3H(O,S,T,x),r=0|O}({h:t,l:r}=n.default.add(0|this.Ah,0|this.Al,0|t,0|r)),({h:i,l:c}=n.default.add(0|this.Bh,0|this.Bl,0|i,0|c)),({h:u,l:E}=n.default.add(0|this.Ch,0|this.Cl,0|u,0|E)),({h:f,l:B}=n.default.add(0|this.Dh,0|this.Dl,0|f,0|B)),({h:I,l:C}=n.default.add(0|this.Eh,0|this.El,0|I,0|C)),({h:Q,l:h}=n.default.add(0|this.Fh,0|this.Fl,0|Q,0|h)),({h:l,l:d}=n.default.add(0|this.Gh,0|this.Gl,0|l,0|d)),({h:p,l:w}=n.default.add(0|this.Hh,0|this.Hl,0|p,0|w)),this.set(t,r,i,c,u,E,f,B,I,C,Q,h,l,d,p,w)}roundClean(){a.fill(0),g.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}A.SHA512=c;class u extends c{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}A.SHA512_224=u;class E extends c{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}A.SHA512_256=E;class f extends c{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}A.SHA384=f,A.sha512=(0,i.wrapConstructor)((()=>new c)),A.sha512_224=(0,i.wrapConstructor)((()=>new u)),A.sha512_256=(0,i.wrapConstructor)((()=>new E)),A.sha384=(0,i.wrapConstructor)((()=>new f))},9074:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.Hash=A.nextTick=A.byteSwapIfBE=A.byteSwap=A.isLE=A.rotl=A.rotr=A.createView=A.u32=A.u8=void 0,A.isBytes=function(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name},A.byteSwap32=function(e){for(let t=0;t<e.length;t++)e[t]=(0,A.byteSwap)(e[t])},A.bytesToHex=function(e){(0,n.bytes)(e);let A="";for(let t=0;t<e.length;t++)A+=i[e[t]];return A},A.hexToBytes=function(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const A=e.length,t=A/2;if(A%2)throw new Error("padded hex string expected, got unpadded hex of length "+A);const r=new Uint8Array(t);for(let A=0,n=0;A<t;A++,n+=2){const t=s(e.charCodeAt(n)),i=s(e.charCodeAt(n+1));if(void 0===t||void 0===i){const A=e[n]+e[n+1];throw new Error(\'hex string expected, got non-hex character "\'+A+\'" at index \'+n)}r[A]=16*t+i}return r},A.asyncLoop=async function(e,t,r){let n=Date.now();for(let i=0;i<e;i++){r(i);const e=Date.now()-n;e>=0&&e<t||(await(0,A.nextTick)(),n+=e)}},A.utf8ToBytes=a,A.toBytes=g,A.concatBytes=function(...e){let A=0;for(let t=0;t<e.length;t++){const r=e[t];(0,n.bytes)(r),A+=r.length}const t=new Uint8Array(A);for(let A=0,r=0;A<e.length;A++){const n=e[A];t.set(n,r),r+=n.length}return t},A.checkOpts=function(e,A){if(void 0!==A&&"[object Object]"!==c.call(A))throw new Error("Options should be object or undefined");return Object.assign(e,A)},A.wrapConstructor=function(e){const A=A=>e().update(g(A)).digest(),t=e();return A.outputLen=t.outputLen,A.blockLen=t.blockLen,A.create=()=>e(),A},A.wrapConstructorWithOpts=function(e){const A=(A,t)=>e(t).update(g(A)).digest(),t=e({});return A.outputLen=t.outputLen,A.blockLen=t.blockLen,A.create=A=>e(A),A},A.wrapXOFConstructorWithOpts=function(e){const A=(A,t)=>e(t).update(g(A)).digest(),t=e({});return A.outputLen=t.outputLen,A.blockLen=t.blockLen,A.create=A=>e(A),A},A.randomBytes=function(e=32){if(r.crypto&&"function"==typeof r.crypto.getRandomValues)return r.crypto.getRandomValues(new Uint8Array(e));if(r.crypto&&"function"==typeof r.crypto.randomBytes)return r.crypto.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")};const r=t(6910),n=t(8460);A.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);A.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));A.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);A.rotr=(e,A)=>e<<32-A|e>>>A;A.rotl=(e,A)=>e<<A|e>>>32-A>>>0,A.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];A.byteSwap=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255,A.byteSwapIfBE=A.isLE?e=>e:e=>(0,A.byteSwap)(e);const i=Array.from({length:256},((e,A)=>A.toString(16).padStart(2,"0")));const o={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function s(e){return e>=o._0&&e<=o._9?e-o._0:e>=o._A&&e<=o._F?e-(o._A-10):e>=o._a&&e<=o._f?e-(o._a-10):void 0}function a(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function g(e){return"string"==typeof e&&(e=a(e)),(0,n.bytes)(e),e}A.nextTick=async()=>{};A.Hash=class{clone(){return this._cloneInto()}};const c={}.toString},4261:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.utils=A.schnorr=A.verify=A.signSync=A.sign=A.getSharedSecret=A.recoverPublicKey=A.getPublicKey=A.Signature=A.Point=A.CURVE=void 0;const r=t(2028),n=BigInt(0),i=BigInt(1),o=BigInt(2),s=BigInt(3),a=BigInt(8),g=Object.freeze({a:n,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:i,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")});A.CURVE=g;const c=(e,A)=>(e+A/o)/A,u={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){const{n:A}=g,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-i*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=t,s=BigInt("0x100000000000000000000000000000000"),a=c(o*e,A),u=c(-r*e,A);let E=M(e-a*t-u*n,A),f=M(-a*r-u*o,A);const B=E>s,I=f>s;if(B&&(E=A-E),I&&(f=A-f),E>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:B,k1:E,k2neg:I,k2:f}}},E=32,f=32,B=E+1,I=2*E+1;function C(e){const{a:A,b:t}=g,r=M(e*e),n=M(r*e);return M(n+A*e+t)}const Q=g.a===n;class h extends Error{constructor(e){super(e)}}function l(e){if(!(e instanceof d))throw new TypeError("JacobianPoint expected")}class d{constructor(e,A,t){this.x=e,this.y=A,this.z=t}static fromAffine(e){if(!(e instanceof y))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(y.ZERO)?d.ZERO:new d(e.x,e.y,i)}static toAffineBatch(e){const A=function(e,A=g.P){const t=new Array(e.length),r=e.reduce(((e,r,i)=>r===n?e:(t[i]=e,M(e*r,A))),i),o=K(r,A);return e.reduceRight(((e,r,i)=>r===n?e:(t[i]=M(e*t[i],A),M(e*r,A))),o),t}(e.map((e=>e.z)));return e.map(((e,t)=>e.toAffine(A[t])))}static normalizeZ(e){return d.toAffineBatch(e).map(d.fromAffine)}equals(e){l(e);const{x:A,y:t,z:r}=this,{x:n,y:i,z:o}=e,s=M(r*r),a=M(o*o),g=M(A*a),c=M(n*s),u=M(M(t*o)*a),E=M(M(i*r)*s);return g===c&&u===E}negate(){return new d(this.x,M(-this.y),this.z)}double(){const{x:e,y:A,z:t}=this,r=M(e*e),n=M(A*A),i=M(n*n),g=e+n,c=M(o*(M(g*g)-r-i)),u=M(s*r),E=M(u*u),f=M(E-o*c),B=M(u*(c-f)-a*i),I=M(o*A*t);return new d(f,B,I)}add(e){l(e);const{x:A,y:t,z:r}=this,{x:i,y:s,z:a}=e;if(i===n||s===n)return this;if(A===n||t===n)return e;const g=M(r*r),c=M(a*a),u=M(A*c),E=M(i*g),f=M(M(t*a)*c),B=M(M(s*r)*g),I=M(E-u),C=M(B-f);if(I===n)return C===n?this.double():d.ZERO;const Q=M(I*I),h=M(I*Q),p=M(u*Q),w=M(C*C-h-o*p),y=M(C*(p-w)-f*h),b=M(r*a*I);return new d(w,y,b)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){const A=d.ZERO;if("bigint"==typeof e&&e===n)return A;let t=N(e);if(t===i)return this;if(!Q){let e=A,r=this;for(;t>n;)t&i&&(e=e.add(r)),r=r.double(),t>>=i;return e}let{k1neg:r,k1:o,k2neg:s,k2:a}=u.splitScalar(t),g=A,c=A,E=this;for(;o>n||a>n;)o&i&&(g=g.add(E)),a&i&&(c=c.add(E)),E=E.double(),o>>=i,a>>=i;return r&&(g=g.negate()),s&&(c=c.negate()),c=new d(M(c.x*u.beta),c.y,c.z),g.add(c)}precomputeWindow(e){const A=Q?128/e+1:256/e+1,t=[];let r=this,n=r;for(let i=0;i<A;i++){n=r,t.push(n);for(let A=1;A<2**(e-1);A++)n=n.add(r),t.push(n);r=n.double()}return t}wNAF(e,A){!A&&this.equals(d.BASE)&&(A=y.BASE);const t=A&&A._WINDOW_SIZE||1;if(256%t)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let r=A&&w.get(A);r||(r=this.precomputeWindow(t),A&&1!==t&&(r=d.normalizeZ(r),w.set(A,r)));let n=d.ZERO,o=d.BASE;const s=1+(Q?128/t:256/t),a=2**(t-1),g=BigInt(2**t-1),c=2**t,u=BigInt(t);for(let A=0;A<s;A++){const t=A*a;let s=Number(e&g);e>>=u,s>a&&(s-=c,e+=i);const E=t,f=t+Math.abs(s)-1,B=A%2!=0,I=s<0;0===s?o=o.add(p(B,r[E])):n=n.add(p(I,r[f]))}return{p:n,f:o}}multiply(e,A){let t,r,n=N(e);if(Q){const{k1neg:e,k1:i,k2neg:o,k2:s}=u.splitScalar(n);let{p:a,f:g}=this.wNAF(i,A),{p:c,f:E}=this.wNAF(s,A);a=p(e,a),c=p(o,c),c=new d(M(c.x*u.beta),c.y,c.z),t=a.add(c),r=g.add(E)}else{const{p:e,f:i}=this.wNAF(n,A);t=e,r=i}return d.normalizeZ([t,r])[0]}toAffine(e){const{x:A,y:t,z:r}=this,n=this.equals(d.ZERO);null==e&&(e=n?a:K(r));const o=e,s=M(o*o),g=M(s*o),c=M(A*s),u=M(t*g),E=M(r*o);if(n)return y.ZERO;if(E!==i)throw new Error("invZ was invalid");return new y(c,u)}}function p(e,A){const t=A.negate();return e?t:A}d.BASE=new d(g.Gx,g.Gy,i),d.ZERO=new d(n,i,n);const w=new WeakMap;class y{constructor(e,A){this.x=e,this.y=A}_setWindowSize(e){this._WINDOW_SIZE=e,w.delete(this)}hasEvenY(){return this.y%o===n}static fromCompressedHex(e){const A=32===e.length,t=F(A?e:e.subarray(1));if(!V(t))throw new Error("Point is not on curve");let r=function(e){const{P:A}=g,t=BigInt(6),r=BigInt(11),n=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%A,E=u*u*e%A,f=H(E,s)*E%A,B=H(f,s)*E%A,I=H(B,o)*u%A,C=H(I,r)*I%A,Q=H(C,n)*C%A,h=H(Q,a)*Q%A,l=H(h,c)*h%A,d=H(l,a)*Q%A,p=H(d,s)*E%A,w=H(p,i)*C%A,y=H(w,t)*u%A,b=H(y,o);if(b*b%A!==e)throw new Error("Cannot find square root");return b}(C(t));const n=(r&i)===i;if(A)n&&(r=M(-r));else{1==(1&e[0])!==n&&(r=M(-r))}const a=new y(t,r);return a.assertValidity(),a}static fromUncompressedHex(e){const A=F(e.subarray(1,E+1)),t=F(e.subarray(E+1,2*E+1)),r=new y(A,t);return r.assertValidity(),r}static fromHex(e){const A=L(e),t=A.length,r=A[0];if(t===E)return this.fromCompressedHex(A);if(t===B&&(2===r||3===r))return this.fromCompressedHex(A);if(t===I&&4===r)return this.fromUncompressedHex(A);throw new Error(`Point.fromHex: received invalid point. Expected 32-${B} compressed bytes or ${I} uncompressed bytes, not ${t}`)}static fromPrivateKey(e){return y.BASE.multiply(W(e))}static fromSignature(e,A,t){const{r,s:n}=Z(A);if(![0,1,2,3].includes(t))throw new Error("Cannot recover: invalid recovery bit");const i=G(L(e)),{n:o}=g,s=2===t||3===t?r+o:r,a=K(s,o),c=M(-i*a,o),u=M(n*a,o),E=1&t?"03":"02",f=y.fromHex(E+x(s)),B=y.BASE.multiplyAndAddUnsafe(f,c,u);if(!B)throw new Error("Cannot recover signature: point at infinify");return B.assertValidity(),B}toRawBytes(e=!1){return D(this.toHex(e))}toHex(e=!1){const A=x(this.x);if(e){return`${this.hasEvenY()?"02":"03"}${A}`}return`04${A}${x(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const e="Point is not on elliptic curve",{x:A,y:t}=this;if(!V(A)||!V(t))throw new Error(e);const r=M(t*t);if(M(r-C(A))!==n)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new y(this.x,M(-this.y))}double(){return d.fromAffine(this).double().toAffine()}add(e){return d.fromAffine(this).add(d.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return d.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,A,t){const r=d.fromAffine(this),o=A===n||A===i||this!==y.BASE?r.multiplyUnsafe(A):r.multiply(A),s=d.fromAffine(e).multiplyUnsafe(t),a=o.add(s);return a.equals(d.ZERO)?void 0:a.toAffine()}}function b(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function m(e){if(e.length<2||2!==e[0])throw new Error(`Invalid signature integer tag: ${T(e)}`);const A=e[1],t=e.subarray(2,A+2);if(!A||t.length!==A)throw new Error("Invalid signature integer: wrong length");if(0===t[0]&&t[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:F(t),left:e.subarray(A+2)}}A.Point=y,y.BASE=new y(g.Gx,g.Gy),y.ZERO=new y(n,n);class v{constructor(e,A){this.r=e,this.s=A,this.assertValidity()}static fromCompact(e){const A=e instanceof Uint8Array,t="Signature.fromCompact";if("string"!=typeof e&&!A)throw new TypeError(`${t}: Expected string or Uint8Array`);const r=A?T(e):e;if(128!==r.length)throw new Error(`${t}: Expected 64-byte hex`);return new v(U(r.slice(0,64)),U(r.slice(64,128)))}static fromDER(e){const A=e instanceof Uint8Array;if("string"!=typeof e&&!A)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:t,s:r}=function(e){if(e.length<2||48!=e[0])throw new Error(`Invalid signature tag: ${T(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");const{data:A,left:t}=m(e.subarray(2)),{data:r,left:n}=m(t);if(n.length)throw new Error(`Invalid signature: left bytes after parsing: ${T(n)}`);return{r:A,s:r}}(A?e:D(e));return new v(t,r)}static fromHex(e){return this.fromDER(e)}assertValidity(){const{r:e,s:A}=this;if(!z(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!z(A))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const e=g.n>>i;return this.s>e}normalizeS(){return this.hasHighS()?new v(this.r,M(-this.s,g.n)):this}toDERRawBytes(){return D(this.toDERHex())}toDERHex(){const e=b(O(this.s)),A=b(O(this.r)),t=e.length/2,r=A.length/2,n=O(t),i=O(r);return`30${O(r+t+4)}02${i}${A}02${n}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return D(this.toCompactHex())}toCompactHex(){return x(this.r)+x(this.s)}}function S(...e){if(!e.every((e=>e instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===e.length)return e[0];const A=e.reduce(((e,A)=>e+A.length),0),t=new Uint8Array(A);for(let A=0,r=0;A<e.length;A++){const n=e[A];t.set(n,r),r+=n.length}return t}A.Signature=v;const k=Array.from({length:256},((e,A)=>A.toString(16).padStart(2,"0")));function T(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let A="";for(let t=0;t<e.length;t++)A+=k[e[t]];return A}const P=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function x(e){if("bigint"!=typeof e)throw new Error("Expected bigint");if(!(n<=e&&e<P))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function R(e){const A=D(x(e));if(32!==A.length)throw new Error("Error: expected 32 bytes");return A}function O(e){const A=e.toString(16);return 1&A.length?`0${A}`:A}function U(e){if("string"!=typeof e)throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function D(e){if("string"!=typeof e)throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);const A=new Uint8Array(e.length/2);for(let t=0;t<A.length;t++){const r=2*t,n=e.slice(r,r+2),i=Number.parseInt(n,16);if(Number.isNaN(i)||i<0)throw new Error("Invalid byte sequence");A[t]=i}return A}function F(e){return U(T(e))}function L(e){return e instanceof Uint8Array?Uint8Array.from(e):D(e)}function N(e){if("number"==typeof e&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if("bigint"==typeof e&&z(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function M(e,A=g.P){const t=e%A;return t>=n?t:A+t}function H(e,A){const{P:t}=g;let r=e;for(;A-- >n;)r*=r,r%=t;return r}function K(e,A=g.P){if(e===n||A<=n)throw new Error(`invert: expected positive integers, got n=${e} mod=${A}`);let t=M(e,A),r=A,o=n,s=i,a=i,c=n;for(;t!==n;){const e=r/t,A=r%t,n=o-a*e,i=s-c*e;r=t,t=A,o=a,s=c,a=n,c=i}if(r!==i)throw new Error("invert: does not exist");return M(o,A)}function G(e,A=!1){const t=function(e){const A=8*e.length-8*f,t=F(e);return A>0?t>>BigInt(A):t}(e);if(A)return t;const{n:r}=g;return t>=r?t-r:t}let j,J;class Y{constructor(e,A){if(this.hashLen=e,this.qByteLen=A,"number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof A||A<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return A.utils.hmacSha256(this.k,...e)}hmacSync(...e){return J(this.k,...e)}checkSync(){if("function"!=typeof J)throw new h("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),0!==e.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),0!==e.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0;const A=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);const t=this.v.slice();A.push(t),e+=this.v.length}return S(...A)}generateSync(){this.checkSync(),this.incr();let e=0;const A=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);const t=this.v.slice();A.push(t),e+=this.v.length}return S(...A)}}function z(e){return n<e&&e<g.n}function V(e){return n<e&&e<g.P}function X(e,A,t,r=!0){const{n:o}=g,s=G(e,!0);if(!z(s))return;const a=K(s,o),c=y.BASE.multiply(s),u=M(c.x,o);if(u===n)return;const E=M(a*M(A+t*u,o),o);if(E===n)return;let f=new v(u,E),B=(c.x===f.r?0:2)|Number(c.y&i);return r&&f.hasHighS()&&(f=f.normalizeS(),B^=1),{sig:f,recovery:B}}function W(e){let A;if("bigint"==typeof e)A=e;else if("number"==typeof e&&Number.isSafeInteger(e)&&e>0)A=BigInt(e);else if("string"==typeof e){if(e.length!==2*f)throw new Error("Expected 32 bytes of private key");A=U(e)}else{if(!(e instanceof Uint8Array))throw new TypeError("Expected valid private key");if(e.length!==f)throw new Error("Expected 32 bytes of private key");A=F(e)}if(!z(A))throw new Error("Expected private key: 0 < key < n");return A}function q(e){return e instanceof y?(e.assertValidity(),e):y.fromHex(e)}function Z(e){if(e instanceof v)return e.assertValidity(),e;try{return v.fromDER(e)}catch(A){return v.fromCompact(e)}}function _(e){const A=e instanceof Uint8Array,t="string"==typeof e,r=(A||t)&&e.length;return A?r===B||r===I:t?r===2*B||r===2*I:e instanceof y}function $(e){return F(e.length>E?e.slice(0,E):e)}function ee(e){const A=$(e),t=M(A,g.n);return Ae(t<n?A:t)}function Ae(e){return R(e)}function te(e,t,r){if(null==e)throw new Error(`sign: expected valid message hash, not "${e}"`);const n=L(e),i=W(t),o=[Ae(i),ee(n)];if(null!=r){!0===r&&(r=A.utils.randomBytes(E));const e=L(r);if(e.length!==E)throw new Error(`sign: Expected ${E} bytes of extra data`);o.push(e)}return{seed:S(...o),m:$(n),d:i}}function re(e,A){const{sig:t,recovery:r}=e,{der:n,recovered:i}=Object.assign({canonical:!0,der:!0},A),o=n?t.toDERRawBytes():t.toCompactRawBytes();return i?[o,r]:o}A.getPublicKey=function(e,A=!1){return y.fromPrivateKey(e).toRawBytes(A)},A.recoverPublicKey=function(e,A,t,r=!1){return y.fromSignature(e,A,t).toRawBytes(r)},A.getSharedSecret=function(e,A,t=!1){if(_(e))throw new TypeError("getSharedSecret: first arg must be private key");if(!_(A))throw new TypeError("getSharedSecret: second arg must be public key");const r=q(A);return r.assertValidity(),r.multiply(W(e)).toRawBytes(t)},A.sign=async function(e,A,t={}){const{seed:r,m:n,d:i}=te(e,A,t.extraEntropy),o=new Y(32,f);let s;for(await o.reseed(r);!(s=X(await o.generate(),n,i,t.canonical));)await o.reseed();return re(s,t)},A.signSync=function(e,A,t={}){const{seed:r,m:n,d:i}=te(e,A,t.extraEntropy),o=new Y(32,f);let s;for(o.reseedSync(r);!(s=X(o.generateSync(),n,i,t.canonical));)o.reseedSync();return re(s,t)};const ne={strict:!0};function ie(e){return M(F(e),g.n)}A.verify=function(e,A,t,r=ne){let n;try{n=Z(e),A=L(A)}catch(e){return!1}const{r:i,s:o}=n;if(r.strict&&n.hasHighS())return!1;const s=G(A);let a;try{a=q(t)}catch(e){return!1}const{n:c}=g,u=K(o,c),E=M(s*u,c),f=M(i*u,c),B=y.BASE.multiplyAndAddUnsafe(a,E,f);return!!B&&M(B.x,c)===i};class oe{constructor(e,A){this.r=e,this.s=A,this.assertValidity()}static fromHex(e){const A=L(e);if(64!==A.length)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${A.length}`);const t=F(A.subarray(0,32)),r=F(A.subarray(32,64));return new oe(t,r)}assertValidity(){const{r:e,s:A}=this;if(!V(e)||!z(A))throw new Error("Invalid signature")}toHex(){return x(this.r)+x(this.s)}toRawBytes(){return D(this.toHex())}}class se{constructor(e,t,r=A.utils.randomBytes()){if(null==e)throw new TypeError(`sign: Expected valid message, not "${e}"`);this.m=L(e);const{x:n,scalar:i}=this.getScalar(W(t));if(this.px=n,this.d=i,this.rand=L(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(e){const A=y.fromPrivateKey(e),t=A.hasEvenY()?e:g.n-e;return{point:A,scalar:t,x:A.toRawX()}}initNonce(e,A){return R(e^F(A))}finalizeNonce(e){const A=M(F(e),g.n);if(A===n)throw new Error("sign: Creation of signature failed. k is zero");const{point:t,x:r,scalar:i}=this.getScalar(A);return{R:t,rx:r,k:i}}finalizeSig(e,A,t,r){return new oe(e.x,M(A+t*r,g.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}async calc(){const{m:e,d:t,px:r,rand:n}=this,i=A.utils.taggedHash,o=this.initNonce(t,await i(fe.aux,n)),{R:s,rx:a,k:g}=this.finalizeNonce(await i(fe.nonce,o,r,e)),c=ie(await i(fe.challenge,a,r,e)),u=this.finalizeSig(s,g,c,t);return await ce(u,e,r)||this.error(),u}calcSync(){const{m:e,d:t,px:r,rand:n}=this,i=A.utils.taggedHashSync,o=this.initNonce(t,i(fe.aux,n)),{R:s,rx:a,k:g}=this.finalizeNonce(i(fe.nonce,o,r,e)),c=ie(i(fe.challenge,a,r,e)),u=this.finalizeSig(s,g,c,t);return ue(u,e,r)||this.error(),u}}function ae(e,A,t){const r=e instanceof oe,n=r?e:oe.fromHex(e);return r&&n.assertValidity(),{...n,m:L(A),P:q(t)}}function ge(e,A,t,r){const n=y.BASE.multiplyAndAddUnsafe(A,W(t),M(-r,g.n));return!(!n||!n.hasEvenY()||n.x!==e)}async function ce(e,t,r){try{const{r:n,s:i,m:o,P:s}=ae(e,t,r),a=ie(await A.utils.taggedHash(fe.challenge,R(n),s.toRawX(),o));return ge(n,s,i,a)}catch(e){return!1}}function ue(e,t,r){try{const{r:n,s:i,m:o,P:s}=ae(e,t,r),a=ie(A.utils.taggedHashSync(fe.challenge,R(n),s.toRawX(),o));return ge(n,s,i,a)}catch(e){if(e instanceof h)throw e;return!1}}A.schnorr={Signature:oe,getPublicKey:function(e){return y.fromPrivateKey(e).toRawX()},sign:async function(e,A,t){return new se(e,A,t).calc()},verify:ce,signSync:function(e,A,t){return new se(e,A,t).calcSync()},verifySync:ue},y.BASE._setWindowSize(8);const Ee={node:r,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},fe={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},Be={};A.utils={bytesToHex:T,hexToBytes:D,concatBytes:S,mod:M,invert:K,isValidPrivateKey(e){try{return W(e),!0}catch(e){return!1}},_bigintTo32Bytes:R,_normalizePrivateKey:W,hashToPrivateKey:e=>{e=L(e);const A=f+8;if(e.length<A||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return R(M(F(e),g.n-i)+i)},randomBytes:(e=32)=>{if(Ee.web)return Ee.web.getRandomValues(new Uint8Array(e));if(Ee.node){const{randomBytes:A}=Ee.node;return Uint8Array.from(A(e))}throw new Error("The environment doesn\'t have randomBytes function")},randomPrivateKey:()=>A.utils.hashToPrivateKey(A.utils.randomBytes(f+8)),precompute(e=8,A=y.BASE){const t=A===y.BASE?A:new y(A.x,A.y);return t._setWindowSize(e),t.multiply(s),t},sha256:async(...e)=>{if(Ee.web){const A=await Ee.web.subtle.digest("SHA-256",S(...e));return new Uint8Array(A)}if(Ee.node){const{createHash:A}=Ee.node,t=A("sha256");return e.forEach((e=>t.update(e))),Uint8Array.from(t.digest())}throw new Error("The environment doesn\'t have sha256 function")},hmacSha256:async(e,...A)=>{if(Ee.web){const t=await Ee.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),r=S(...A),n=await Ee.web.subtle.sign("HMAC",t,r);return new Uint8Array(n)}if(Ee.node){const{createHmac:t}=Ee.node,r=t("sha256",e);return A.forEach((e=>r.update(e))),Uint8Array.from(r.digest())}throw new Error("The environment doesn\'t have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=Be[e];if(void 0===r){const t=await A.utils.sha256(Uint8Array.from(e,(e=>e.charCodeAt(0))));r=S(t,t),Be[e]=r}return A.utils.sha256(r,...t)},taggedHashSync:(e,...A)=>{if("function"!=typeof j)throw new h("sha256Sync is undefined, you need to set it");let t=Be[e];if(void 0===t){const A=j(Uint8Array.from(e,(e=>e.charCodeAt(0))));t=S(A,A),Be[e]=t}return j(t,...A)},_JacobianPoint:d},Object.defineProperties(A.utils,{sha256Sync:{configurable:!1,get:()=>j,set(e){j||(j=e)}},hmacSha256Sync:{configurable:!1,get:()=>J,set(e){J||(J=e)}}})},6710:(e,A)=>{"use strict";function t(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function r(...e){const A=(e,A)=>t=>e(A(t)),t=Array.from(e).reverse().reduce(((e,t)=>e?A(e,t.encode):t.encode),void 0),r=e.reduce(((e,t)=>e?A(e,t.decode):t.decode),void 0);return{encode:t,decode:r}}function n(e){return{encode:A=>{if(!Array.isArray(A)||A.length&&"number"!=typeof A[0])throw new Error("alphabet.encode input should be an array of numbers");return A.map((A=>{if(t(A),A<0||A>=e.length)throw new Error(`Digit index outside alphabet: ${A} (alphabet: ${e.length})`);return e[A]}))},decode:A=>{if(!Array.isArray(A)||A.length&&"string"!=typeof A[0])throw new Error("alphabet.decode input should be array of strings");return A.map((A=>{if("string"!=typeof A)throw new Error(`alphabet.decode: not string element=${A}`);const t=e.indexOf(A);if(-1===t)throw new Error(`Unknown letter: "${A}". Allowed: ${e}`);return t}))}}}function i(e=""){if("string"!=typeof e)throw new Error("join separator should be string");return{encode:A=>{if(!Array.isArray(A)||A.length&&"string"!=typeof A[0])throw new Error("join.encode input should be array of strings");for(let e of A)if("string"!=typeof e)throw new Error(`join.encode: non-string input=${e}`);return A.join(e)},decode:A=>{if("string"!=typeof A)throw new Error("join.decode input should be string");return A.split(e)}}}function o(e,A="="){if(t(e),"string"!=typeof A)throw new Error("padding chr should be string");return{encode(t){if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("padding.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`padding.encode: non-string input=${e}`);for(;t.length*e%8;)t.push(A);return t},decode(t){if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("padding.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`padding.decode: non-string input=${e}`);let r=t.length;if(r*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&t[r-1]===A;r--)if(!((r-1)*e%8))throw new Error("Invalid padding: string has too much padding");return t.slice(0,r)}}}function s(e){if("function"!=typeof e)throw new Error("normalize fn should be function");return{encode:e=>e,decode:A=>e(A)}}function a(e,A,r){if(A<2)throw new Error(`convertRadix: wrong from=${A}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: wrong to=${r}, base cannot be less than 2`);if(!Array.isArray(e))throw new Error("convertRadix: data should be array");if(!e.length)return[];let n=0;const i=[],o=Array.from(e);for(o.forEach((e=>{if(t(e),e<0||e>=A)throw new Error(`Wrong integer: ${e}`)}));;){let e=0,t=!0;for(let i=n;i<o.length;i++){const s=o[i],a=A*e+s;if(!Number.isSafeInteger(a)||A*e/A!==e||a-s!=A*e)throw new Error("convertRadix: carry overflow");e=a%r;const g=Math.floor(a/r);if(o[i]=g,!Number.isSafeInteger(g)||g*r+e!==a)throw new Error("convertRadix: carry overflow");t&&(g?t=!1:n=i)}if(i.push(e),t)break}for(let A=0;A<e.length-1&&0===e[A];A++)i.push(0);return i.reverse()}Object.defineProperty(A,"__esModule",{value:!0}),A.bytes=A.stringToBytes=A.str=A.bytesToString=A.hex=A.utf8=A.bech32m=A.bech32=A.base58check=A.base58xmr=A.base58xrp=A.base58flickr=A.base58=A.base64urlnopad=A.base64url=A.base64=A.base32crockford=A.base32hex=A.base32=A.base16=A.utils=A.assertNumber=void 0,A.assertNumber=t;const g=(e,A)=>A?g(A,e%A):e,c=(e,A)=>e+(A-g(e,A));function u(e,A,r,n){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(A<=0||A>32)throw new Error(`convertRadix2: wrong from=${A}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(c(A,r)>32)throw new Error(`convertRadix2: carry overflow from=${A} to=${r} carryBits=${c(A,r)}`);let i=0,o=0;const s=2**r-1,a=[];for(const n of e){if(t(n),n>=2**A)throw new Error(`convertRadix2: invalid data word=${n} from=${A}`);if(i=i<<A|n,o+A>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${A}`);for(o+=A;o>=r;o-=r)a.push((i>>o-r&s)>>>0);i&=2**o-1}if(i=i<<r-o&s,!n&&o>=A)throw new Error("Excess padding");if(!n&&i)throw new Error(`Non-zero padding: ${i}`);return n&&o>0&&a.push(i>>>0),a}function E(e){return t(e),{encode:A=>{if(!(A instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return a(Array.from(A),256,e)},decode:A=>{if(!Array.isArray(A)||A.length&&"number"!=typeof A[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(a(A,e,256))}}}function f(e,A=!1){if(t(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(c(8,e)>32||c(e,8)>32)throw new Error("radix2: carry overflow");return{encode:t=>{if(!(t instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return u(Array.from(t),8,e,!A)},decode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(u(t,e,8,A))}}}function B(e){if("function"!=typeof e)throw new Error("unsafeWrapper fn should be function");return function(...A){try{return e.apply(null,A)}catch(e){}}}function I(e,A){if(t(e),"function"!=typeof A)throw new Error("checksum fn should be function");return{encode(t){if(!(t instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const r=A(t).slice(0,e),n=new Uint8Array(t.length+e);return n.set(t),n.set(r,t.length),n},decode(t){if(!(t instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const r=t.slice(0,-e),n=A(r).slice(0,e),i=t.slice(-e);for(let A=0;A<e;A++)if(n[A]!==i[A])throw new Error("Invalid checksum");return r}}}A.utils={alphabet:n,chain:r,checksum:I,radix:E,radix2:f,join:i,padding:o},A.base16=r(f(4),n("0123456789ABCDEF"),i("")),A.base32=r(f(5),n("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),o(5),i("")),A.base32hex=r(f(5),n("0123456789ABCDEFGHIJKLMNOPQRSTUV"),o(5),i("")),A.base32crockford=r(f(5),n("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),i(""),s((e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),A.base64=r(f(6),n("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),o(6),i("")),A.base64url=r(f(6),n("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),o(6),i("")),A.base64urlnopad=r(f(6),n("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),i(""));const C=e=>r(E(58),n(e),i(""));A.base58=C("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),A.base58flickr=C("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),A.base58xrp=C("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const Q=[0,2,3,5,6,7,9,10,11];A.base58xmr={encode(e){let t="";for(let r=0;r<e.length;r+=8){const n=e.subarray(r,r+8);t+=A.base58.encode(n).padStart(Q[n.length],"1")}return t},decode(e){let t=[];for(let r=0;r<e.length;r+=11){const n=e.slice(r,r+11),i=Q.indexOf(n.length),o=A.base58.decode(n);for(let e=0;e<o.length-i;e++)if(0!==o[e])throw new Error("base58xmr: wrong padding");t=t.concat(Array.from(o.slice(o.length-i)))}return Uint8Array.from(t)}};A.base58check=e=>r(I(4,(A=>e(e(A)))),A.base58);const h=r(n("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),i("")),l=[996825010,642813549,513874426,1027748829,705979059];function d(e){const A=e>>25;let t=(33554431&e)<<5;for(let e=0;e<l.length;e++)1==(A>>e&1)&&(t^=l[e]);return t}function p(e,A,t=1){const r=e.length;let n=1;for(let A=0;A<r;A++){const t=e.charCodeAt(A);if(t<33||t>126)throw new Error(`Invalid prefix (${e})`);n=d(n)^t>>5}n=d(n);for(let A=0;A<r;A++)n=d(n)^31&e.charCodeAt(A);for(let e of A)n=d(n)^e;for(let e=0;e<6;e++)n=d(n);return n^=t,h.encode(u([n%2**30],30,5,!1))}function w(e){const A="bech32"===e?1:734539939,t=f(5),r=t.decode,n=t.encode,i=B(r);function o(e,t=90){if("string"!=typeof e)throw new Error("bech32.decode input should be string, not "+typeof e);if(e.length<8||!1!==t&&e.length>t)throw new TypeError(`Wrong string length: ${e.length} (${e}). Expected (8..${t})`);const r=e.toLowerCase();if(e!==r&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const n=(e=r).lastIndexOf("1");if(0===n||-1===n)throw new Error(\'Letter "1" must be present between prefix and data only\');const i=e.slice(0,n),o=e.slice(n+1);if(o.length<6)throw new Error("Data must be at least 6 characters long");const s=h.decode(o).slice(0,-6),a=p(i,s,A);if(!o.endsWith(a))throw new Error(`Invalid checksum in ${e}: expected "${a}"`);return{prefix:i,words:s}}return{encode:function(e,t,r=90){if("string"!=typeof e)throw new Error("bech32.encode prefix should be string, not "+typeof e);if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof t);const n=e.length+7+t.length;if(!1!==r&&n>r)throw new TypeError(`Length ${n} exceeds limit ${r}`);const i=e.toLowerCase(),o=p(i,t,A);return`${i}1${h.encode(t)}${o}`},decode:o,decodeToBytes:function(e){const{prefix:A,words:t}=o(e,!1);return{prefix:A,words:t,bytes:r(t)}},decodeUnsafe:B(o),fromWords:r,fromWordsUnsafe:i,toWords:n}}A.bech32=w("bech32"),A.bech32m=w("bech32m"),A.utf8={encode:e=>(new TextDecoder).decode(e),decode:e=>(new TextEncoder).encode(e)},A.hex=r(f(4),n("0123456789abcdef"),i(""),s((e=>{if("string"!=typeof e||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})));const y={utf8:A.utf8,hex:A.hex,base16:A.base16,base32:A.base32,base64:A.base64,base64url:A.base64url,base58:A.base58,base58xmr:A.base58xmr},b="Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr";A.bytesToString=(e,A)=>{if("string"!=typeof e||!y.hasOwnProperty(e))throw new TypeError(b);if(!(A instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return y[e].encode(A)},A.str=A.bytesToString;A.stringToBytes=(e,A)=>{if(!y.hasOwnProperty(e))throw new TypeError(b);if("string"!=typeof A)throw new TypeError("stringToBytes() expects string");return y[e].decode(A)},A.bytes=A.stringToBytes},7403:(e,A,t)=>{"use strict";var r=t(5636).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var A=new Uint8Array(256),t=0;t<A.length;t++)A[t]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(255!==A[o])throw new TypeError(i+" is ambiguous");A[o]=n}var s=e.length,a=e.charAt(0),g=Math.log(s)/Math.log(256),c=Math.log(256)/Math.log(s);function u(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return r.alloc(0);for(var t=0,n=0,i=0;e[t]===a;)n++,t++;for(var o=(e.length-t)*g+1>>>0,c=new Uint8Array(o);e[t];){var u=A[e.charCodeAt(t)];if(255===u)return;for(var E=0,f=o-1;(0!==u||E<i)&&-1!==f;f--,E++)u+=s*c[f]>>>0,c[f]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=E,t++}for(var B=o-i;B!==o&&0===c[B];)B++;var I=r.allocUnsafe(n+(o-B));I.fill(0,0,n);for(var C=n;B!==o;)I[C++]=c[B++];return I}return{encode:function(A){if((Array.isArray(A)||A instanceof Uint8Array)&&(A=r.from(A)),!r.isBuffer(A))throw new TypeError("Expected Buffer");if(0===A.length)return"";for(var t=0,n=0,i=0,o=A.length;i!==o&&0===A[i];)i++,t++;for(var g=(o-i)*c+1>>>0,u=new Uint8Array(g);i!==o;){for(var E=A[i],f=0,B=g-1;(0!==E||f<n)&&-1!==B;B--,f++)E+=256*u[B]>>>0,u[B]=E%s>>>0,E=E/s>>>0;if(0!==E)throw new Error("Non-zero carry");n=f,i++}for(var I=g-n;I!==g&&0===u[I];)I++;for(var C=a.repeat(t);I<g;++I)C+=e.charAt(u[I]);return C},decodeUnsafe:u,decode:function(e){var A=u(e);if(A)return A;throw new Error("Non-base"+s+" character")}}}},7991:(e,A)=>{"use strict";A.byteLength=function(e){var A=s(e),t=A[0],r=A[1];return 3*(t+r)/4-r},A.toByteArray=function(e){var A,t,i=s(e),o=i[0],a=i[1],g=new n(function(e,A,t){return 3*(A+t)/4-t}(0,o,a)),c=0,u=a>0?o-4:o;for(t=0;t<u;t+=4)A=r[e.charCodeAt(t)]<<18|r[e.charCodeAt(t+1)]<<12|r[e.charCodeAt(t+2)]<<6|r[e.charCodeAt(t+3)],g[c++]=A>>16&255,g[c++]=A>>8&255,g[c++]=255&A;2===a&&(A=r[e.charCodeAt(t)]<<2|r[e.charCodeAt(t+1)]>>4,g[c++]=255&A);1===a&&(A=r[e.charCodeAt(t)]<<10|r[e.charCodeAt(t+1)]<<4|r[e.charCodeAt(t+2)]>>2,g[c++]=A>>8&255,g[c++]=255&A);return g},A.fromByteArray=function(e){for(var A,r=e.length,n=r%3,i=[],o=16383,s=0,g=r-n;s<g;s+=o)i.push(a(e,s,s+o>g?g:s+o));1===n?(A=e[r-1],i.push(t[A>>2]+t[A<<4&63]+"==")):2===n&&(A=(e[r-2]<<8)+e[r-1],i.push(t[A>>10]+t[A>>4&63]+t[A<<2&63]+"="));return i.join("")};for(var t=[],r=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)t[o]=i[o],r[i.charCodeAt(o)]=o;function s(e){var A=e.length;if(A%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");return-1===t&&(t=A),[t,t===A?0:4-t%4]}function a(e,A,r){for(var n,i,o=[],s=A;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),o.push(t[(i=n)>>18&63]+t[i>>12&63]+t[i>>6&63]+t[63&i]);return o.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},6586:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.bech32m=A.bech32=void 0;const t="qpzry9x8gf2tvdw0s3jn54khce6mua7l",r={};for(let e=0;e<32;e++){const A=t.charAt(e);r[A]=e}function n(e){const A=e>>25;return(33554431&e)<<5^996825010&-(A>>0&1)^642813549&-(A>>1&1)^513874426&-(A>>2&1)^1027748829&-(A>>3&1)^705979059&-(A>>4&1)}function i(e){let A=1;for(let t=0;t<e.length;++t){const r=e.charCodeAt(t);if(r<33||r>126)return"Invalid prefix ("+e+")";A=n(A)^r>>5}A=n(A);for(let t=0;t<e.length;++t){const r=e.charCodeAt(t);A=n(A)^31&r}return A}function o(e,A,t,r){let n=0,i=0;const o=(1<<t)-1,s=[];for(let r=0;r<e.length;++r)for(n=n<<A|e[r],i+=A;i>=t;)i-=t,s.push(n>>i&o);if(r)i>0&&s.push(n<<t-i&o);else{if(i>=A)return"Excess padding";if(n<<t-i&o)return"Non-zero padding"}return s}function s(e){return o(e,8,5,!0)}function a(e){const A=o(e,5,8,!1);if(Array.isArray(A))return A}function g(e){const A=o(e,5,8,!1);if(Array.isArray(A))return A;throw new Error(A)}function c(e){let A;function o(e,t){if(t=t||90,e.length<8)return e+" too short";if(e.length>t)return"Exceeds length limit";const o=e.toLowerCase(),s=e.toUpperCase();if(e!==o&&e!==s)return"Mixed-case string "+e;const a=(e=o).lastIndexOf("1");if(-1===a)return"No separator character for "+e;if(0===a)return"Missing prefix for "+e;const g=e.slice(0,a),c=e.slice(a+1);if(c.length<6)return"Data too short";let u=i(g);if("string"==typeof u)return u;const E=[];for(let e=0;e<c.length;++e){const A=c.charAt(e),t=r[A];if(void 0===t)return"Unknown character "+A;u=n(u)^t,e+6>=c.length||E.push(t)}return u!==A?"Invalid checksum for "+e:{prefix:g,words:E}}return A="bech32"===e?1:734539939,{decodeUnsafe:function(e,A){const t=o(e,A);if("object"==typeof t)return t},decode:function(e,A){const t=o(e,A);if("object"==typeof t)return t;throw new Error(t)},encode:function(e,r,o){if(o=o||90,e.length+7+r.length>o)throw new TypeError("Exceeds length limit");let s=i(e=e.toLowerCase());if("string"==typeof s)throw new Error(s);let a=e+"1";for(let e=0;e<r.length;++e){const A=r[e];if(A>>5!=0)throw new Error("Non 5-bit word");s=n(s)^A,a+=t.charAt(A)}for(let e=0;e<6;++e)s=n(s);s^=A;for(let e=0;e<6;++e){a+=t.charAt(s>>5*(5-e)&31)}return a},toWords:s,fromWordsUnsafe:a,fromWords:g}}A.bech32=c("bech32"),A.bech32m=c("bech32m")},3162:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});const r=t(6808);function n(e,A,t){return r=>{if(e.has(r))return;const n=t.filter((e=>e.key.toString("hex")===r))[0];A.push(n),e.add(r)}}function i(e){return e.globalMap.unsignedTx}function o(e){const A=new Set;return e.forEach((e=>{const t=e.key.toString("hex");if(A.has(t))throw new Error("Combine: KeyValue Map keys should be unique");A.add(t)})),A}A.combine=function(e){const A=e[0],t=r.psbtToKeyVals(A),s=e.slice(1);if(0===s.length)throw new Error("Combine: Nothing to combine");const a=i(A);if(void 0===a)throw new Error("Combine: Self missing transaction");const g=o(t.globalKeyVals),c=t.inputKeyVals.map(o),u=t.outputKeyVals.map(o);for(const e of s){const A=i(e);if(void 0===A||!A.toBuffer().equals(a.toBuffer()))throw new Error("Combine: One of the Psbts does not have the same transaction.");const s=r.psbtToKeyVals(e);o(s.globalKeyVals).forEach(n(g,t.globalKeyVals,s.globalKeyVals));s.inputKeyVals.map(o).forEach(((e,A)=>e.forEach(n(c[A],t.inputKeyVals[A],s.inputKeyVals[A]))));s.outputKeyVals.map(o).forEach(((e,A)=>e.forEach(n(u[A],t.outputKeyVals[A],s.outputKeyVals[A]))))}return r.psbtFromKeyVals(a,{globalMapKeyVals:t.globalKeyVals,inputKeyVals:t.inputKeyVals,outputKeyVals:t.outputKeyVals})}},9977:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.GlobalTypes.GLOBAL_XPUB)throw new Error("Decode Error: could not decode globalXpub with key 0x"+e.key.toString("hex"));if(79!==e.key.length||![2,3].includes(e.key[46]))throw new Error("Decode Error: globalXpub has invalid extended pubkey in key 0x"+e.key.toString("hex"));if(e.value.length/4%1!=0)throw new Error("Decode Error: Global GLOBAL_XPUB value length should be multiple of 4");const A=e.key.slice(1),t={masterFingerprint:e.value.slice(0,4),extendedPubkey:A,path:"m"};for(const A of(r=e.value.length/4-1,[...Array(r).keys()])){const r=e.value.readUInt32LE(4*A+4),n=!!(2147483648&r),i=2147483647&r;t.path+="/"+i.toString(10)+(n?"\'":"")}var r;return t},A.encode=function(e){const A=r.from([n.GlobalTypes.GLOBAL_XPUB]),t=r.concat([A,e.extendedPubkey]),i=e.path.split("/"),o=r.allocUnsafe(4*i.length);e.masterFingerprint.copy(o,0);let s=4;return i.slice(1).forEach((e=>{const A="\'"===e.slice(-1);let t=2147483647&parseInt(A?e.slice(0,-1):e,10);A&&(t+=2147483648),o.writeUInt32LE(t,s),s+=4})),{key:t,value:o}},A.expected="{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }",A.check=function(e){const A=e.extendedPubkey,t=e.masterFingerprint,n=e.path;return r.isBuffer(A)&&78===A.length&&[2,3].indexOf(A[45])>-1&&r.isBuffer(t)&&4===t.length&&"string"==typeof n&&!!n.match(/^m(\\/\\d+\'?)*$/)},A.canAddToArray=function(e,A,t){const r=A.extendedPubkey.toString("hex");return!t.has(r)&&(t.add(r),0===e.filter((e=>e.extendedPubkey.equals(A.extendedPubkey))).length)}},3398:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.encode=function(e){return{key:r.from([n.GlobalTypes.UNSIGNED_TX]),value:e.toBuffer()}}},6317:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});const r=t(9889),n=t(9977),i=t(3398),o=t(7312),s=t(4042),a=t(8730),g=t(5098),c=t(4474),u=t(9175),E=t(7279),f=t(7544),B=t(241),I=t(3155),C=t(4709),Q=t(9574),h=t(6896),l=t(437),d=t(5400),p=t(2751),w=t(9632),y=t(9079),b={unsignedTx:i,globalXpub:n,checkPubkey:l.makeChecker([])};A.globals=b;const m={nonWitnessUtxo:a,partialSig:g,sighashType:u,finalScriptSig:o,finalScriptWitness:s,porCommitment:c,witnessUtxo:C,bip32Derivation:h.makeConverter(r.InputTypes.BIP32_DERIVATION),redeemScript:d.makeConverter(r.InputTypes.REDEEM_SCRIPT),witnessScript:y.makeConverter(r.InputTypes.WITNESS_SCRIPT),checkPubkey:l.makeChecker([r.InputTypes.PARTIAL_SIG,r.InputTypes.BIP32_DERIVATION]),tapKeySig:E,tapScriptSig:I,tapLeafScript:f,tapBip32Derivation:p.makeConverter(r.InputTypes.TAP_BIP32_DERIVATION),tapInternalKey:w.makeConverter(r.InputTypes.TAP_INTERNAL_KEY),tapMerkleRoot:B};A.inputs=m;const v={bip32Derivation:h.makeConverter(r.OutputTypes.BIP32_DERIVATION),redeemScript:d.makeConverter(r.OutputTypes.REDEEM_SCRIPT),witnessScript:y.makeConverter(r.OutputTypes.WITNESS_SCRIPT),checkPubkey:l.makeChecker([r.OutputTypes.BIP32_DERIVATION]),tapBip32Derivation:p.makeConverter(r.OutputTypes.TAP_BIP32_DERIVATION),tapTree:Q,tapInternalKey:w.makeConverter(r.OutputTypes.TAP_INTERNAL_KEY)};A.outputs=v},7312:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.FINAL_SCRIPTSIG)throw new Error("Decode Error: could not decode finalScriptSig with key 0x"+e.key.toString("hex"));return e.value},A.encode=function(e){return{key:r.from([n.InputTypes.FINAL_SCRIPTSIG]),value:e}},A.expected="Buffer",A.check=function(e){return r.isBuffer(e)},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.finalScriptSig}},4042:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.FINAL_SCRIPTWITNESS)throw new Error("Decode Error: could not decode finalScriptWitness with key 0x"+e.key.toString("hex"));return e.value},A.encode=function(e){return{key:r.from([n.InputTypes.FINAL_SCRIPTWITNESS]),value:e}},A.expected="Buffer",A.check=function(e){return r.isBuffer(e)},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.finalScriptWitness}},8730:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.NON_WITNESS_UTXO)throw new Error("Decode Error: could not decode nonWitnessUtxo with key 0x"+e.key.toString("hex"));return e.value},A.encode=function(e){return{key:r.from([n.InputTypes.NON_WITNESS_UTXO]),value:e}},A.expected="Buffer",A.check=function(e){return r.isBuffer(e)},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.nonWitnessUtxo}},5098:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.PARTIAL_SIG)throw new Error("Decode Error: could not decode partialSig with key 0x"+e.key.toString("hex"));if(34!==e.key.length&&66!==e.key.length||![2,3,4].includes(e.key[1]))throw new Error("Decode Error: partialSig has invalid pubkey in key 0x"+e.key.toString("hex"));return{pubkey:e.key.slice(1),signature:e.value}},A.encode=function(e){const A=r.from([n.InputTypes.PARTIAL_SIG]);return{key:r.concat([A,e.pubkey]),value:e.signature}},A.expected="{ pubkey: Buffer; signature: Buffer; }",A.check=function(e){return r.isBuffer(e.pubkey)&&r.isBuffer(e.signature)&&[33,65].includes(e.pubkey.length)&&[2,3,4].includes(e.pubkey[0])&&function(e){if(!r.isBuffer(e)||e.length<9)return!1;if(48!==e[0])return!1;if(e.length!==e[1]+3)return!1;if(2!==e[2])return!1;const A=e[3];if(A>33||A<1)return!1;if(2!==e[3+A+1])return!1;const t=e[3+A+2];return!(t>33||t<1)&&e.length===3+A+2+t+2}(e.signature)},A.canAddToArray=function(e,A,t){const r=A.pubkey.toString("hex");return!t.has(r)&&(t.add(r),0===e.filter((e=>e.pubkey.equals(A.pubkey))).length)}},4474:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.POR_COMMITMENT)throw new Error("Decode Error: could not decode porCommitment with key 0x"+e.key.toString("hex"));return e.value.toString("utf8")},A.encode=function(e){return{key:r.from([n.InputTypes.POR_COMMITMENT]),value:r.from(e,"utf8")}},A.expected="string",A.check=function(e){return"string"==typeof e},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.porCommitment}},9175:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.SIGHASH_TYPE)throw new Error("Decode Error: could not decode sighashType with key 0x"+e.key.toString("hex"));return e.value.readUInt32LE(0)},A.encode=function(e){const A=r.from([n.InputTypes.SIGHASH_TYPE]),t=r.allocUnsafe(4);return t.writeUInt32LE(e,0),{key:A,value:t}},A.expected="number",A.check=function(e){return"number"==typeof e},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.sighashType}},7279:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);function i(e){return r.isBuffer(e)&&(64===e.length||65===e.length)}A.decode=function(e){if(e.key[0]!==n.InputTypes.TAP_KEY_SIG||1!==e.key.length)throw new Error("Decode Error: could not decode tapKeySig with key 0x"+e.key.toString("hex"));if(!i(e.value))throw new Error("Decode Error: tapKeySig not a valid 64-65-byte BIP340 signature");return e.value},A.encode=function(e){return{key:r.from([n.InputTypes.TAP_KEY_SIG]),value:e}},A.expected="Buffer",A.check=i,A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.tapKeySig}},7544:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.TAP_LEAF_SCRIPT)throw new Error("Decode Error: could not decode tapLeafScript with key 0x"+e.key.toString("hex"));if((e.key.length-2)%32!=0)throw new Error("Decode Error: tapLeafScript has invalid control block in key 0x"+e.key.toString("hex"));const A=e.value[e.value.length-1];if((254&e.key[1])!==A)throw new Error("Decode Error: tapLeafScript bad leaf version in key 0x"+e.key.toString("hex"));const t=e.value.slice(0,-1);return{controlBlock:e.key.slice(1),script:t,leafVersion:A}},A.encode=function(e){const A=r.from([n.InputTypes.TAP_LEAF_SCRIPT]),t=r.from([e.leafVersion]);return{key:r.concat([A,e.controlBlock]),value:r.concat([e.script,t])}},A.expected="{ controlBlock: Buffer; leafVersion: number, script: Buffer; }",A.check=function(e){return r.isBuffer(e.controlBlock)&&(e.controlBlock.length-1)%32==0&&(254&e.controlBlock[0])===e.leafVersion&&r.isBuffer(e.script)},A.canAddToArray=function(e,A,t){const r=A.controlBlock.toString("hex");return!t.has(r)&&(t.add(r),0===e.filter((e=>e.controlBlock.equals(A.controlBlock))).length)}},241:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);function i(e){return r.isBuffer(e)&&32===e.length}A.decode=function(e){if(e.key[0]!==n.InputTypes.TAP_MERKLE_ROOT||1!==e.key.length)throw new Error("Decode Error: could not decode tapMerkleRoot with key 0x"+e.key.toString("hex"));if(!i(e.value))throw new Error("Decode Error: tapMerkleRoot not a 32-byte hash");return e.value},A.encode=function(e){return{key:r.from([n.InputTypes.TAP_MERKLE_ROOT]),value:e}},A.expected="Buffer",A.check=i,A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.tapMerkleRoot}},3155:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889);A.decode=function(e){if(e.key[0]!==n.InputTypes.TAP_SCRIPT_SIG)throw new Error("Decode Error: could not decode tapScriptSig with key 0x"+e.key.toString("hex"));if(65!==e.key.length)throw new Error("Decode Error: tapScriptSig has invalid key 0x"+e.key.toString("hex"));if(64!==e.value.length&&65!==e.value.length)throw new Error("Decode Error: tapScriptSig has invalid signature in key 0x"+e.key.toString("hex"));return{pubkey:e.key.slice(1,33),leafHash:e.key.slice(33),signature:e.value}},A.encode=function(e){const A=r.from([n.InputTypes.TAP_SCRIPT_SIG]);return{key:r.concat([A,e.pubkey,e.leafHash]),value:e.signature}},A.expected="{ pubkey: Buffer; leafHash: Buffer; signature: Buffer; }",A.check=function(e){return r.isBuffer(e.pubkey)&&r.isBuffer(e.leafHash)&&r.isBuffer(e.signature)&&32===e.pubkey.length&&32===e.leafHash.length&&(64===e.signature.length||65===e.signature.length)},A.canAddToArray=function(e,A,t){const r=A.pubkey.toString("hex")+A.leafHash.toString("hex");return!t.has(r)&&(t.add(r),0===e.filter((e=>e.pubkey.equals(A.pubkey)&&e.leafHash.equals(A.leafHash))).length)}},4709:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889),i=t(5962),o=t(2715);A.decode=function(e){if(e.key[0]!==n.InputTypes.WITNESS_UTXO)throw new Error("Decode Error: could not decode witnessUtxo with key 0x"+e.key.toString("hex"));const A=i.readUInt64LE(e.value,0);let t=8;const r=o.decode(e.value,t);t+=o.encodingLength(r);const s=e.value.slice(t);if(s.length!==r)throw new Error("Decode Error: WITNESS_UTXO script is not proper length");return{script:s,value:A}},A.encode=function(e){const{script:A,value:t}=e,s=o.encodingLength(A.length),a=r.allocUnsafe(8+s+A.length);return i.writeUInt64LE(a,t,0),o.encode(A.length,a,8),A.copy(a,8+s),{key:r.from([n.InputTypes.WITNESS_UTXO]),value:a}},A.expected="{ script: Buffer; value: number; }",A.check=function(e){return r.isBuffer(e.script)&&"number"==typeof e.value},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.witnessUtxo}},9574:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(9889),i=t(2715);A.decode=function(e){if(e.key[0]!==n.OutputTypes.TAP_TREE||1!==e.key.length)throw new Error("Decode Error: could not decode tapTree with key 0x"+e.key.toString("hex"));let A=0;const t=[];for(;A<e.value.length;){const r=e.value[A++],n=e.value[A++],o=i.decode(e.value,A);A+=i.encodingLength(o),t.push({depth:r,leafVersion:n,script:e.value.slice(A,A+o)}),A+=o}return{leaves:t}},A.encode=function(e){const A=r.from([n.OutputTypes.TAP_TREE]),t=[].concat(...e.leaves.map((e=>[r.of(e.depth,e.leafVersion),i.encode(e.script.length),e.script])));return{key:A,value:r.concat(t)}},A.expected="{ leaves: [{ depth: number; leafVersion: number, script: Buffer; }] }",A.check=function(e){return Array.isArray(e.leaves)&&e.leaves.every((e=>e.depth>=0&&e.depth<=128&&(254&e.leafVersion)===e.leafVersion&&r.isBuffer(e.script)))},A.canAdd=function(e,A){return!!e&&!!A&&void 0===e.tapTree}},6896:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=e=>33===e.length&&[2,3].includes(e[0])||65===e.length&&4===e[0];A.makeConverter=function(e,A=n){return{decode:function(t){if(t.key[0]!==e)throw new Error("Decode Error: could not decode bip32Derivation with key 0x"+t.key.toString("hex"));const r=t.key.slice(1);if(!A(r))throw new Error("Decode Error: bip32Derivation has invalid pubkey in key 0x"+t.key.toString("hex"));if(t.value.length/4%1!=0)throw new Error("Decode Error: Input BIP32_DERIVATION value length should be multiple of 4");const n={masterFingerprint:t.value.slice(0,4),pubkey:r,path:"m"};for(const e of(i=t.value.length/4-1,[...Array(i).keys()])){const A=t.value.readUInt32LE(4*e+4),r=!!(2147483648&A),i=2147483647&A;n.path+="/"+i.toString(10)+(r?"\'":"")}var i;return n},encode:function(A){const t=r.from([e]),n=r.concat([t,A.pubkey]),i=A.path.split("/"),o=r.allocUnsafe(4*i.length);A.masterFingerprint.copy(o,0);let s=4;return i.slice(1).forEach((e=>{const A="\'"===e.slice(-1);let t=2147483647&parseInt(A?e.slice(0,-1):e,10);A&&(t+=2147483648),o.writeUInt32LE(t,s),s+=4})),{key:n,value:o}},check:function(e){return r.isBuffer(e.pubkey)&&r.isBuffer(e.masterFingerprint)&&"string"==typeof e.path&&A(e.pubkey)&&4===e.masterFingerprint.length},expected:"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }",canAddToArray:function(e,A,t){const r=A.pubkey.toString("hex");return!t.has(r)&&(t.add(r),0===e.filter((e=>e.pubkey.equals(A.pubkey))).length)}}}},437:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.makeChecker=function(e){return function(A){let t;if(e.includes(A.key[0])&&(t=A.key.slice(1),33!==t.length&&65!==t.length||![2,3,4].includes(t[0])))throw new Error("Format Error: invalid pubkey in key 0x"+A.key.toString("hex"));return t}}},5400:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.makeConverter=function(e){return{decode:function(A){if(A.key[0]!==e)throw new Error("Decode Error: could not decode redeemScript with key 0x"+A.key.toString("hex"));return A.value},encode:function(A){return{key:r.from([e]),value:A}},check:function(e){return r.isBuffer(e)},expected:"Buffer",canAdd:function(e,A){return!!e&&!!A&&void 0===e.redeemScript}}}},2751:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(2715),i=t(6896),o=e=>32===e.length;A.makeConverter=function(e){const A=i.makeConverter(e,o);return{decode:function(e){const t=n.decode(e.value),r=n.encodingLength(t),i=A.decode({key:e.key,value:e.value.slice(r+32*t)}),o=new Array(t);for(let A=0,n=r;A<t;A++,n+=32)o[A]=e.value.slice(n,n+32);return Object.assign({},i,{leafHashes:o})},encode:function(e){const t=A.encode(e),i=n.encodingLength(e.leafHashes.length),o=r.allocUnsafe(i);n.encode(e.leafHashes.length,o);const s=r.concat([o,...e.leafHashes,t.value]);return Object.assign({},t,{value:s})},check:function(e){return Array.isArray(e.leafHashes)&&e.leafHashes.every((e=>r.isBuffer(e)&&32===e.length))&&A.check(e)},expected:"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; leafHashes: Buffer[]; }",canAddToArray:A.canAddToArray}}},9632:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.makeConverter=function(e){return{decode:function(A){if(A.key[0]!==e||1!==A.key.length)throw new Error("Decode Error: could not decode tapInternalKey with key 0x"+A.key.toString("hex"));if(32!==A.value.length)throw new Error("Decode Error: tapInternalKey not a 32-byte x-only pubkey");return A.value},encode:function(A){return{key:r.from([e]),value:A}},check:function(e){return r.isBuffer(e)&&32===e.length},expected:"Buffer",canAdd:function(e,A){return!!e&&!!A&&void 0===e.tapInternalKey}}}},9079:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.makeConverter=function(e){return{decode:function(A){if(A.key[0]!==e)throw new Error("Decode Error: could not decode witnessScript with key 0x"+A.key.toString("hex"));return A.value},encode:function(A){return{key:r.from([e]),value:A}},check:function(e){return r.isBuffer(e)},expected:"Buffer",canAdd:function(e,A){return!!e&&!!A&&void 0===e.witnessScript}}}},5962:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(2715);function i(e){const A=e.key.length,t=e.value.length,i=n.encodingLength(A),o=n.encodingLength(t),s=r.allocUnsafe(i+A+o+t);return n.encode(A,s,0),e.key.copy(s,i),n.encode(t,s,i+A),e.value.copy(s,i+A+o),s}function o(e,A){if("number"!=typeof e)throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>A)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}A.range=e=>[...Array(e).keys()],A.reverseBuffer=function(e){if(e.length<1)return e;let A=e.length-1,t=0;for(let r=0;r<e.length/2;r++)t=e[r],e[r]=e[A],e[A]=t,A--;return e},A.keyValsToBuffer=function(e){const A=e.map(i);return A.push(r.from([0])),r.concat(A)},A.keyValToBuffer=i,A.readUInt64LE=function(e,A){const t=e.readUInt32LE(A);let r=e.readUInt32LE(A+4);return r*=4294967296,o(r+t,9007199254740991),r+t},A.writeUInt64LE=function(e,A,t){return o(A,9007199254740991),e.writeInt32LE(-1&A,t),e.writeUInt32LE(Math.floor(A/4294967296),t+4),t+8}},2715:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=9007199254740991;function i(e){if(e<0||e>n||e%1!=0)throw new RangeError("value out of range")}function o(e){return i(e),e<253?1:e<=65535?3:e<=4294967295?5:9}A.encode=function e(A,t,n){if(i(A),t||(t=r.allocUnsafe(o(A))),!r.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return n||(n=0),A<253?(t.writeUInt8(A,n),Object.assign(e,{bytes:1})):A<=65535?(t.writeUInt8(253,n),t.writeUInt16LE(A,n+1),Object.assign(e,{bytes:3})):A<=4294967295?(t.writeUInt8(254,n),t.writeUInt32LE(A,n+1),Object.assign(e,{bytes:5})):(t.writeUInt8(255,n),t.writeUInt32LE(A>>>0,n+1),t.writeUInt32LE(A/4294967296|0,n+5),Object.assign(e,{bytes:9})),t},A.decode=function e(A,t){if(!r.isBuffer(A))throw new TypeError("buffer must be a Buffer instance");t||(t=0);const n=A.readUInt8(t);if(n<253)return Object.assign(e,{bytes:1}),n;if(253===n)return Object.assign(e,{bytes:3}),A.readUInt16LE(t+1);if(254===n)return Object.assign(e,{bytes:5}),A.readUInt32LE(t+1);{Object.assign(e,{bytes:9});const r=A.readUInt32LE(t+1),n=4294967296*A.readUInt32LE(t+5)+r;return i(n),n}},A.encodingLength=o},4112:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(6317),i=t(5962),o=t(2715),s=t(9889);function a(e,A,t){if(!A.equals(r.from([t])))throw new Error(`Format Error: Invalid ${e} key: ${A.toString("hex")}`)}function g(e,{globalMapKeyVals:A,inputKeyVals:t,outputKeyVals:r}){const o={unsignedTx:e};let g=0;for(const e of A)switch(e.key[0]){case s.GlobalTypes.UNSIGNED_TX:if(a("global",e.key,s.GlobalTypes.UNSIGNED_TX),g>0)throw new Error("Format Error: GlobalMap has multiple UNSIGNED_TX");g++;break;case s.GlobalTypes.GLOBAL_XPUB:void 0===o.globalXpub&&(o.globalXpub=[]),o.globalXpub.push(n.globals.globalXpub.decode(e));break;default:o.unknownKeyVals||(o.unknownKeyVals=[]),o.unknownKeyVals.push(e)}const c=t.length,u=r.length,E=[],f=[];for(const e of i.range(c)){const A={};for(const r of t[e])switch(n.inputs.checkPubkey(r),r.key[0]){case s.InputTypes.NON_WITNESS_UTXO:if(a("input",r.key,s.InputTypes.NON_WITNESS_UTXO),void 0!==A.nonWitnessUtxo)throw new Error("Format Error: Input has multiple NON_WITNESS_UTXO");A.nonWitnessUtxo=n.inputs.nonWitnessUtxo.decode(r);break;case s.InputTypes.WITNESS_UTXO:if(a("input",r.key,s.InputTypes.WITNESS_UTXO),void 0!==A.witnessUtxo)throw new Error("Format Error: Input has multiple WITNESS_UTXO");A.witnessUtxo=n.inputs.witnessUtxo.decode(r);break;case s.InputTypes.PARTIAL_SIG:void 0===A.partialSig&&(A.partialSig=[]),A.partialSig.push(n.inputs.partialSig.decode(r));break;case s.InputTypes.SIGHASH_TYPE:if(a("input",r.key,s.InputTypes.SIGHASH_TYPE),void 0!==A.sighashType)throw new Error("Format Error: Input has multiple SIGHASH_TYPE");A.sighashType=n.inputs.sighashType.decode(r);break;case s.InputTypes.REDEEM_SCRIPT:if(a("input",r.key,s.InputTypes.REDEEM_SCRIPT),void 0!==A.redeemScript)throw new Error("Format Error: Input has multiple REDEEM_SCRIPT");A.redeemScript=n.inputs.redeemScript.decode(r);break;case s.InputTypes.WITNESS_SCRIPT:if(a("input",r.key,s.InputTypes.WITNESS_SCRIPT),void 0!==A.witnessScript)throw new Error("Format Error: Input has multiple WITNESS_SCRIPT");A.witnessScript=n.inputs.witnessScript.decode(r);break;case s.InputTypes.BIP32_DERIVATION:void 0===A.bip32Derivation&&(A.bip32Derivation=[]),A.bip32Derivation.push(n.inputs.bip32Derivation.decode(r));break;case s.InputTypes.FINAL_SCRIPTSIG:a("input",r.key,s.InputTypes.FINAL_SCRIPTSIG),A.finalScriptSig=n.inputs.finalScriptSig.decode(r);break;case s.InputTypes.FINAL_SCRIPTWITNESS:a("input",r.key,s.InputTypes.FINAL_SCRIPTWITNESS),A.finalScriptWitness=n.inputs.finalScriptWitness.decode(r);break;case s.InputTypes.POR_COMMITMENT:a("input",r.key,s.InputTypes.POR_COMMITMENT),A.porCommitment=n.inputs.porCommitment.decode(r);break;case s.InputTypes.TAP_KEY_SIG:a("input",r.key,s.InputTypes.TAP_KEY_SIG),A.tapKeySig=n.inputs.tapKeySig.decode(r);break;case s.InputTypes.TAP_SCRIPT_SIG:void 0===A.tapScriptSig&&(A.tapScriptSig=[]),A.tapScriptSig.push(n.inputs.tapScriptSig.decode(r));break;case s.InputTypes.TAP_LEAF_SCRIPT:void 0===A.tapLeafScript&&(A.tapLeafScript=[]),A.tapLeafScript.push(n.inputs.tapLeafScript.decode(r));break;case s.InputTypes.TAP_BIP32_DERIVATION:void 0===A.tapBip32Derivation&&(A.tapBip32Derivation=[]),A.tapBip32Derivation.push(n.inputs.tapBip32Derivation.decode(r));break;case s.InputTypes.TAP_INTERNAL_KEY:a("input",r.key,s.InputTypes.TAP_INTERNAL_KEY),A.tapInternalKey=n.inputs.tapInternalKey.decode(r);break;case s.InputTypes.TAP_MERKLE_ROOT:a("input",r.key,s.InputTypes.TAP_MERKLE_ROOT),A.tapMerkleRoot=n.inputs.tapMerkleRoot.decode(r);break;default:A.unknownKeyVals||(A.unknownKeyVals=[]),A.unknownKeyVals.push(r)}E.push(A)}for(const e of i.range(u)){const A={};for(const t of r[e])switch(n.outputs.checkPubkey(t),t.key[0]){case s.OutputTypes.REDEEM_SCRIPT:if(a("output",t.key,s.OutputTypes.REDEEM_SCRIPT),void 0!==A.redeemScript)throw new Error("Format Error: Output has multiple REDEEM_SCRIPT");A.redeemScript=n.outputs.redeemScript.decode(t);break;case s.OutputTypes.WITNESS_SCRIPT:if(a("output",t.key,s.OutputTypes.WITNESS_SCRIPT),void 0!==A.witnessScript)throw new Error("Format Error: Output has multiple WITNESS_SCRIPT");A.witnessScript=n.outputs.witnessScript.decode(t);break;case s.OutputTypes.BIP32_DERIVATION:void 0===A.bip32Derivation&&(A.bip32Derivation=[]),A.bip32Derivation.push(n.outputs.bip32Derivation.decode(t));break;case s.OutputTypes.TAP_INTERNAL_KEY:a("output",t.key,s.OutputTypes.TAP_INTERNAL_KEY),A.tapInternalKey=n.outputs.tapInternalKey.decode(t);break;case s.OutputTypes.TAP_TREE:a("output",t.key,s.OutputTypes.TAP_TREE),A.tapTree=n.outputs.tapTree.decode(t);break;case s.OutputTypes.TAP_BIP32_DERIVATION:void 0===A.tapBip32Derivation&&(A.tapBip32Derivation=[]),A.tapBip32Derivation.push(n.outputs.tapBip32Derivation.decode(t));break;default:A.unknownKeyVals||(A.unknownKeyVals=[]),A.unknownKeyVals.push(t)}f.push(A)}return{globalMap:o,inputs:E,outputs:f}}A.psbtFromBuffer=function(e,A){let t=0;function r(){const A=o.decode(e,t);t+=o.encodingLength(A);const r=e.slice(t,t+A);return t+=A,r}function n(){return{key:r(),value:r()}}function a(){if(t>=e.length)throw new Error("Format Error: Unexpected End of PSBT");const A=0===e.readUInt8(t);return A&&t++,A}if(1886610036!==function(){const A=e.readUInt32BE(t);return t+=4,A}())throw new Error("Format Error: Invalid Magic Number");if(255!==function(){const A=e.readUInt8(t);return t+=1,A}())throw new Error("Format Error: Magic Number must be followed by 0xff separator");const c=[],u={};for(;!a();){const e=n(),A=e.key.toString("hex");if(u[A])throw new Error("Format Error: Keys must be unique for global keymap: key "+A);u[A]=1,c.push(e)}const E=c.filter((e=>e.key[0]===s.GlobalTypes.UNSIGNED_TX));if(1!==E.length)throw new Error("Format Error: Only one UNSIGNED_TX allowed");const f=A(E[0].value),{inputCount:B,outputCount:I}=f.getInputOutputCounts(),C=[],Q=[];for(const e of i.range(B)){const A={},t=[];for(;!a();){const r=n(),i=r.key.toString("hex");if(A[i])throw new Error("Format Error: Keys must be unique for each input: input index "+e+" key "+i);A[i]=1,t.push(r)}C.push(t)}for(const e of i.range(I)){const A={},t=[];for(;!a();){const r=n(),i=r.key.toString("hex");if(A[i])throw new Error("Format Error: Keys must be unique for each output: output index "+e+" key "+i);A[i]=1,t.push(r)}Q.push(t)}return g(f,{globalMapKeyVals:c,inputKeyVals:C,outputKeyVals:Q})},A.checkKeyBuffer=a,A.psbtFromKeyVals=g},6808:(e,A,t)=>{"use strict";function r(e){for(var t in e)A.hasOwnProperty(t)||(A[t]=e[t])}Object.defineProperty(A,"__esModule",{value:!0}),r(t(4112)),r(t(2673))},2673:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(6317),i=t(5962);A.psbtToBuffer=function({globalMap:e,inputs:A,outputs:t}){const{globalKeyVals:n,inputKeyVals:o,outputKeyVals:s}=a({globalMap:e,inputs:A,outputs:t}),g=i.keyValsToBuffer(n),c=e=>0===e.length?[r.from([0])]:e.map(i.keyValsToBuffer),u=c(o),E=c(s),f=r.allocUnsafe(5);return f.writeUIntBE(482972169471,0,5),r.concat([f,g].concat(u,E))};const o=(e,A)=>e.key.compare(A.key);function s(e,A){const t=new Set,r=Object.entries(e).reduce(((e,[r,n])=>{if("unknownKeyVals"===r)return e;const i=A[r];if(void 0===i)return e;const o=(Array.isArray(n)?n:[n]).map(i.encode);return o.map((e=>e.key.toString("hex"))).forEach((e=>{if(t.has(e))throw new Error("Serialize Error: Duplicate key: "+e);t.add(e)})),e.concat(o)}),[]),n=e.unknownKeyVals?e.unknownKeyVals.filter((e=>!t.has(e.key.toString("hex")))):[];return r.concat(n).sort(o)}function a({globalMap:e,inputs:A,outputs:t}){return{globalKeyVals:s(e,n.globals),inputKeyVals:A.map((e=>s(e,n.inputs))),outputKeyVals:t.map((e=>s(e,n.outputs)))}}A.psbtToKeyVals=a},7003:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(3162),i=t(6808),o=t(9889),s=t(2431);A.Psbt=class{constructor(e){this.inputs=[],this.outputs=[],this.globalMap={unsignedTx:e}}static fromBase64(e,A){const t=r.from(e,"base64");return this.fromBuffer(t,A)}static fromHex(e,A){const t=r.from(e,"hex");return this.fromBuffer(t,A)}static fromBuffer(e,A){const t=i.psbtFromBuffer(e,A),r=new this(t.globalMap.unsignedTx);return Object.assign(r,t),r}toBase64(){return this.toBuffer().toString("base64")}toHex(){return this.toBuffer().toString("hex")}toBuffer(){return i.psbtToBuffer(this)}updateGlobal(e){return s.updateGlobal(e,this.globalMap),this}updateInput(e,A){const t=s.checkForInput(this.inputs,e);return s.updateInput(A,t),this}updateOutput(e,A){const t=s.checkForOutput(this.outputs,e);return s.updateOutput(A,t),this}addUnknownKeyValToGlobal(e){return s.checkHasKey(e,this.globalMap.unknownKeyVals,s.getEnumLength(o.GlobalTypes)),this.globalMap.unknownKeyVals||(this.globalMap.unknownKeyVals=[]),this.globalMap.unknownKeyVals.push(e),this}addUnknownKeyValToInput(e,A){const t=s.checkForInput(this.inputs,e);return s.checkHasKey(A,t.unknownKeyVals,s.getEnumLength(o.InputTypes)),t.unknownKeyVals||(t.unknownKeyVals=[]),t.unknownKeyVals.push(A),this}addUnknownKeyValToOutput(e,A){const t=s.checkForOutput(this.outputs,e);return s.checkHasKey(A,t.unknownKeyVals,s.getEnumLength(o.OutputTypes)),t.unknownKeyVals||(t.unknownKeyVals=[]),t.unknownKeyVals.push(A),this}addInput(e){this.globalMap.unsignedTx.addInput(e),this.inputs.push({unknownKeyVals:[]});const A=e.unknownKeyVals||[],t=this.inputs.length-1;if(!Array.isArray(A))throw new Error("unknownKeyVals must be an Array");return A.forEach((e=>this.addUnknownKeyValToInput(t,e))),s.addInputAttributes(this.inputs,e),this}addOutput(e){this.globalMap.unsignedTx.addOutput(e),this.outputs.push({unknownKeyVals:[]});const A=e.unknownKeyVals||[],t=this.outputs.length-1;if(!Array.isArray(A))throw new Error("unknownKeyVals must be an Array");return A.forEach((e=>this.addUnknownKeyValToOutput(t,e))),s.addOutputAttributes(this.outputs,e),this}clearFinalizedInput(e){const A=s.checkForInput(this.inputs,e);s.inputCheckUncleanFinalized(e,A);for(const e of Object.keys(A))["witnessUtxo","nonWitnessUtxo","finalScriptSig","finalScriptWitness","unknownKeyVals"].includes(e)||delete A[e];return this}combine(...e){const A=n.combine([this].concat(e));return Object.assign(this,A),this}getTransaction(){return this.globalMap.unsignedTx.toBuffer()}}},9889:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),function(e){e[e.UNSIGNED_TX=0]="UNSIGNED_TX",e[e.GLOBAL_XPUB=1]="GLOBAL_XPUB"}(A.GlobalTypes||(A.GlobalTypes={})),A.GLOBAL_TYPE_NAMES=["unsignedTx","globalXpub"],function(e){e[e.NON_WITNESS_UTXO=0]="NON_WITNESS_UTXO",e[e.WITNESS_UTXO=1]="WITNESS_UTXO",e[e.PARTIAL_SIG=2]="PARTIAL_SIG",e[e.SIGHASH_TYPE=3]="SIGHASH_TYPE",e[e.REDEEM_SCRIPT=4]="REDEEM_SCRIPT",e[e.WITNESS_SCRIPT=5]="WITNESS_SCRIPT",e[e.BIP32_DERIVATION=6]="BIP32_DERIVATION",e[e.FINAL_SCRIPTSIG=7]="FINAL_SCRIPTSIG",e[e.FINAL_SCRIPTWITNESS=8]="FINAL_SCRIPTWITNESS",e[e.POR_COMMITMENT=9]="POR_COMMITMENT",e[e.TAP_KEY_SIG=19]="TAP_KEY_SIG",e[e.TAP_SCRIPT_SIG=20]="TAP_SCRIPT_SIG",e[e.TAP_LEAF_SCRIPT=21]="TAP_LEAF_SCRIPT",e[e.TAP_BIP32_DERIVATION=22]="TAP_BIP32_DERIVATION",e[e.TAP_INTERNAL_KEY=23]="TAP_INTERNAL_KEY",e[e.TAP_MERKLE_ROOT=24]="TAP_MERKLE_ROOT"}(A.InputTypes||(A.InputTypes={})),A.INPUT_TYPE_NAMES=["nonWitnessUtxo","witnessUtxo","partialSig","sighashType","redeemScript","witnessScript","bip32Derivation","finalScriptSig","finalScriptWitness","porCommitment","tapKeySig","tapScriptSig","tapLeafScript","tapBip32Derivation","tapInternalKey","tapMerkleRoot"],function(e){e[e.REDEEM_SCRIPT=0]="REDEEM_SCRIPT",e[e.WITNESS_SCRIPT=1]="WITNESS_SCRIPT",e[e.BIP32_DERIVATION=2]="BIP32_DERIVATION",e[e.TAP_INTERNAL_KEY=5]="TAP_INTERNAL_KEY",e[e.TAP_TREE=6]="TAP_TREE",e[e.TAP_BIP32_DERIVATION=7]="TAP_BIP32_DERIVATION"}(A.OutputTypes||(A.OutputTypes={})),A.OUTPUT_TYPE_NAMES=["redeemScript","witnessScript","bip32Derivation","tapInternalKey","tapTree","tapBip32Derivation"]},2431:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0});const n=t(6317);function i(e,A){const t=e[A];if(void 0===t)throw new Error(`No input #${A}`);return t}function o(e,A){const t=e[A];if(void 0===t)throw new Error(`No output #${A}`);return t}function s(e,A,t,r){throw new Error(`Data for ${e} key ${A} is incorrect: Expected ${t} and got ${JSON.stringify(r)}`)}function a(e){return(A,t)=>{for(const r of Object.keys(A)){const i=A[r],{canAdd:o,canAddToArray:a,check:g,expected:c}=n[e+"s"][r]||{};if(g)if(!!a){if(!Array.isArray(i)||t[r]&&!Array.isArray(t[r]))throw new Error(`Key type ${r} must be an array`);i.every(g)||s(e,r,c,i);const A=t[r]||[],n=new Set;if(!i.every((e=>a(A,e,n))))throw new Error("Can not add duplicate data to array");t[r]=A.concat(i)}else{if(g(i)||s(e,r,c,i),!o(t,i))throw new Error(`Can not add duplicate data to ${e}`);t[r]=i}}}}A.checkForInput=i,A.checkForOutput=o,A.checkHasKey=function(e,A,t){if(e.key[0]<t)throw new Error("Use the method for your specific key instead of addUnknownKeyVal*");if(A&&0!==A.filter((A=>A.key.equals(e.key))).length)throw new Error(`Duplicate Key: ${e.key.toString("hex")}`)},A.getEnumLength=function(e){let A=0;return Object.keys(e).forEach((e=>{Number(isNaN(Number(e)))&&A++})),A},A.inputCheckUncleanFinalized=function(e,A){let t=!1;if(A.nonWitnessUtxo||A.witnessUtxo){const e=!!A.redeemScript,r=!!A.witnessScript,n=!e||!!A.finalScriptSig,i=!r||!!A.finalScriptWitness,o=!!A.finalScriptSig||!!A.finalScriptWitness;t=n&&i&&o}if(!1===t)throw new Error(`Input #${e} has too much or too little data to clean`)},A.updateGlobal=a("global"),A.updateInput=a("input"),A.updateOutput=a("output"),A.addInputAttributes=function(e,t){const r=i(e,e.length-1);A.updateInput(t,r)},A.addOutputAttributes=function(e,t){const r=o(e,e.length-1);A.updateOutput(t,r)},A.defaultVersionSetter=function(e,A){if(!r.isBuffer(A)||A.length<4)throw new Error("Set Version: Invalid Transaction");return A.writeUInt32LE(e,0),A},A.defaultLocktimeSetter=function(e,A){if(!r.isBuffer(A)||A.length<4)throw new Error("Set Locktime: Invalid Transaction");return A.writeUInt32LE(e,A.length-4),A}},3803:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.BIP32Factory=void 0;const n=t(1772),i=t(1280),o=t(6710),s=t(9688),a=t(973),g=t(6952),c=(0,o.base58check)(s.sha256),u=e=>c.encode(Uint8Array.from(e)),E=e=>r.from(c.decode(e));A.BIP32Factory=function(e){(0,i.testEcc)(e);const A=a.BufferN(32),t=a.compile({wif:a.UInt8,bip32:{public:a.UInt32,private:a.UInt32}}),o={messagePrefix:"Bitcoin Signed Message:\\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},s=2147483648,c=Math.pow(2,31)-1;function f(e){return a.String(e)&&null!==e.match(/^(m\\/)?(\\d+\'?\\/)*\\d+\'?$/)}function B(e){return a.UInt32(e)&&e<=c}class I{constructor(e,A){this.__D=e,this.__Q=A,this.lowR=!1}get publicKey(){return void 0===this.__Q&&(this.__Q=r.from(e.pointFromScalar(this.__D,!0))),this.__Q}get privateKey(){return this.__D}sign(A,t){if(!this.privateKey)throw new Error("Missing private key");if(void 0===t&&(t=this.lowR),!1===t)return r.from(e.sign(A,this.privateKey));{let t=r.from(e.sign(A,this.privateKey));const n=r.alloc(32,0);let i=0;for(;t[0]>127;)i++,n.writeUIntLE(i,0,6),t=r.from(e.sign(A,this.privateKey,n));return t}}signSchnorr(A){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return r.from(e.signSchnorr(A,this.privateKey))}verify(A,t){return e.verify(A,this.publicKey,t)}verifySchnorr(A,t){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(A,this.publicKey.subarray(1,33),t)}}class C extends I{constructor(e,A,r,n,i=0,o=0,s=0){super(e,A),this.chainCode=r,this.network=n,this.__DEPTH=i,this.__INDEX=o,this.__PARENT_FINGERPRINT=s,a(t,n)}get depth(){return this.__DEPTH}get index(){return this.__INDEX}get parentFingerprint(){return this.__PARENT_FINGERPRINT}get identifier(){return n.hash160(this.publicKey)}get fingerprint(){return this.identifier.slice(0,4)}get compressed(){return!0}isNeutered(){return void 0===this.__D}neutered(){return l(this.publicKey,this.chainCode,this.network,this.depth,this.index,this.parentFingerprint)}toBase58(){const e=this.network,A=this.isNeutered()?e.bip32.public:e.bip32.private,t=r.allocUnsafe(78);return t.writeUInt32BE(A,0),t.writeUInt8(this.depth,4),t.writeUInt32BE(this.parentFingerprint,5),t.writeUInt32BE(this.index,9),this.chainCode.copy(t,13),this.isNeutered()?this.publicKey.copy(t,45):(t.writeUInt8(0,45),this.privateKey.copy(t,46)),u(t)}toWIF(){if(!this.privateKey)throw new TypeError("Missing private key");return g.encode(this.network.wif,this.privateKey,!0)}derive(A){a(a.UInt32,A);const t=A>=s,i=r.allocUnsafe(37);if(t){if(this.isNeutered())throw new TypeError("Missing private key for hardened child key");i[0]=0,this.privateKey.copy(i,1),i.writeUInt32BE(A,33)}else this.publicKey.copy(i,0),i.writeUInt32BE(A,33);const o=n.hmacSHA512(this.chainCode,i),g=o.slice(0,32),c=o.slice(32);if(!e.isPrivate(g))return this.derive(A+1);let u;if(this.isNeutered()){const t=r.from(e.pointAddScalar(this.publicKey,g,!0));if(null===t)return this.derive(A+1);u=l(t,c,this.network,this.depth+1,A,this.fingerprint.readUInt32BE(0))}else{const t=r.from(e.privateAdd(this.privateKey,g));if(null==t)return this.derive(A+1);u=h(t,c,this.network,this.depth+1,A,this.fingerprint.readUInt32BE(0))}return u}deriveHardened(e){return a(B,e),this.derive(e+s)}derivePath(e){a(f,e);let A=e.split("/");if("m"===A[0]){if(this.parentFingerprint)throw new TypeError("Expected master, got child");A=A.slice(1)}return A.reduce(((e,A)=>{let t;return"\'"===A.slice(-1)?(t=parseInt(A.slice(0,-1),10),e.deriveHardened(t)):(t=parseInt(A,10),e.derive(t))}),this)}tweak(e){return this.privateKey?this.tweakFromPrivateKey(e):this.tweakFromPublicKey(e)}tweakFromPublicKey(A){const t=32===(n=this.publicKey).length?n:n.slice(1,33);var n;if(!e.xOnlyPointAddTweak)throw new Error("xOnlyPointAddTweak not supported by ecc library");const i=e.xOnlyPointAddTweak(t,A);if(!i||null===i.xOnlyPubkey)throw new Error("Cannot tweak public key!");const o=r.from([0===i.parity?2:3]),s=r.concat([o,i.xOnlyPubkey]);return new I(void 0,s)}tweakFromPrivateKey(A){const t=3===this.publicKey[0]||4===this.publicKey[0]&&1==(1&this.publicKey[64]),n=(()=>{if(t){if(e.privateNegate)return e.privateNegate(this.privateKey);throw new Error("privateNegate not supported by ecc library")}return this.privateKey})(),i=e.privateAdd(n,A);if(!i)throw new Error("Invalid tweaked private key!");return new I(r.from(i),void 0)}}function Q(e,A,t){return h(e,A,t)}function h(t,r,n,i,s,g){if(a({privateKey:A,chainCode:A},{privateKey:t,chainCode:r}),n=n||o,!e.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return new C(t,void 0,r,n,i,s,g)}function l(t,r,n,i,s,g){if(a({publicKey:a.BufferN(33),chainCode:A},{publicKey:t,chainCode:r}),n=n||o,!e.isPoint(t))throw new TypeError("Point is not on the curve");return new C(void 0,t,r,n,i,s,g)}return{fromSeed:function(e,A){if(a(a.Buffer,e),e.length<16)throw new TypeError("Seed should be at least 128 bits");if(e.length>64)throw new TypeError("Seed should be at most 512 bits");A=A||o;const t=n.hmacSHA512(r.from("Bitcoin seed","utf8"),e);return Q(t.slice(0,32),t.slice(32),A)},fromBase58:function(e,A){const t=E(e);if(78!==t.length)throw new TypeError("Invalid buffer length");A=A||o;const r=t.readUInt32BE(0);if(r!==A.bip32.private&&r!==A.bip32.public)throw new TypeError("Invalid network version");const n=t[4],i=t.readUInt32BE(5);if(0===n&&0!==i)throw new TypeError("Invalid parent fingerprint");const s=t.readUInt32BE(9);if(0===n&&0!==s)throw new TypeError("Invalid index");const a=t.slice(13,45);let g;if(r===A.bip32.private){if(0!==t.readUInt8(45))throw new TypeError("Invalid private key");g=h(t.slice(46,78),a,A,n,s,i)}else{g=l(t.slice(45,78),a,A,n,s,i)}return g},fromPublicKey:function(e,A,t){return l(e,A,t)},fromPrivateKey:Q}}},1772:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.hmacSHA512=A.hash160=void 0;const n=t(4500),i=t(71),o=t(9688),s=t(4989);A.hash160=function(e){const A=(0,o.sha256)(Uint8Array.from(e));return r.from((0,i.ripemd160)(A))},A.hmacSHA512=function(e,A){return r.from((0,n.hmac)(s.sha512,e,A))}},3553:(e,A,t)=>{"use strict";A.Pr=void 0;var r=t(3803);Object.defineProperty(A,"Pr",{enumerable:!0,get:function(){return r.BIP32Factory}})},1280:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.testEcc=void 0;const n=e=>r.from(e,"hex");function i(e){if(!e)throw new Error("ecc library invalid")}A.testEcc=function(e){if(i(e.isPoint(n("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),i(!e.isPoint(n("030000000000000000000000000000000000000000000000000000000000000005"))),i(e.isPrivate(n("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),i(e.isPrivate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),i(!e.isPrivate(n("0000000000000000000000000000000000000000000000000000000000000000"))),i(!e.isPrivate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),i(!e.isPrivate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),i(r.from(e.pointFromScalar(n("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(n("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),e.xOnlyPointAddTweak){i(null===e.xOnlyPointAddTweak(n("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")));let A=e.xOnlyPointAddTweak(n("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),n("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));i(r.from(A.xOnlyPubkey).equals(n("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&1===A.parity),A=e.xOnlyPointAddTweak(n("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),n("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47"))}i(r.from(e.pointAddScalar(n("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),n("0000000000000000000000000000000000000000000000000000000000000003"))).equals(n("02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"))),i(r.from(e.privateAdd(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),n("0000000000000000000000000000000000000000000000000000000000000002"))).equals(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),e.privateNegate&&(i(r.from(e.privateNegate(n("0000000000000000000000000000000000000000000000000000000000000001"))).equals(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),i(r.from(e.privateNegate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(n("0000000000000000000000000000000000000000000000000000000000000003"))),i(r.from(e.privateNegate(n("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(n("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792")))),i(r.from(e.sign(n("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(n("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),i(e.verify(n("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),n("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),n("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&i(r.from(e.signSchnorr(n("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),n("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),n("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(n("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&i(e.verifySchnorr(n("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),n("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),n("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}},7748:e=>{"use strict";e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var A=new Uint8Array(256),t=0;t<A.length;t++)A[t]=255;for(var r=0;r<e.length;r++){var n=e.charAt(r),i=n.charCodeAt(0);if(255!==A[i])throw new TypeError(n+" is ambiguous");A[i]=r}var o=e.length,s=e.charAt(0),a=Math.log(o)/Math.log(256),g=Math.log(256)/Math.log(o);function c(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;for(var t=0,r=0,n=0;e[t]===s;)r++,t++;for(var i=(e.length-t)*a+1>>>0,g=new Uint8Array(i);e[t];){var c=A[e.charCodeAt(t)];if(255===c)return;for(var u=0,E=i-1;(0!==c||u<n)&&-1!==E;E--,u++)c+=o*g[E]>>>0,g[E]=c%256>>>0,c=c/256>>>0;if(0!==c)throw new Error("Non-zero carry");n=u,t++}for(var f=i-n;f!==i&&0===g[f];)f++;for(var B=new Uint8Array(r+(i-f)),I=r;f!==i;)B[I++]=g[f++];return B}return{encode:function(A){if(A instanceof Uint8Array||(ArrayBuffer.isView(A)?A=new Uint8Array(A.buffer,A.byteOffset,A.byteLength):Array.isArray(A)&&(A=Uint8Array.from(A))),!(A instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===A.length)return"";for(var t=0,r=0,n=0,i=A.length;n!==i&&0===A[n];)n++,t++;for(var a=(i-n)*g+1>>>0,c=new Uint8Array(a);n!==i;){for(var u=A[n],E=0,f=a-1;(0!==u||E<r)&&-1!==f;f--,E++)u+=256*c[f]>>>0,c[f]=u%o>>>0,u=u/o>>>0;if(0!==u)throw new Error("Non-zero carry");r=E,n++}for(var B=a-r;B!==a&&0===c[B];)B++;for(var I=s.repeat(t);B<a;++B)I+=e.charAt(c[B]);return I},decodeUnsafe:c,decode:function(e){var A=c(e);if(A)return A;throw new Error("Non-base"+o+" character")}}}},8155:(e,A,t)=>{const r=t(7748);e.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},5940:(e,A,t)=>{"use strict";var r=t(8155);e.exports=function(e){function A(A){var t=A.slice(0,-4),r=A.slice(-4),n=e(t);if(!(r[0]^n[0]|r[1]^n[1]|r[2]^n[2]|r[3]^n[3]))return t}return{encode:function(A){var t=Uint8Array.from(A),n=e(t),i=t.length+4,o=new Uint8Array(i);return o.set(t,0),o.set(n.subarray(0,4),t.length),r.encode(o,i)},decode:function(e){var t=A(r.decode(e));if(!t)throw new Error("Invalid checksum");return t},decodeUnsafe:function(e){var t=r.decodeUnsafe(e);if(t)return A(t)}}}},7329:(e,A,t)=>{"use strict";var{sha256:r}=t(9688),n=t(5940);e.exports=n((function(e){return r(r(e))}))},3348:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.toOutputScript=A.fromOutputScript=A.toBech32=A.toBase58Check=A.fromBech32=A.fromBase58Check=void 0;const n=t(2529),i=t(8614),o=t(4009),s=t(5593),a=t(6586),g=t(7329),c=40,u=2,E=16,f=2,B=80,I="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function C(e){const A=r.from(g.decode(e));if(A.length<21)throw new TypeError(e+" is too short");if(A.length>21)throw new TypeError(e+" is too long");return{version:A.readUInt8(0),hash:A.slice(1)}}function Q(e){let A,t;try{A=a.bech32.decode(e)}catch(e){}if(A){if(t=A.words[0],0!==t)throw new TypeError(e+" uses wrong encoding")}else if(A=a.bech32m.decode(e),t=A.words[0],0===t)throw new TypeError(e+" uses wrong encoding");const n=a.bech32.fromWords(A.words.slice(1));return{version:t,prefix:A.prefix,data:r.from(n)}}function h(e,A,t){const r=a.bech32.toWords(e);return r.unshift(A),0===A?a.bech32.encode(t,r):a.bech32m.encode(t,r)}A.fromBase58Check=C,A.fromBech32=Q,A.toBase58Check=function(e,A){(0,s.typeforce)((0,s.tuple)(s.Hash160bit,s.UInt8),arguments);const t=r.allocUnsafe(21);return t.writeUInt8(A,0),e.copy(t,1),g.encode(t)},A.toBech32=h,A.fromOutputScript=function(e,A){A=A||n.bitcoin;try{return i.p2pkh({output:e,network:A}).address}catch(e){}try{return i.p2sh({output:e,network:A}).address}catch(e){}try{return i.p2wpkh({output:e,network:A}).address}catch(e){}try{return i.p2wsh({output:e,network:A}).address}catch(e){}try{return i.p2tr({output:e,network:A}).address}catch(e){}try{return function(e,A){const t=e.slice(2);if(t.length<u||t.length>c)throw new TypeError("Invalid program length for segwit address");const r=e[0]-B;if(r<f||r>E)throw new TypeError("Invalid version for segwit address");if(e[1]!==t.length)throw new TypeError("Invalid script for segwit address");return console.warn(I),h(t,r,A.bech32)}(e,A)}catch(e){}throw new Error(o.toASM(e)+" has no matching Address")},A.toOutputScript=function(e,A){let t,r;A=A||n.bitcoin;try{t=C(e)}catch(e){}if(t){if(t.version===A.pubKeyHash)return i.p2pkh({hash:t.hash}).output;if(t.version===A.scriptHash)return i.p2sh({hash:t.hash}).output}else{try{r=Q(e)}catch(e){}if(r){if(r.prefix!==A.bech32)throw new Error(e+" has an invalid prefix");if(0===r.version){if(20===r.data.length)return i.p2wpkh({hash:r.data}).output;if(32===r.data.length)return i.p2wsh({hash:r.data}).output}else if(1===r.version){if(32===r.data.length)return i.p2tr({pubkey:r.data}).output}else if(r.version>=f&&r.version<=E&&r.data.length>=u&&r.data.length<=c)return console.warn(I),o.compile([r.version+B,r.data])}}throw new Error(e+" has no matching Script")}},195:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.encode=A.decode=A.check=void 0,A.check=function(e){if(e.length<8)return!1;if(e.length>72)return!1;if(48!==e[0])return!1;if(e[1]!==e.length-2)return!1;if(2!==e[2])return!1;const A=e[3];if(0===A)return!1;if(5+A>=e.length)return!1;if(2!==e[4+A])return!1;const t=e[5+A];return 0!==t&&(6+A+t===e.length&&(!(128&e[4])&&(!(A>1&&0===e[4]&&!(128&e[5]))&&(!(128&e[A+6])&&!(t>1&&0===e[A+6]&&!(128&e[A+7]))))))},A.decode=function(e){if(e.length<8)throw new Error("DER sequence length is too short");if(e.length>72)throw new Error("DER sequence length is too long");if(48!==e[0])throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(2!==e[2])throw new Error("Expected DER integer");const A=e[3];if(0===A)throw new Error("R length is zero");if(5+A>=e.length)throw new Error("R length is too long");if(2!==e[4+A])throw new Error("Expected DER integer (2)");const t=e[5+A];if(0===t)throw new Error("S length is zero");if(6+A+t!==e.length)throw new Error("S length is invalid");if(128&e[4])throw new Error("R value is negative");if(A>1&&0===e[4]&&!(128&e[5]))throw new Error("R value excessively padded");if(128&e[A+6])throw new Error("S value is negative");if(t>1&&0===e[A+6]&&!(128&e[A+7]))throw new Error("S value excessively padded");return{r:e.slice(4,4+A),s:e.slice(6+A)}},A.encode=function(e,A){const t=e.length,n=A.length;if(0===t)throw new Error("R length is zero");if(0===n)throw new Error("S length is zero");if(t>33)throw new Error("R length is too long");if(n>33)throw new Error("S length is too long");if(128&e[0])throw new Error("R value is negative");if(128&A[0])throw new Error("S value is negative");if(t>1&&0===e[0]&&!(128&e[1]))throw new Error("R value excessively padded");if(n>1&&0===A[0]&&!(128&A[1]))throw new Error("S value excessively padded");const i=r.allocUnsafe(6+t+n);return i[0]=48,i[1]=i.length-2,i[2]=2,i[3]=e.length,e.copy(i,4),i[4+t]=2,i[5+t]=A.length,A.copy(i,6+t),i}},1169:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.Block=void 0;const n=t(3831),i=t(6891),o=t(7992),s=t(5444),a=t(5593),{typeforce:g}=a,c=new TypeError("Cannot compute merkle root for zero transactions"),u=new TypeError("Cannot compute witness commit for non-segwit block");class E{constructor(){this.version=1,this.prevHash=void 0,this.merkleRoot=void 0,this.timestamp=0,this.witnessCommit=void 0,this.bits=0,this.nonce=0,this.transactions=void 0}static fromBuffer(e){if(e.length<80)throw new Error("Buffer too small (< 80 bytes)");const A=new n.BufferReader(e),t=new E;if(t.version=A.readInt32(),t.prevHash=A.readSlice(32),t.merkleRoot=A.readSlice(32),t.timestamp=A.readUInt32(),t.bits=A.readUInt32(),t.nonce=A.readUInt32(),80===e.length)return t;const r=()=>{const e=s.Transaction.fromBuffer(A.buffer.slice(A.offset),!0);return A.offset+=e.byteLength(),e},i=A.readVarInt();t.transactions=[];for(let e=0;e<i;++e){const e=r();t.transactions.push(e)}const o=t.getWitnessCommit();return o&&(t.witnessCommit=o),t}static fromHex(e){return E.fromBuffer(r.from(e,"hex"))}static calculateTarget(e){const A=((4278190080&e)>>24)-3,t=8388607&e,n=r.alloc(32,0);return n.writeUIntBE(t,29-A,3),n}static calculateMerkleRoot(e,A){if(g([{getHash:a.Function}],e),0===e.length)throw c;if(A&&!f(e))throw u;const t=e.map((e=>e.getHash(A))),n=(0,o.fastMerkleRoot)(t,i.hash256);return A?i.hash256(r.concat([n,e[0].ins[0].witness[0]])):n}getWitnessCommit(){if(!f(this.transactions))return null;const e=this.transactions[0].outs.filter((e=>e.script.slice(0,6).equals(r.from("6a24aa21a9ed","hex")))).map((e=>e.script.slice(6,38)));if(0===e.length)return null;const A=e[e.length-1];return A instanceof r&&32===A.length?A:null}hasWitnessCommit(){return this.witnessCommit instanceof r&&32===this.witnessCommit.length||null!==this.getWitnessCommit()}hasWitness(){return(e=this.transactions)instanceof Array&&e.some((e=>"object"==typeof e&&e.ins instanceof Array&&e.ins.some((e=>"object"==typeof e&&e.witness instanceof Array&&e.witness.length>0))));var e}weight(){return 3*this.byteLength(!1,!1)+this.byteLength(!1,!0)}byteLength(e,A=!0){return e||!this.transactions?80:80+n.varuint.encodingLength(this.transactions.length)+this.transactions.reduce(((e,t)=>e+t.byteLength(A)),0)}getHash(){return i.hash256(this.toBuffer(!0))}getId(){return(0,n.reverseBuffer)(this.getHash()).toString("hex")}getUTCDate(){const e=new Date(0);return e.setUTCSeconds(this.timestamp),e}toBuffer(e){const A=r.allocUnsafe(this.byteLength(e)),t=new n.BufferWriter(A);return t.writeInt32(this.version),t.writeSlice(this.prevHash),t.writeSlice(this.merkleRoot),t.writeUInt32(this.timestamp),t.writeUInt32(this.bits),t.writeUInt32(this.nonce),e||!this.transactions||(n.varuint.encode(this.transactions.length,A,t.offset),t.offset+=n.varuint.encode.bytes,this.transactions.forEach((e=>{const r=e.byteLength();e.toBuffer(A,t.offset),t.offset+=r}))),A}toHex(e){return this.toBuffer(e).toString("hex")}checkTxRoots(){const e=this.hasWitnessCommit();return!(!e&&this.hasWitness())&&(this.__checkMerkleRoot()&&(!e||this.__checkWitnessCommit()))}checkProofOfWork(){const e=(0,n.reverseBuffer)(this.getHash()),A=E.calculateTarget(this.bits);return e.compare(A)<=0}__checkMerkleRoot(){if(!this.transactions)throw c;const e=E.calculateMerkleRoot(this.transactions);return 0===this.merkleRoot.compare(e)}__checkWitnessCommit(){if(!this.transactions)throw c;if(!this.hasWitnessCommit())throw u;const e=E.calculateMerkleRoot(this.transactions,!0);return 0===this.witnessCommit.compare(e)}}function f(e){return e instanceof Array&&e[0]&&e[0].ins&&e[0].ins instanceof Array&&e[0].ins[0]&&e[0].ins[0].witness&&e[0].ins[0].witness instanceof Array&&e[0].ins[0].witness.length>0}A.Block=E},3831:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.BufferReader=A.BufferWriter=A.cloneBuffer=A.reverseBuffer=A.writeUInt64LE=A.readUInt64LE=A.varuint=void 0;const n=t(5593),{typeforce:i}=n,o=t(7820);function s(e,A){if("number"!=typeof e)throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>A)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}function a(e,A){const t=e.readUInt32LE(A);let r=e.readUInt32LE(A+4);return r*=4294967296,s(r+t,9007199254740991),r+t}function g(e,A,t){return s(A,9007199254740991),e.writeInt32LE(-1&A,t),e.writeUInt32LE(Math.floor(A/4294967296),t+4),t+8}A.varuint=o,A.readUInt64LE=a,A.writeUInt64LE=g,A.reverseBuffer=function(e){if(e.length<1)return e;let A=e.length-1,t=0;for(let r=0;r<e.length/2;r++)t=e[r],e[r]=e[A],e[A]=t,A--;return e},A.cloneBuffer=function(e){const A=r.allocUnsafe(e.length);return e.copy(A),A};class c{static withCapacity(e){return new c(r.alloc(e))}constructor(e,A=0){this.buffer=e,this.offset=A,i(n.tuple(n.Buffer,n.UInt32),[e,A])}writeUInt8(e){this.offset=this.buffer.writeUInt8(e,this.offset)}writeInt32(e){this.offset=this.buffer.writeInt32LE(e,this.offset)}writeUInt32(e){this.offset=this.buffer.writeUInt32LE(e,this.offset)}writeUInt64(e){this.offset=g(this.buffer,e,this.offset)}writeVarInt(e){o.encode(e,this.buffer,this.offset),this.offset+=o.encode.bytes}writeSlice(e){if(this.buffer.length<this.offset+e.length)throw new Error("Cannot write slice out of bounds");this.offset+=e.copy(this.buffer,this.offset)}writeVarSlice(e){this.writeVarInt(e.length),this.writeSlice(e)}writeVector(e){this.writeVarInt(e.length),e.forEach((e=>this.writeVarSlice(e)))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}A.BufferWriter=c;A.BufferReader=class{constructor(e,A=0){this.buffer=e,this.offset=A,i(n.tuple(n.Buffer,n.UInt32),[e,A])}readUInt8(){const e=this.buffer.readUInt8(this.offset);return this.offset++,e}readInt32(){const e=this.buffer.readInt32LE(this.offset);return this.offset+=4,e}readUInt32(){const e=this.buffer.readUInt32LE(this.offset);return this.offset+=4,e}readUInt64(){const e=a(this.buffer,this.offset);return this.offset+=8,e}readVarInt(){const e=o.decode(this.buffer,this.offset);return this.offset+=o.decode.bytes,e}readSlice(e){if(this.buffer.length<this.offset+e)throw new Error("Cannot read slice out of bounds");const A=this.buffer.slice(this.offset,this.offset+e);return this.offset+=e,A}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const e=this.readVarInt(),A=[];for(let t=0;t<e;t++)A.push(this.readVarSlice());return A}}},6891:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.taggedHash=A.TAGGED_HASH_PREFIXES=A.TAGS=A.hash256=A.hash160=A.sha256=A.sha1=A.ripemd160=void 0;const n=t(71),i=t(874),o=t(9688);function s(e){return r.from((0,o.sha256)(Uint8Array.from(e)))}A.ripemd160=function(e){return r.from((0,n.ripemd160)(Uint8Array.from(e)))},A.sha1=function(e){return r.from((0,i.sha1)(Uint8Array.from(e)))},A.sha256=s,A.hash160=function(e){return r.from((0,n.ripemd160)((0,o.sha256)(Uint8Array.from(e))))},A.hash256=function(e){return r.from((0,o.sha256)((0,o.sha256)(Uint8Array.from(e))))},A.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],A.TAGGED_HASH_PREFIXES={"BIP0340/challenge":r.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":r.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":r.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:r.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:r.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:r.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:r.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":r.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":r.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])},A.taggedHash=function(e,t){return s(r.concat([A.TAGGED_HASH_PREFIXES[e],t]))}},6313:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.getEccLib=A.initEccLib=void 0;const n={};A.initEccLib=function(e){var A;e?e!==n.eccLib&&(o("function"==typeof(A=e).isXOnlyPoint),o(A.isXOnlyPoint(i("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),o(A.isXOnlyPoint(i("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),o(A.isXOnlyPoint(i("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),o(A.isXOnlyPoint(i("0000000000000000000000000000000000000000000000000000000000000001"))),o(!A.isXOnlyPoint(i("0000000000000000000000000000000000000000000000000000000000000000"))),o(!A.isXOnlyPoint(i("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),o("function"==typeof A.xOnlyPointAddTweak),s.forEach((e=>{const t=A.xOnlyPointAddTweak(i(e.pubkey),i(e.tweak));null===e.result?o(null===t):(o(null!==t),o(t.parity===e.parity),o(r.from(t.xOnlyPubkey).equals(i(e.result))))})),n.eccLib=e):n.eccLib=e},A.getEccLib=function(){if(!n.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return n.eccLib};const i=e=>r.from(e,"hex");function o(e){if(!e)throw new Error("ecc library invalid")}const s=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}]},7612:(e,A,t)=>{"use strict";A.ZX=A.iL=A.KT=A.o8=A.hl=void 0;const r=t(3348);A.hl=r;t(6891);const n=t(2529);A.o8=n;const i=t(8614);A.KT=i;t(4009);var o=t(1169);var s=t(6689);Object.defineProperty(A,"iL",{enumerable:!0,get:function(){return s.Psbt}});var a=t(8156);var g=t(5444);Object.defineProperty(A,"ZX",{enumerable:!0,get:function(){return g.Transaction}});var c=t(6313)},7992:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.fastMerkleRoot=void 0,A.fastMerkleRoot=function(e,A){if(!Array.isArray(e))throw TypeError("Expected values Array");if("function"!=typeof A)throw TypeError("Expected digest Function");let t=e.length;const n=e.concat();for(;t>1;){let e=0;for(let i=0;i<t;i+=2,++e){const o=n[i],s=i+1===t?o:n[i+1],a=r.concat([o,s]);n[e]=A(a)}t=e}return n[0]}},2529:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.testnet=A.regtest=A.bitcoin=void 0,A.bitcoin={messagePrefix:"Bitcoin Signed Message:\\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},A.regtest={messagePrefix:"Bitcoin Signed Message:\\n",bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239},A.testnet={messagePrefix:"Bitcoin Signed Message:\\n",bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239}},8156:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.REVERSE_OPS=A.OPS=void 0;const t={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};A.OPS=t;const r={};A.REVERSE_OPS=r;for(const e of Object.keys(t)){r[t[e]]=e}},5247:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.tweakKey=A.tapTweakHash=A.tapleafHash=A.findScriptPath=A.toHashTree=A.rootHashFromPath=A.MAX_TAPTREE_DEPTH=A.LEAF_VERSION_TAPSCRIPT=void 0;const r=t(1048),n=t(6313),i=t(6891),o=t(3831),s=t(5593);A.LEAF_VERSION_TAPSCRIPT=192,A.MAX_TAPTREE_DEPTH=128;function a(e){const t=e.version||A.LEAF_VERSION_TAPSCRIPT;return i.taggedHash("TapLeaf",r.Buffer.concat([r.Buffer.from([t]),u(e.output)]))}function g(e,A){return i.taggedHash("TapTweak",r.Buffer.concat(A?[e,A]:[e]))}function c(e,A){return i.taggedHash("TapBranch",r.Buffer.concat([e,A]))}function u(e){const A=o.varuint.encodingLength(e.length),t=r.Buffer.allocUnsafe(A);return o.varuint.encode(e.length,t),r.Buffer.concat([t,e])}A.rootHashFromPath=function(e,A){if(e.length<33)throw new TypeError(`The control-block length is too small. Got ${e.length}, expected min 33.`);const t=(e.length-33)/32;let r=A;for(let A=0;A<t;A++){const t=e.slice(33+32*A,65+32*A);r=r.compare(t)<0?c(r,t):c(t,r)}return r},A.toHashTree=function e(A){if((0,s.isTapleaf)(A))return{hash:a(A)};const t=[e(A[0]),e(A[1])];t.sort(((e,A)=>e.hash.compare(A.hash)));const[r,n]=t;return{hash:c(r.hash,n.hash),left:r,right:n}},A.findScriptPath=function e(A,t){if("left"in(r=A)&&"right"in r){const r=e(A.left,t);if(void 0!==r)return[...r,A.right.hash];const n=e(A.right,t);if(void 0!==n)return[...n,A.left.hash]}else if(A.hash.equals(t))return[];var r},A.tapleafHash=a,A.tapTweakHash=g,A.tweakKey=function(e,A){if(!r.Buffer.isBuffer(e))return null;if(32!==e.length)return null;if(A&&32!==A.length)return null;const t=g(e,A),i=(0,n.getEccLib)().xOnlyPointAddTweak(e,t);return i&&null!==i.xOnlyPubkey?{parity:i.parity,x:r.Buffer.from(i.xOnlyPubkey)}:null}},271:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.p2data=void 0;const r=t(2529),n=t(4009),i=t(5593),o=t(9158),s=n.OPS;A.p2data=function(e,A){if(!e.data&&!e.output)throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,i.typeforce)({network:i.typeforce.maybe(i.typeforce.Object),output:i.typeforce.maybe(i.typeforce.Buffer),data:i.typeforce.maybe(i.typeforce.arrayOf(i.typeforce.Buffer))},e);const t={name:"embed",network:e.network||r.bitcoin};if(o.prop(t,"output",(()=>{if(e.data)return n.compile([s.OP_RETURN].concat(e.data))})),o.prop(t,"data",(()=>{if(e.output)return n.decompile(e.output).slice(1)})),A.validate&&e.output){const A=n.decompile(e.output);if(A[0]!==s.OP_RETURN)throw new TypeError("Output is invalid");if(!A.slice(1).every(i.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!function(e,A){return e.length===A.length&&e.every(((e,t)=>e.equals(A[t])))}(e.data,t.data))throw new TypeError("Data mismatch")}return Object.assign(t,e)}},8614:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.p2tr=A.p2wsh=A.p2wpkh=A.p2sh=A.p2pkh=A.p2pk=A.p2ms=A.embed=void 0;const r=t(271);Object.defineProperty(A,"embed",{enumerable:!0,get:function(){return r.p2data}});const n=t(2810);Object.defineProperty(A,"p2ms",{enumerable:!0,get:function(){return n.p2ms}});const i=t(5643);Object.defineProperty(A,"p2pk",{enumerable:!0,get:function(){return i.p2pk}});const o=t(9379);Object.defineProperty(A,"p2pkh",{enumerable:!0,get:function(){return o.p2pkh}});const s=t(2129);Object.defineProperty(A,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const a=t(7090);Object.defineProperty(A,"p2wpkh",{enumerable:!0,get:function(){return a.p2wpkh}});const g=t(2366);Object.defineProperty(A,"p2wsh",{enumerable:!0,get:function(){return g.p2wsh}});const c=t(1992);Object.defineProperty(A,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})},9158:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.value=A.prop=void 0,A.prop=function(e,A,t){Object.defineProperty(e,A,{configurable:!0,enumerable:!0,get(){const e=t.call(this);return this[A]=e,e},set(e){Object.defineProperty(this,A,{configurable:!0,enumerable:!0,value:e,writable:!0})}})},A.value=function(e){let A;return()=>(void 0!==A||(A=e()),A)}},2810:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.p2ms=void 0;const r=t(2529),n=t(4009),i=t(5593),o=t(9158),s=n.OPS,a=s.OP_RESERVED;function g(e,A){return e.length===A.length&&e.every(((e,t)=>e.equals(A[t])))}A.p2ms=function(e,A){if(!(e.input||e.output||e.pubkeys&&void 0!==e.m||e.signatures))throw new TypeError("Not enough data");function t(e){return n.isCanonicalScriptSignature(e)||void 0!==(A.allowIncomplete&&e===s.OP_0)}A=Object.assign({validate:!0},A||{}),(0,i.typeforce)({network:i.typeforce.maybe(i.typeforce.Object),m:i.typeforce.maybe(i.typeforce.Number),n:i.typeforce.maybe(i.typeforce.Number),output:i.typeforce.maybe(i.typeforce.Buffer),pubkeys:i.typeforce.maybe(i.typeforce.arrayOf(i.isPoint)),signatures:i.typeforce.maybe(i.typeforce.arrayOf(t)),input:i.typeforce.maybe(i.typeforce.Buffer)},e);const c={network:e.network||r.bitcoin};let u=[],E=!1;function f(e){E||(E=!0,u=n.decompile(e),c.m=u[0]-a,c.n=u[u.length-2]-a,c.pubkeys=u.slice(1,-2))}if(o.prop(c,"output",(()=>{if(e.m&&c.n&&e.pubkeys)return n.compile([].concat(a+e.m,e.pubkeys,a+c.n,s.OP_CHECKMULTISIG))})),o.prop(c,"m",(()=>{if(c.output)return f(c.output),c.m})),o.prop(c,"n",(()=>{if(c.pubkeys)return c.pubkeys.length})),o.prop(c,"pubkeys",(()=>{if(e.output)return f(e.output),c.pubkeys})),o.prop(c,"signatures",(()=>{if(e.input)return n.decompile(e.input).slice(1)})),o.prop(c,"input",(()=>{if(e.signatures)return n.compile([s.OP_0].concat(e.signatures))})),o.prop(c,"witness",(()=>{if(c.input)return[]})),o.prop(c,"name",(()=>{if(c.m&&c.n)return`p2ms(${c.m} of ${c.n})`})),A.validate){if(e.output){if(f(e.output),!i.typeforce.Number(u[0]))throw new TypeError("Output is invalid");if(!i.typeforce.Number(u[u.length-2]))throw new TypeError("Output is invalid");if(u[u.length-1]!==s.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(c.m<=0||c.n>16||c.m>c.n||c.n!==u.length-3)throw new TypeError("Output is invalid");if(!c.pubkeys.every((e=>(0,i.isPoint)(e))))throw new TypeError("Output is invalid");if(void 0!==e.m&&e.m!==c.m)throw new TypeError("m mismatch");if(void 0!==e.n&&e.n!==c.n)throw new TypeError("n mismatch");if(e.pubkeys&&!g(e.pubkeys,c.pubkeys))throw new TypeError("Pubkeys mismatch")}if(e.pubkeys){if(void 0!==e.n&&e.n!==e.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(c.n=e.pubkeys.length,c.n<c.m)throw new TypeError("Pubkey count cannot be less than m")}if(e.signatures){if(e.signatures.length<c.m)throw new TypeError("Not enough signatures provided");if(e.signatures.length>c.m)throw new TypeError("Too many signatures provided")}if(e.input){if(e.input[0]!==s.OP_0)throw new TypeError("Input is invalid");if(0===c.signatures.length||!c.signatures.every(t))throw new TypeError("Input has invalid signature(s)");if(e.signatures&&!g(e.signatures,c.signatures))throw new TypeError("Signature mismatch");if(void 0!==e.m&&e.m!==e.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(c,e)}},5643:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.p2pk=void 0;const r=t(2529),n=t(4009),i=t(5593),o=t(9158),s=n.OPS;A.p2pk=function(e,A){if(!(e.input||e.output||e.pubkey||e.input||e.signature))throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,i.typeforce)({network:i.typeforce.maybe(i.typeforce.Object),output:i.typeforce.maybe(i.typeforce.Buffer),pubkey:i.typeforce.maybe(i.isPoint),signature:i.typeforce.maybe(n.isCanonicalScriptSignature),input:i.typeforce.maybe(i.typeforce.Buffer)},e);const t=o.value((()=>n.decompile(e.input))),a={name:"p2pk",network:e.network||r.bitcoin};if(o.prop(a,"output",(()=>{if(e.pubkey)return n.compile([e.pubkey,s.OP_CHECKSIG])})),o.prop(a,"pubkey",(()=>{if(e.output)return e.output.slice(1,-1)})),o.prop(a,"signature",(()=>{if(e.input)return t()[0]})),o.prop(a,"input",(()=>{if(e.signature)return n.compile([e.signature])})),o.prop(a,"witness",(()=>{if(a.input)return[]})),A.validate){if(e.output){if(e.output[e.output.length-1]!==s.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,i.isPoint)(a.pubkey))throw new TypeError("Output pubkey is invalid");if(e.pubkey&&!e.pubkey.equals(a.pubkey))throw new TypeError("Pubkey mismatch")}if(e.signature&&e.input&&!e.input.equals(a.input))throw new TypeError("Signature mismatch");if(e.input){if(1!==t().length)throw new TypeError("Input is invalid");if(!n.isCanonicalScriptSignature(a.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(a,e)}},9379:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.p2pkh=void 0;const n=t(6891),i=t(2529),o=t(4009),s=t(5593),a=t(9158),g=t(7329),c=o.OPS;A.p2pkh=function(e,A){if(!(e.address||e.hash||e.output||e.pubkey||e.input))throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,s.typeforce)({network:s.typeforce.maybe(s.typeforce.Object),address:s.typeforce.maybe(s.typeforce.String),hash:s.typeforce.maybe(s.typeforce.BufferN(20)),output:s.typeforce.maybe(s.typeforce.BufferN(25)),pubkey:s.typeforce.maybe(s.isPoint),signature:s.typeforce.maybe(o.isCanonicalScriptSignature),input:s.typeforce.maybe(s.typeforce.Buffer)},e);const t=a.value((()=>{const A=r.from(g.decode(e.address));return{version:A.readUInt8(0),hash:A.slice(1)}})),u=a.value((()=>o.decompile(e.input))),E=e.network||i.bitcoin,f={name:"p2pkh",network:E};if(a.prop(f,"address",(()=>{if(!f.hash)return;const e=r.allocUnsafe(21);return e.writeUInt8(E.pubKeyHash,0),f.hash.copy(e,1),g.encode(e)})),a.prop(f,"hash",(()=>e.output?e.output.slice(3,23):e.address?t().hash:e.pubkey||f.pubkey?n.hash160(e.pubkey||f.pubkey):void 0)),a.prop(f,"output",(()=>{if(f.hash)return o.compile([c.OP_DUP,c.OP_HASH160,f.hash,c.OP_EQUALVERIFY,c.OP_CHECKSIG])})),a.prop(f,"pubkey",(()=>{if(e.input)return u()[1]})),a.prop(f,"signature",(()=>{if(e.input)return u()[0]})),a.prop(f,"input",(()=>{if(e.pubkey&&e.signature)return o.compile([e.signature,e.pubkey])})),a.prop(f,"witness",(()=>{if(f.input)return[]})),A.validate){let A=r.from([]);if(e.address){if(t().version!==E.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(20!==t().hash.length)throw new TypeError("Invalid address");A=t().hash}if(e.hash){if(A.length>0&&!A.equals(e.hash))throw new TypeError("Hash mismatch");A=e.hash}if(e.output){if(25!==e.output.length||e.output[0]!==c.OP_DUP||e.output[1]!==c.OP_HASH160||20!==e.output[2]||e.output[23]!==c.OP_EQUALVERIFY||e.output[24]!==c.OP_CHECKSIG)throw new TypeError("Output is invalid");const t=e.output.slice(3,23);if(A.length>0&&!A.equals(t))throw new TypeError("Hash mismatch");A=t}if(e.pubkey){const t=n.hash160(e.pubkey);if(A.length>0&&!A.equals(t))throw new TypeError("Hash mismatch");A=t}if(e.input){const t=u();if(2!==t.length)throw new TypeError("Input is invalid");if(!o.isCanonicalScriptSignature(t[0]))throw new TypeError("Input has invalid signature");if(!(0,s.isPoint)(t[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(t[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(t[1]))throw new TypeError("Pubkey mismatch");const r=n.hash160(t[1]);if(A.length>0&&!A.equals(r))throw new TypeError("Hash mismatch")}}return Object.assign(f,e)}},2129:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.p2sh=void 0;const n=t(6891),i=t(2529),o=t(4009),s=t(5593),a=t(9158),g=t(7329),c=o.OPS;A.p2sh=function(e,A){if(!(e.address||e.hash||e.output||e.redeem||e.input))throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,s.typeforce)({network:s.typeforce.maybe(s.typeforce.Object),address:s.typeforce.maybe(s.typeforce.String),hash:s.typeforce.maybe(s.typeforce.BufferN(20)),output:s.typeforce.maybe(s.typeforce.BufferN(23)),redeem:s.typeforce.maybe({network:s.typeforce.maybe(s.typeforce.Object),output:s.typeforce.maybe(s.typeforce.Buffer),input:s.typeforce.maybe(s.typeforce.Buffer),witness:s.typeforce.maybe(s.typeforce.arrayOf(s.typeforce.Buffer))}),input:s.typeforce.maybe(s.typeforce.Buffer),witness:s.typeforce.maybe(s.typeforce.arrayOf(s.typeforce.Buffer))},e);let t=e.network;t||(t=e.redeem&&e.redeem.network||i.bitcoin);const u={network:t},E=a.value((()=>{const A=r.from(g.decode(e.address));return{version:A.readUInt8(0),hash:A.slice(1)}})),f=a.value((()=>o.decompile(e.input))),B=a.value((()=>{const A=f(),n=A[A.length-1];return{network:t,output:n===c.OP_FALSE?r.from([]):n,input:o.compile(A.slice(0,-1)),witness:e.witness||[]}}));if(a.prop(u,"address",(()=>{if(!u.hash)return;const e=r.allocUnsafe(21);return e.writeUInt8(u.network.scriptHash,0),u.hash.copy(e,1),g.encode(e)})),a.prop(u,"hash",(()=>e.output?e.output.slice(2,22):e.address?E().hash:u.redeem&&u.redeem.output?n.hash160(u.redeem.output):void 0)),a.prop(u,"output",(()=>{if(u.hash)return o.compile([c.OP_HASH160,u.hash,c.OP_EQUAL])})),a.prop(u,"redeem",(()=>{if(e.input)return B()})),a.prop(u,"input",(()=>{if(e.redeem&&e.redeem.input&&e.redeem.output)return o.compile([].concat(o.decompile(e.redeem.input),e.redeem.output))})),a.prop(u,"witness",(()=>u.redeem&&u.redeem.witness?u.redeem.witness:u.input?[]:void 0)),a.prop(u,"name",(()=>{const e=["p2sh"];return void 0!==u.redeem&&void 0!==u.redeem.name&&e.push(u.redeem.name),e.join("-")})),A.validate){let A=r.from([]);if(e.address){if(E().version!==t.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(20!==E().hash.length)throw new TypeError("Invalid address");A=E().hash}if(e.hash){if(A.length>0&&!A.equals(e.hash))throw new TypeError("Hash mismatch");A=e.hash}if(e.output){if(23!==e.output.length||e.output[0]!==c.OP_HASH160||20!==e.output[1]||e.output[22]!==c.OP_EQUAL)throw new TypeError("Output is invalid");const t=e.output.slice(2,22);if(A.length>0&&!A.equals(t))throw new TypeError("Hash mismatch");A=t}const i=e=>{if(e.output){const t=o.decompile(e.output);if(!t||t.length<1)throw new TypeError("Redeem.output too short");if(e.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(o.countNonPushOnlyOPs(t)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const r=n.hash160(e.output);if(A.length>0&&!A.equals(r))throw new TypeError("Hash mismatch");A=r}if(e.input){const A=e.input.length>0,t=e.witness&&e.witness.length>0;if(!A&&!t)throw new TypeError("Empty input");if(A&&t)throw new TypeError("Input and witness provided");if(A){const A=o.decompile(e.input);if(!o.isPushOnly(A))throw new TypeError("Non push-only scriptSig")}}};if(e.input){const e=f();if(!e||e.length<1)throw new TypeError("Input too short");if(!r.isBuffer(B().output))throw new TypeError("Input is invalid");i(B())}if(e.redeem){if(e.redeem.network&&e.redeem.network!==t)throw new TypeError("Network mismatch");if(e.input){const A=B();if(e.redeem.output&&!e.redeem.output.equals(A.output))throw new TypeError("Redeem.output mismatch");if(e.redeem.input&&!e.redeem.input.equals(A.input))throw new TypeError("Redeem.input mismatch")}i(e.redeem)}if(e.witness&&e.redeem&&e.redeem.witness&&!function(e,A){return e.length===A.length&&e.every(((e,t)=>e.equals(A[t])))}(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(u,e)}},1992:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.p2tr=void 0;const r=t(1048),n=t(2529),i=t(4009),o=t(5593),s=t(6313),a=t(5247),g=t(9158),c=t(6586),u=i.OPS;A.p2tr=function(e,A){if(!(e.address||e.output||e.pubkey||e.internalPubkey||e.witness&&e.witness.length>1))throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,o.typeforce)({address:o.typeforce.maybe(o.typeforce.String),input:o.typeforce.maybe(o.typeforce.BufferN(0)),network:o.typeforce.maybe(o.typeforce.Object),output:o.typeforce.maybe(o.typeforce.BufferN(34)),internalPubkey:o.typeforce.maybe(o.typeforce.BufferN(32)),hash:o.typeforce.maybe(o.typeforce.BufferN(32)),pubkey:o.typeforce.maybe(o.typeforce.BufferN(32)),signature:o.typeforce.maybe(o.typeforce.anyOf(o.typeforce.BufferN(64),o.typeforce.BufferN(65))),witness:o.typeforce.maybe(o.typeforce.arrayOf(o.typeforce.Buffer)),scriptTree:o.typeforce.maybe(o.isTaptree),redeem:o.typeforce.maybe({output:o.typeforce.maybe(o.typeforce.Buffer),redeemVersion:o.typeforce.maybe(o.typeforce.Number),witness:o.typeforce.maybe(o.typeforce.arrayOf(o.typeforce.Buffer))}),redeemVersion:o.typeforce.maybe(o.typeforce.Number)},e);const t=g.value((()=>{const A=c.bech32m.decode(e.address),t=A.words.shift(),n=c.bech32m.fromWords(A.words);return{version:t,prefix:A.prefix,data:r.Buffer.from(n)}})),E=g.value((()=>{if(e.witness&&e.witness.length)return e.witness.length>=2&&80===e.witness[e.witness.length-1][0]?e.witness.slice(0,-1):e.witness.slice()})),f=g.value((()=>e.scriptTree?(0,a.toHashTree)(e.scriptTree):e.hash?{hash:e.hash}:void 0)),B=e.network||n.bitcoin,I={name:"p2tr",network:B};if(g.prop(I,"address",(()=>{if(!I.pubkey)return;const e=c.bech32m.toWords(I.pubkey);return e.unshift(1),c.bech32m.encode(B.bech32,e)})),g.prop(I,"hash",(()=>{const e=f();if(e)return e.hash;const A=E();if(A&&A.length>1){const e=A[A.length-1],t=e[0]&o.TAPLEAF_VERSION_MASK,r=A[A.length-2],n=(0,a.tapleafHash)({output:r,version:t});return(0,a.rootHashFromPath)(e,n)}return null})),g.prop(I,"output",(()=>{if(I.pubkey)return i.compile([u.OP_1,I.pubkey])})),g.prop(I,"redeemVersion",(()=>e.redeemVersion?e.redeemVersion:e.redeem&&void 0!==e.redeem.redeemVersion&&null!==e.redeem.redeemVersion?e.redeem.redeemVersion:a.LEAF_VERSION_TAPSCRIPT)),g.prop(I,"redeem",(()=>{const e=E();if(e&&!(e.length<2))return{output:e[e.length-2],witness:e.slice(0,-2),redeemVersion:e[e.length-1][0]&o.TAPLEAF_VERSION_MASK}})),g.prop(I,"pubkey",(()=>{if(e.pubkey)return e.pubkey;if(e.output)return e.output.slice(2);if(e.address)return t().data;if(I.internalPubkey){const e=(0,a.tweakKey)(I.internalPubkey,I.hash);if(e)return e.x}})),g.prop(I,"internalPubkey",(()=>{if(e.internalPubkey)return e.internalPubkey;const A=E();return A&&A.length>1?A[A.length-1].slice(1,33):void 0})),g.prop(I,"signature",(()=>{if(e.signature)return e.signature;const A=E();return A&&1===A.length?A[0]:void 0})),g.prop(I,"witness",(()=>{if(e.witness)return e.witness;const A=f();if(A&&e.redeem&&e.redeem.output&&e.internalPubkey){const t=(0,a.tapleafHash)({output:e.redeem.output,version:I.redeemVersion}),n=(0,a.findScriptPath)(A,t);if(!n)return;const i=(0,a.tweakKey)(e.internalPubkey,A.hash);if(!i)return;const o=r.Buffer.concat([r.Buffer.from([I.redeemVersion|i.parity]),e.internalPubkey].concat(n));return[e.redeem.output,o]}return e.signature?[e.signature]:void 0})),A.validate){let A=r.Buffer.from([]);if(e.address){if(B&&B.bech32!==t().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(1!==t().version)throw new TypeError("Invalid address version");if(32!==t().data.length)throw new TypeError("Invalid address data");A=t().data}if(e.pubkey){if(A.length>0&&!A.equals(e.pubkey))throw new TypeError("Pubkey mismatch");A=e.pubkey}if(e.output){if(34!==e.output.length||e.output[0]!==u.OP_1||32!==e.output[1])throw new TypeError("Output is invalid");if(A.length>0&&!A.equals(e.output.slice(2)))throw new TypeError("Pubkey mismatch");A=e.output.slice(2)}if(e.internalPubkey){const t=(0,a.tweakKey)(e.internalPubkey,I.hash);if(A.length>0&&!A.equals(t.x))throw new TypeError("Pubkey mismatch");A=t.x}if(A&&A.length&&!(0,s.getEccLib)().isXOnlyPoint(A))throw new TypeError("Invalid pubkey for p2tr");const n=f();if(e.hash&&n&&!e.hash.equals(n.hash))throw new TypeError("Hash mismatch");if(e.redeem&&e.redeem.output&&n){const A=(0,a.tapleafHash)({output:e.redeem.output,version:I.redeemVersion});if(!(0,a.findScriptPath)(n,A))throw new TypeError("Redeem script not in tree")}const g=E();if(e.redeem&&I.redeem){if(e.redeem.redeemVersion&&e.redeem.redeemVersion!==I.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(e.redeem.output){if(0===i.decompile(e.redeem.output).length)throw new TypeError("Redeem.output is invalid");if(I.redeem.output&&!e.redeem.output.equals(I.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(e.redeem.witness&&I.redeem.witness&&!function(e,A){return e.length===A.length&&e.every(((e,t)=>e.equals(A[t])))}(e.redeem.witness,I.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(g&&g.length)if(1===g.length){if(e.signature&&!e.signature.equals(g[0]))throw new TypeError("Signature mismatch")}else{const t=g[g.length-1];if(t.length<33)throw new TypeError(`The control-block length is too small. Got ${t.length}, expected min 33.`);if((t.length-33)%32!=0)throw new TypeError(`The control-block length of ${t.length} is incorrect!`);const r=(t.length-33)/32;if(r>128)throw new TypeError(`The script path is too long. Got ${r}, expected max 128.`);const n=t.slice(1,33);if(e.internalPubkey&&!e.internalPubkey.equals(n))throw new TypeError("Internal pubkey mismatch");if(!(0,s.getEccLib)().isXOnlyPoint(n))throw new TypeError("Invalid internalPubkey for p2tr witness");const i=t[0]&o.TAPLEAF_VERSION_MASK,c=g[g.length-2],u=(0,a.tapleafHash)({output:c,version:i}),E=(0,a.rootHashFromPath)(t,u),f=(0,a.tweakKey)(n,E);if(!f)throw new TypeError("Invalid outputKey for p2tr witness");if(A.length&&!A.equals(f.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(f.parity!==(1&t[0]))throw new Error("Incorrect parity")}}return Object.assign(I,e)}},7090:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.p2wpkh=void 0;const n=t(6891),i=t(2529),o=t(4009),s=t(5593),a=t(9158),g=t(6586),c=o.OPS,u=r.alloc(0);A.p2wpkh=function(e,A){if(!(e.address||e.hash||e.output||e.pubkey||e.witness))throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,s.typeforce)({address:s.typeforce.maybe(s.typeforce.String),hash:s.typeforce.maybe(s.typeforce.BufferN(20)),input:s.typeforce.maybe(s.typeforce.BufferN(0)),network:s.typeforce.maybe(s.typeforce.Object),output:s.typeforce.maybe(s.typeforce.BufferN(22)),pubkey:s.typeforce.maybe(s.isPoint),signature:s.typeforce.maybe(o.isCanonicalScriptSignature),witness:s.typeforce.maybe(s.typeforce.arrayOf(s.typeforce.Buffer))},e);const t=a.value((()=>{const A=g.bech32.decode(e.address),t=A.words.shift(),n=g.bech32.fromWords(A.words);return{version:t,prefix:A.prefix,data:r.from(n)}})),E=e.network||i.bitcoin,f={name:"p2wpkh",network:E};if(a.prop(f,"address",(()=>{if(!f.hash)return;const e=g.bech32.toWords(f.hash);return e.unshift(0),g.bech32.encode(E.bech32,e)})),a.prop(f,"hash",(()=>e.output?e.output.slice(2,22):e.address?t().data:e.pubkey||f.pubkey?n.hash160(e.pubkey||f.pubkey):void 0)),a.prop(f,"output",(()=>{if(f.hash)return o.compile([c.OP_0,f.hash])})),a.prop(f,"pubkey",(()=>e.pubkey?e.pubkey:e.witness?e.witness[1]:void 0)),a.prop(f,"signature",(()=>{if(e.witness)return e.witness[0]})),a.prop(f,"input",(()=>{if(f.witness)return u})),a.prop(f,"witness",(()=>{if(e.pubkey&&e.signature)return[e.signature,e.pubkey]})),A.validate){let A=r.from([]);if(e.address){if(E&&E.bech32!==t().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(0!==t().version)throw new TypeError("Invalid address version");if(20!==t().data.length)throw new TypeError("Invalid address data");A=t().data}if(e.hash){if(A.length>0&&!A.equals(e.hash))throw new TypeError("Hash mismatch");A=e.hash}if(e.output){if(22!==e.output.length||e.output[0]!==c.OP_0||20!==e.output[1])throw new TypeError("Output is invalid");if(A.length>0&&!A.equals(e.output.slice(2)))throw new TypeError("Hash mismatch");A=e.output.slice(2)}if(e.pubkey){const t=n.hash160(e.pubkey);if(A.length>0&&!A.equals(t))throw new TypeError("Hash mismatch");if(A=t,!(0,s.isPoint)(e.pubkey)||33!==e.pubkey.length)throw new TypeError("Invalid pubkey for p2wpkh")}if(e.witness){if(2!==e.witness.length)throw new TypeError("Witness is invalid");if(!o.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,s.isPoint)(e.witness[1])||33!==e.witness[1].length)throw new TypeError("Witness has invalid pubkey");if(e.signature&&!e.signature.equals(e.witness[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(e.witness[1]))throw new TypeError("Pubkey mismatch");const t=n.hash160(e.witness[1]);if(A.length>0&&!A.equals(t))throw new TypeError("Hash mismatch")}}return Object.assign(f,e)}},2366:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.p2wsh=void 0;const n=t(6891),i=t(2529),o=t(4009),s=t(5593),a=t(9158),g=t(6586),c=o.OPS,u=r.alloc(0);function E(e){return!(!r.isBuffer(e)||65!==e.length||4!==e[0]||!(0,s.isPoint)(e))}A.p2wsh=function(e,A){if(!(e.address||e.hash||e.output||e.redeem||e.witness))throw new TypeError("Not enough data");A=Object.assign({validate:!0},A||{}),(0,s.typeforce)({network:s.typeforce.maybe(s.typeforce.Object),address:s.typeforce.maybe(s.typeforce.String),hash:s.typeforce.maybe(s.typeforce.BufferN(32)),output:s.typeforce.maybe(s.typeforce.BufferN(34)),redeem:s.typeforce.maybe({input:s.typeforce.maybe(s.typeforce.Buffer),network:s.typeforce.maybe(s.typeforce.Object),output:s.typeforce.maybe(s.typeforce.Buffer),witness:s.typeforce.maybe(s.typeforce.arrayOf(s.typeforce.Buffer))}),input:s.typeforce.maybe(s.typeforce.BufferN(0)),witness:s.typeforce.maybe(s.typeforce.arrayOf(s.typeforce.Buffer))},e);const t=a.value((()=>{const A=g.bech32.decode(e.address),t=A.words.shift(),n=g.bech32.fromWords(A.words);return{version:t,prefix:A.prefix,data:r.from(n)}})),f=a.value((()=>o.decompile(e.redeem.input)));let B=e.network;B||(B=e.redeem&&e.redeem.network||i.bitcoin);const I={network:B};if(a.prop(I,"address",(()=>{if(!I.hash)return;const e=g.bech32.toWords(I.hash);return e.unshift(0),g.bech32.encode(B.bech32,e)})),a.prop(I,"hash",(()=>e.output?e.output.slice(2):e.address?t().data:I.redeem&&I.redeem.output?n.sha256(I.redeem.output):void 0)),a.prop(I,"output",(()=>{if(I.hash)return o.compile([c.OP_0,I.hash])})),a.prop(I,"redeem",(()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:u,witness:e.witness.slice(0,-1)}})),a.prop(I,"input",(()=>{if(I.witness)return u})),a.prop(I,"witness",(()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const A=o.toStack(f());return I.redeem=Object.assign({witness:A},e.redeem),I.redeem.input=u,[].concat(A,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)})),a.prop(I,"name",(()=>{const e=["p2wsh"];return void 0!==I.redeem&&void 0!==I.redeem.name&&e.push(I.redeem.name),e.join("-")})),A.validate){let A=r.from([]);if(e.address){if(t().prefix!==B.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(0!==t().version)throw new TypeError("Invalid address version");if(32!==t().data.length)throw new TypeError("Invalid address data");A=t().data}if(e.hash){if(A.length>0&&!A.equals(e.hash))throw new TypeError("Hash mismatch");A=e.hash}if(e.output){if(34!==e.output.length||e.output[0]!==c.OP_0||32!==e.output[1])throw new TypeError("Output is invalid");const t=e.output.slice(2);if(A.length>0&&!A.equals(t))throw new TypeError("Hash mismatch");A=t}if(e.redeem){if(e.redeem.network&&e.redeem.network!==B)throw new TypeError("Network mismatch");if(e.redeem.input&&e.redeem.input.length>0&&e.redeem.witness&&e.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(e.redeem.output){const t=o.decompile(e.redeem.output);if(!t||t.length<1)throw new TypeError("Redeem.output is invalid");if(e.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(o.countNonPushOnlyOPs(t)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const r=n.sha256(e.redeem.output);if(A.length>0&&!A.equals(r))throw new TypeError("Hash mismatch");A=r}if(e.redeem.input&&!o.isPushOnly(f()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!function(e,A){return e.length===A.length&&e.every(((e,t)=>e.equals(A[t])))}(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&f().some(E)||e.redeem.output&&(o.decompile(e.redeem.output)||[]).some(E))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const A=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(A))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(E)||(o.decompile(A)||[]).some(E))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(I,e)}},6689:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.Psbt=void 0;const n=t(7003),i=t(2715),o=t(2431),s=t(3348),a=t(3831),g=t(2529),c=t(8614),u=t(5247),E=t(4009),f=t(5444),B=t(6412),I=t(8990),C={network:g.bitcoin,maximumFeeRate:5e3};class Q{static fromBase64(e,A={}){const t=r.from(e,"base64");return this.fromBuffer(t,A)}static fromHex(e,A={}){const t=r.from(e,"hex");return this.fromBuffer(t,A)}static fromBuffer(e,A={}){const t=n.Psbt.fromBuffer(e,h),r=new Q(A,t);var i,o;return i=r.__CACHE.__TX,o=r.__CACHE,i.ins.forEach((e=>{S(o,e)})),r}constructor(e={},A=new n.Psbt(new l)){this.data=A,this.opts=Object.assign({},C,e),this.__CACHE={__NON_WITNESS_UTXO_TX_CACHE:[],__NON_WITNESS_UTXO_BUF_CACHE:[],__TX_IN_CACHE:{},__TX:this.data.globalMap.unsignedTx.tx,__UNSAFE_SIGN_NONSEGWIT:!1},0===this.data.inputs.length&&this.setVersion(2);const t=(e,A,t,r)=>Object.defineProperty(e,A,{enumerable:t,writable:r});t(this,"__CACHE",!1,!0),t(this,"opts",!1,!0)}get inputCount(){return this.data.inputs.length}get version(){return this.__CACHE.__TX.version}set version(e){this.setVersion(e)}get locktime(){return this.__CACHE.__TX.locktime}set locktime(e){this.setLocktime(e)}get txInputs(){return this.__CACHE.__TX.ins.map((e=>({hash:(0,a.cloneBuffer)(e.hash),index:e.index,sequence:e.sequence})))}get txOutputs(){return this.__CACHE.__TX.outs.map((e=>{let A;try{A=(0,s.fromOutputScript)(e.script,this.opts.network)}catch(e){}return{script:(0,a.cloneBuffer)(e.script),value:e.value,address:A}}))}combine(...e){return this.data.combine(...e.map((e=>e.data))),this}clone(){const e=Q.fromBuffer(this.data.toBuffer());return e.opts=JSON.parse(JSON.stringify(this.opts)),e}setMaximumFeeRate(e){b(e),this.opts.maximumFeeRate=e}setVersion(e){b(e),m(this.data.inputs,"setVersion");const A=this.__CACHE;return A.__TX.version=e,A.__EXTRACTED_TX=void 0,this}setLocktime(e){b(e),m(this.data.inputs,"setLocktime");const A=this.__CACHE;return A.__TX.locktime=e,A.__EXTRACTED_TX=void 0,this}setInputSequence(e,A){b(A),m(this.data.inputs,"setInputSequence");const t=this.__CACHE;if(t.__TX.ins.length<=e)throw new Error("Input index too high");return t.__TX.ins[e].sequence=A,t.__EXTRACTED_TX=void 0,this}addInputs(e){return e.forEach((e=>this.addInput(e))),this}addInput(e){if(arguments.length>1||!e||void 0===e.hash||void 0===e.index)throw new Error("Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]");(0,B.checkTaprootInputFields)(e,e,"addInput"),m(this.data.inputs,"addInput"),e.witnessScript&&X(e.witnessScript);const A=this.__CACHE;this.data.addInput(e);S(A,A.__TX.ins[A.__TX.ins.length-1]);const t=this.data.inputs.length-1,r=this.data.inputs[t];return r.nonWitnessUtxo&&K(this.__CACHE,r,t),A.__FEE=void 0,A.__FEE_RATE=void 0,A.__EXTRACTED_TX=void 0,this}addOutputs(e){return e.forEach((e=>this.addOutput(e))),this}addOutput(e){if(arguments.length>1||!e||void 0===e.value||void 0===e.address&&void 0===e.script)throw new Error("Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]");m(this.data.inputs,"addOutput");const{address:A}=e;if("string"==typeof A){const{network:t}=this.opts,r=(0,s.toOutputScript)(A,t);e=Object.assign(e,{script:r})}(0,B.checkTaprootOutputFields)(e,e,"addOutput");const t=this.__CACHE;return this.data.addOutput(e),t.__FEE=void 0,t.__FEE_RATE=void 0,t.__EXTRACTED_TX=void 0,this}extractTransaction(e){if(!this.data.inputs.every(w))throw new Error("Not finalized");const A=this.__CACHE;if(e||function(e,A,t){const r=A.__FEE_RATE||e.getFeeRate(),n=A.__EXTRACTED_TX.virtualSize(),i=r*n;if(r>=t.maximumFeeRate)throw new Error(`Warning: You are paying around ${(i/1e8).toFixed(8)} in fees, which is ${r} satoshi per byte for a transaction with a VSize of ${n} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`)}(this,A,this.opts),A.__EXTRACTED_TX)return A.__EXTRACTED_TX;const t=A.__TX.clone();return G(this.data.inputs,t,A,!0),t}getFeeRate(){return x("__FEE_RATE","fee rate",this.data.inputs,this.__CACHE)}getFee(){return x("__FEE","fee",this.data.inputs,this.__CACHE)}finalizeAllInputs(){return(0,o.checkForInput)(this.data.inputs,0),q(this.data.inputs.length).forEach((e=>this.finalizeInput(e))),this}finalizeInput(e,A){const t=(0,o.checkForInput)(this.data.inputs,e);return(0,B.isTaprootInput)(t)?this._finalizeTaprootInput(e,t,void 0,A):this._finalizeInput(e,t,A)}finalizeTaprootInput(e,A,t=B.tapScriptFinalizer){const r=(0,o.checkForInput)(this.data.inputs,e);if((0,B.isTaprootInput)(r))return this._finalizeTaprootInput(e,r,A,t);throw new Error(`Cannot finalize input #${e}. Not Taproot.`)}_finalizeInput(e,A,t=R){const{script:r,isP2SH:n,isP2WSH:i,isSegwit:o}=function(e,A,t){const r=t.__TX,n={script:null,isSegwit:!1,isP2SH:!1,isP2WSH:!1};if(n.isP2SH=!!A.redeemScript,n.isP2WSH=!!A.witnessScript,A.witnessScript)n.script=A.witnessScript;else if(A.redeemScript)n.script=A.redeemScript;else if(A.nonWitnessUtxo){const i=j(t,A,e),o=r.ins[e].index;n.script=i.outs[o].script}else A.witnessUtxo&&(n.script=A.witnessUtxo.script);(A.witnessScript||(0,I.isP2WPKH)(n.script))&&(n.isSegwit=!0);return n}(e,A,this.__CACHE);if(!r)throw new Error(`No script found for input #${e}`);!function(e){if(!e.sighashType||!e.partialSig)return;const{partialSig:A,sighashType:t}=e;A.forEach((e=>{const{hashType:A}=E.signature.decode(e.signature);if(t!==A)throw new Error("Signature sighash does not match input sighash type")}))}(A);const{finalScriptSig:s,finalScriptWitness:a}=t(e,A,r,o,n,i);if(s&&this.data.updateInput(e,{finalScriptSig:s}),a&&this.data.updateInput(e,{finalScriptWitness:a}),!s&&!a)throw new Error(`Unknown error finalizing input #${e}`);return this.data.clearFinalizedInput(e),this}_finalizeTaprootInput(e,A,t,r=B.tapScriptFinalizer){if(!A.witnessUtxo)throw new Error(`Cannot finalize input #${e}. Missing withness utxo.`);if(A.tapKeySig){const t=c.p2tr({output:A.witnessUtxo.script,signature:A.tapKeySig}),r=(0,I.witnessStackToScriptWitness)(t.witness);this.data.updateInput(e,{finalScriptWitness:r})}else{const{finalScriptWitness:n}=r(e,A,t);this.data.updateInput(e,{finalScriptWitness:n})}return this.data.clearFinalizedInput(e),this}getInputType(e){const A=(0,o.checkForInput)(this.data.inputs,e),t=V(J(e,A,this.__CACHE),e,"input",A.redeemScript||function(e){if(!e)return;const A=E.decompile(e);if(!A)return;const t=A[A.length-1];if(!r.isBuffer(t)||z(t)||(n=t,E.isCanonicalScriptSignature(n)))return;var n;if(!E.decompile(t))return;return t}(A.finalScriptSig),A.witnessScript||function(e){if(!e)return;const A=H(e),t=A[A.length-1];if(z(t))return;if(!E.decompile(t))return;return t}(A.finalScriptWitness));return("raw"===t.type?"":t.type+"-")+W(t.meaningfulScript)}inputHasPubkey(e,A){return function(e,A,t,r){const n=J(t,A,r),{meaningfulScript:i}=V(n,t,"input",A.redeemScript,A.witnessScript);return(0,I.pubkeyInScript)(e,i)}(A,(0,o.checkForInput)(this.data.inputs,e),e,this.__CACHE)}inputHasHDKey(e,A){const t=(0,o.checkForInput)(this.data.inputs,e),r=y(A);return!!t.bip32Derivation&&t.bip32Derivation.some(r)}outputHasPubkey(e,A){return function(e,A,t,r){const n=r.__TX.outs[t].script,{meaningfulScript:i}=V(n,t,"output",A.redeemScript,A.witnessScript);return(0,I.pubkeyInScript)(e,i)}(A,(0,o.checkForOutput)(this.data.outputs,e),e,this.__CACHE)}outputHasHDKey(e,A){const t=(0,o.checkForOutput)(this.data.outputs,e),r=y(A);return!!t.bip32Derivation&&t.bip32Derivation.some(r)}validateSignaturesOfAllInputs(e){(0,o.checkForInput)(this.data.inputs,0);return q(this.data.inputs.length).map((A=>this.validateSignaturesOfInput(A,e))).reduce(((e,A)=>!0===A&&e),!0)}validateSignaturesOfInput(e,A,t){const r=this.data.inputs[e];return(0,B.isTaprootInput)(r)?this.validateSignaturesOfTaprootInput(e,A,t):this._validateSignaturesOfInput(e,A,t)}_validateSignaturesOfInput(e,A,t){const r=this.data.inputs[e],n=(r||{}).partialSig;if(!r||!n||n.length<1)throw new Error("No signatures to validate");if("function"!=typeof A)throw new Error("Need validator function to validate signatures");const i=t?n.filter((e=>e.pubkey.equals(t))):n;if(i.length<1)throw new Error("No signatures for this pubkey");const o=[];let s,a,g;for(const t of i){const n=E.signature.decode(t.signature),{hash:i,script:c}=g!==n.hashType?U(e,Object.assign({},r,{sighashType:n.hashType}),this.__CACHE,!0):{hash:s,script:a};g=n.hashType,s=i,a=c,v(t.pubkey,c,"verify"),o.push(A(t.pubkey,i,n.signature))}return o.every((e=>!0===e))}validateSignaturesOfTaprootInput(e,A,t){const r=this.data.inputs[e],n=(r||{}).tapKeySig,i=(r||{}).tapScriptSig;if(!r&&!n&&(!i||i.length))throw new Error("No signatures to validate");if("function"!=typeof A)throw new Error("Need validator function to validate signatures");const o=(t=t&&(0,B.toXOnly)(t))?L(e,r,this.data.inputs,t,this.__CACHE):function(e,A,t,r){const n=[];if(A.tapInternalKey){const t=D(e,A,r);t&&n.push(t)}if(A.tapScriptSig){const e=A.tapScriptSig.map((e=>e.pubkey));n.push(...e)}const i=n.map((n=>L(e,A,t,n,r)));return i.flat()}(e,r,this.data.inputs,this.__CACHE);if(!o.length)throw new Error("No signatures for this pubkey");const s=o.find((e=>!e.leafHash));let a=0;if(n&&s){if(!A(s.pubkey,s.hash,F(n)))return!1;a++}if(i)for(const e of i){const t=o.find((A=>e.pubkey.equals(A.pubkey)));if(t){if(!A(e.pubkey,t.hash,F(e.signature)))return!1;a++}}return a>0}signAllInputsHD(e,A=[f.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey||!e.fingerprint)throw new Error("Need HDSigner to sign input");const t=[];for(const r of q(this.data.inputs.length))try{this.signInputHD(r,e,A),t.push(!0)}catch(e){t.push(!1)}if(t.every((e=>!1===e)))throw new Error("No inputs were signed");return this}signAllInputsHDAsync(e,A=[f.Transaction.SIGHASH_ALL]){return new Promise(((t,r)=>{if(!e||!e.publicKey||!e.fingerprint)return r(new Error("Need HDSigner to sign input"));const n=[],i=[];for(const t of q(this.data.inputs.length))i.push(this.signInputHDAsync(t,e,A).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(i).then((()=>{if(n.every((e=>!1===e)))return r(new Error("No inputs were signed"));t()}))}))}signInputHD(e,A,t=[f.Transaction.SIGHASH_ALL]){if(!A||!A.publicKey||!A.fingerprint)throw new Error("Need HDSigner to sign input");return M(e,this.data.inputs,A).forEach((A=>this.signInput(e,A,t))),this}signInputHDAsync(e,A,t=[f.Transaction.SIGHASH_ALL]){return new Promise(((r,n)=>{if(!A||!A.publicKey||!A.fingerprint)return n(new Error("Need HDSigner to sign input"));const i=M(e,this.data.inputs,A).map((A=>this.signInputAsync(e,A,t)));return Promise.all(i).then((()=>{r()})).catch(n)}))}signAllInputs(e,A){if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const t=[];for(const r of q(this.data.inputs.length))try{this.signInput(r,e,A),t.push(!0)}catch(e){t.push(!1)}if(t.every((e=>!1===e)))throw new Error("No inputs were signed");return this}signAllInputsAsync(e,A){return new Promise(((t,r)=>{if(!e||!e.publicKey)return r(new Error("Need Signer to sign input"));const n=[],i=[];for(const[t]of this.data.inputs.entries())i.push(this.signInputAsync(t,e,A).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(i).then((()=>{if(n.every((e=>!1===e)))return r(new Error("No inputs were signed"));t()}))}))}signInput(e,A,t){if(!A||!A.publicKey)throw new Error("Need Signer to sign input");const r=(0,o.checkForInput)(this.data.inputs,e);return(0,B.isTaprootInput)(r)?this._signTaprootInput(e,r,A,void 0,t):this._signInput(e,A,t)}signTaprootInput(e,A,t,r){if(!A||!A.publicKey)throw new Error("Need Signer to sign input");const n=(0,o.checkForInput)(this.data.inputs,e);if((0,B.isTaprootInput)(n))return this._signTaprootInput(e,n,A,t,r);throw new Error(`Input #${e} is not of type Taproot.`)}_signInput(e,A,t=[f.Transaction.SIGHASH_ALL]){const{hash:r,sighashType:n}=O(this.data.inputs,e,A.publicKey,this.__CACHE,t),i=[{pubkey:A.publicKey,signature:E.signature.encode(A.sign(r),n)}];return this.data.updateInput(e,{partialSig:i}),this}_signTaprootInput(e,A,t,r,n=[f.Transaction.SIGHASH_DEFAULT]){const i=this.checkTaprootHashesForSig(e,A,t,r,n),o=i.filter((e=>!e.leafHash)).map((e=>(0,B.serializeTaprootSignature)(t.signSchnorr(e.hash),A.sighashType)))[0],s=i.filter((e=>!!e.leafHash)).map((e=>({pubkey:(0,B.toXOnly)(t.publicKey),signature:(0,B.serializeTaprootSignature)(t.signSchnorr(e.hash),A.sighashType),leafHash:e.leafHash})));return o&&this.data.updateInput(e,{tapKeySig:o}),s.length&&this.data.updateInput(e,{tapScriptSig:s}),this}signInputAsync(e,A,t){return Promise.resolve().then((()=>{if(!A||!A.publicKey)throw new Error("Need Signer to sign input");const r=(0,o.checkForInput)(this.data.inputs,e);return(0,B.isTaprootInput)(r)?this._signTaprootInputAsync(e,r,A,void 0,t):this._signInputAsync(e,A,t)}))}signTaprootInputAsync(e,A,t,r){return Promise.resolve().then((()=>{if(!A||!A.publicKey)throw new Error("Need Signer to sign input");const n=(0,o.checkForInput)(this.data.inputs,e);if((0,B.isTaprootInput)(n))return this._signTaprootInputAsync(e,n,A,t,r);throw new Error(`Input #${e} is not of type Taproot.`)}))}_signInputAsync(e,A,t=[f.Transaction.SIGHASH_ALL]){const{hash:r,sighashType:n}=O(this.data.inputs,e,A.publicKey,this.__CACHE,t);return Promise.resolve(A.sign(r)).then((t=>{const r=[{pubkey:A.publicKey,signature:E.signature.encode(t,n)}];this.data.updateInput(e,{partialSig:r})}))}async _signTaprootInputAsync(e,A,t,r,n=[f.Transaction.SIGHASH_DEFAULT]){const i=this.checkTaprootHashesForSig(e,A,t,r,n),o=[],s=i.filter((e=>!e.leafHash))[0];if(s){const e=Promise.resolve(t.signSchnorr(s.hash)).then((e=>({tapKeySig:(0,B.serializeTaprootSignature)(e,A.sighashType)})));o.push(e)}const a=i.filter((e=>!!e.leafHash));if(a.length){const e=a.map((e=>Promise.resolve(t.signSchnorr(e.hash)).then((r=>({tapScriptSig:[{pubkey:(0,B.toXOnly)(t.publicKey),signature:(0,B.serializeTaprootSignature)(r,A.sighashType),leafHash:e.leafHash}]})))));o.push(...e)}return Promise.all(o).then((A=>{A.forEach((A=>this.data.updateInput(e,A)))}))}checkTaprootHashesForSig(e,A,t,r,n){if("function"!=typeof t.signSchnorr)throw new Error(`Need Schnorr Signer to sign taproot input #${e}.`);const i=L(e,A,this.data.inputs,t.publicKey,this.__CACHE,r,n);if(!i||!i.length)throw new Error(`Can not sign for input #${e} with the key ${t.publicKey.toString("hex")}`);return i}toBuffer(){return d(this.__CACHE),this.data.toBuffer()}toHex(){return d(this.__CACHE),this.data.toHex()}toBase64(){return d(this.__CACHE),this.data.toBase64()}updateGlobal(e){return this.data.updateGlobal(e),this}updateInput(e,A){return A.witnessScript&&X(A.witnessScript),(0,B.checkTaprootInputFields)(this.data.inputs[e],A,"updateInput"),this.data.updateInput(e,A),A.nonWitnessUtxo&&K(this.__CACHE,this.data.inputs[e],e),this}updateOutput(e,A){const t=this.data.outputs[e];return(0,B.checkTaprootOutputFields)(t,A,"updateOutput"),this.data.updateOutput(e,A),this}addUnknownKeyValToGlobal(e){return this.data.addUnknownKeyValToGlobal(e),this}addUnknownKeyValToInput(e,A){return this.data.addUnknownKeyValToInput(e,A),this}addUnknownKeyValToOutput(e,A){return this.data.addUnknownKeyValToOutput(e,A),this}clearFinalizedInput(e){return this.data.clearFinalizedInput(e),this}}A.Psbt=Q;const h=e=>new l(e);class l{constructor(e=r.from([2,0,0,0,0,0,0,0,0,0])){this.tx=f.Transaction.fromBuffer(e),function(e){if(!e.ins.every((e=>e.script&&0===e.script.length&&e.witness&&0===e.witness.length)))throw new Error("Format Error: Transaction ScriptSigs are not empty")}(this.tx),Object.defineProperty(this,"tx",{enumerable:!1,writable:!0})}getInputOutputCounts(){return{inputCount:this.tx.ins.length,outputCount:this.tx.outs.length}}addInput(e){if(void 0===e.hash||void 0===e.index||!r.isBuffer(e.hash)&&"string"!=typeof e.hash||"number"!=typeof e.index)throw new Error("Error adding input.");const A="string"==typeof e.hash?(0,a.reverseBuffer)(r.from(e.hash,"hex")):e.hash;this.tx.addInput(A,e.index,e.sequence)}addOutput(e){if(void 0===e.script||void 0===e.value||!r.isBuffer(e.script)||"number"!=typeof e.value)throw new Error("Error adding output.");this.tx.addOutput(e.script,e.value)}toBuffer(){return this.tx.toBuffer()}}function d(e){if(!1!==e.__UNSAFE_SIGN_NONSEGWIT)throw new Error("Not BIP174 compliant, can not export")}function p(e,A,t){if(!A)return!1;let r;if(r=t?t.map((e=>{const t=function(e){if(65===e.length){const A=1&e[64],t=e.slice(0,33);return t[0]=2|A,t}return e.slice()}(e);return A.find((e=>e.pubkey.equals(t)))})).filter((e=>!!e)):A,r.length>e)throw new Error("Too many signatures");return r.length===e}function w(e){return!!e.finalScriptSig||!!e.finalScriptWitness}function y(e){return A=>!!A.masterFingerprint.equals(e.fingerprint)&&!!e.derivePath(A.path).publicKey.equals(A.pubkey)}function b(e){if("number"!=typeof e||e!==Math.floor(e)||e>4294967295||e<0)throw new Error("Invalid 32 bit integer")}function m(e,A){e.forEach((e=>{if((0,B.isTaprootInput)(e)?(0,B.checkTaprootInputForSigs)(e,A):(0,I.checkInputForSig)(e,A))throw new Error("Can not modify transaction, signatures exist.")}))}function v(e,A,t){if(!(0,I.pubkeyInScript)(e,A))throw new Error(`Can not ${t} for this input with the key ${e.toString("hex")}`)}function S(e,A){const t=(0,a.reverseBuffer)(r.from(A.hash)).toString("hex")+":"+A.index;if(e.__TX_IN_CACHE[t])throw new Error("Duplicate input detected.");e.__TX_IN_CACHE[t]=1}function k(e,A){return(t,r,n,i)=>{const o=e({redeem:{output:n}}).output;if(!r.equals(o))throw new Error(`${A} for ${i} #${t} doesn\'t match the scriptPubKey in the prevout`)}}const T=k(c.p2sh,"Redeem script"),P=k(c.p2wsh,"Witness script");function x(e,A,t,r){if(!t.every(w))throw new Error(`PSBT must be finalized to calculate ${A}`);if("__FEE_RATE"===e&&r.__FEE_RATE)return r.__FEE_RATE;if("__FEE"===e&&r.__FEE)return r.__FEE;let n,i=!0;return r.__EXTRACTED_TX?(n=r.__EXTRACTED_TX,i=!1):n=r.__TX.clone(),G(t,n,r,i),"__FEE_RATE"===e?r.__FEE_RATE:"__FEE"===e?r.__FEE:void 0}function R(e,A,t,r,n,i){const o=W(t);if(!function(e,A,t){switch(t){case"pubkey":case"pubkeyhash":case"witnesspubkeyhash":return p(1,e.partialSig);case"multisig":const t=c.p2ms({output:A});return p(t.m,e.partialSig,t.pubkeys);default:return!1}}(A,t,o))throw new Error(`Can not finalize input #${e}`);return function(e,A,t,r,n,i){let o,s;const a=function(e,A,t){let r;switch(A){case"multisig":const A=function(e,A){const t=c.p2ms({output:e});return t.pubkeys.map((e=>(A.filter((A=>A.pubkey.equals(e)))[0]||{}).signature)).filter((e=>!!e))}(e,t);r=c.p2ms({output:e,signatures:A});break;case"pubkey":r=c.p2pk({output:e,signature:t[0].signature});break;case"pubkeyhash":r=c.p2pkh({output:e,pubkey:t[0].pubkey,signature:t[0].signature});break;case"witnesspubkeyhash":r=c.p2wpkh({output:e,pubkey:t[0].pubkey,signature:t[0].signature})}return r}(e,A,t),g=i?c.p2wsh({redeem:a}):null,u=n?c.p2sh({redeem:g||a}):null;r?(s=g?(0,I.witnessStackToScriptWitness)(g.witness):(0,I.witnessStackToScriptWitness)(a.witness),u&&(o=u.input)):o=u?u.input:a.input;return{finalScriptSig:o,finalScriptWitness:s}}(t,o,A.partialSig,r,n,i)}function O(e,A,t,r,n){const i=(0,o.checkForInput)(e,A),{hash:s,sighashType:a,script:g}=U(A,i,r,!1,n);return v(t,g,"sign"),{hash:s,sighashType:a}}function U(e,A,t,r,n){const i=t.__TX,o=A.sighashType||f.Transaction.SIGHASH_ALL;let s,a;if(N(o,n),A.nonWitnessUtxo){const r=j(t,A,e),n=i.ins[e].hash,o=r.getHash();if(!n.equals(o))throw new Error(`Non-witness UTXO hash for input #${e} doesn\'t match the hash specified in the prevout`);const s=i.ins[e].index;a=r.outs[s]}else{if(!A.witnessUtxo)throw new Error("Need a Utxo input item for signing");a=A.witnessUtxo}const{meaningfulScript:g,type:u}=V(a.script,e,"input",A.redeemScript,A.witnessScript);if(["p2sh-p2wsh","p2wsh"].indexOf(u)>=0)s=i.hashForWitnessV0(e,g,a.value,o);else if((0,I.isP2WPKH)(g)){const A=c.p2pkh({hash:g.slice(2)}).output;s=i.hashForWitnessV0(e,A,a.value,o)}else{if(void 0===A.nonWitnessUtxo&&!1===t.__UNSAFE_SIGN_NONSEGWIT)throw new Error(`Input #${e} has witnessUtxo but non-segwit script: ${g.toString("hex")}`);r||!1===t.__UNSAFE_SIGN_NONSEGWIT||console.warn("Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as Psbt\'s predecesor (TransactionBuilder - now removed) when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.\\n*********************\\nPROCEED WITH CAUTION!\\n*********************"),s=i.hashForSignature(e,g,o)}return{script:g,sighashType:o,hash:s}}function D(e,A,t){const{script:r}=Y(e,A,t);return(0,I.isP2TR)(r)?r.subarray(2,34):null}function F(e){return 64===e.length?e:e.subarray(0,64)}function L(e,A,t,n,i,o,s){const a=i.__TX,g=A.sighashType||f.Transaction.SIGHASH_DEFAULT;N(g,s);const c=t.map(((e,A)=>Y(A,e,i))),E=c.map((e=>e.script)),C=c.map((e=>e.value)),Q=[];if(A.tapInternalKey&&!o){const t=D(e,A,i)||r.from([]);if((0,B.toXOnly)(n).equals(t)){const A=a.hashForWitnessV1(e,E,C,g);Q.push({pubkey:n,hash:A})}}const h=(A.tapLeafScript||[]).filter((e=>(0,I.pubkeyInScript)(n,e.script))).map((e=>{const A=(0,u.tapleafHash)({output:e.script,version:e.leafVersion});return Object.assign({hash:A},e)})).filter((e=>!o||o.equals(e.hash))).map((A=>{const t=a.hashForWitnessV1(e,E,C,f.Transaction.SIGHASH_DEFAULT,A.hash);return{pubkey:n,hash:t,leafHash:A.hash}}));return Q.concat(h)}function N(e,A){if(A&&A.indexOf(e)<0){const A=function(e){let A=e&f.Transaction.SIGHASH_ANYONECANPAY?"SIGHASH_ANYONECANPAY | ":"";switch(31&e){case f.Transaction.SIGHASH_ALL:A+="SIGHASH_ALL";break;case f.Transaction.SIGHASH_SINGLE:A+="SIGHASH_SINGLE";break;case f.Transaction.SIGHASH_NONE:A+="SIGHASH_NONE"}return A}(e);throw new Error(`Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${A}`)}}function M(e,A,t){const r=(0,o.checkForInput)(A,e);if(!r.bip32Derivation||0===r.bip32Derivation.length)throw new Error("Need bip32Derivation to sign with HD");const n=r.bip32Derivation.map((e=>e.masterFingerprint.equals(t.fingerprint)?e:void 0)).filter((e=>!!e));if(0===n.length)throw new Error("Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint");return n.map((e=>{const A=t.derivePath(e.path);if(!e.pubkey.equals(A.publicKey))throw new Error("pubkey did not match bip32Derivation");return A}))}function H(e){let A=0;function t(){const t=i.decode(e,A);return A+=i.decode.bytes,t}function r(){return r=t(),A+=r,e.slice(A-r,A);var r}return function(){const e=t(),A=[];for(let t=0;t<e;t++)A.push(r());return A}()}function K(e,A,t){e.__NON_WITNESS_UTXO_BUF_CACHE[t]=A.nonWitnessUtxo;const r=f.Transaction.fromBuffer(A.nonWitnessUtxo);e.__NON_WITNESS_UTXO_TX_CACHE[t]=r;const n=e,i=t;delete A.nonWitnessUtxo,Object.defineProperty(A,"nonWitnessUtxo",{enumerable:!0,get(){const e=n.__NON_WITNESS_UTXO_BUF_CACHE[i],A=n.__NON_WITNESS_UTXO_TX_CACHE[i];if(void 0!==e)return e;{const e=A.toBuffer();return n.__NON_WITNESS_UTXO_BUF_CACHE[i]=e,e}},set(e){n.__NON_WITNESS_UTXO_BUF_CACHE[i]=e}})}function G(e,A,t,r){let n=0;e.forEach(((e,i)=>{if(r&&e.finalScriptSig&&(A.ins[i].script=e.finalScriptSig),r&&e.finalScriptWitness&&(A.ins[i].witness=H(e.finalScriptWitness)),e.witnessUtxo)n+=e.witnessUtxo.value;else if(e.nonWitnessUtxo){const r=j(t,e,i),o=A.ins[i].index,s=r.outs[o];n+=s.value}}));const i=A.outs.reduce(((e,A)=>e+A.value),0),o=n-i;if(o<0)throw new Error("Outputs are spending more than Inputs");const s=A.virtualSize();t.__FEE=o,t.__EXTRACTED_TX=A,t.__FEE_RATE=Math.floor(o/s)}function j(e,A,t){const r=e.__NON_WITNESS_UTXO_TX_CACHE;return r[t]||K(e,A,t),r[t]}function J(e,A,t){const{script:r}=Y(e,A,t);return r}function Y(e,A,t){if(void 0!==A.witnessUtxo)return{script:A.witnessUtxo.script,value:A.witnessUtxo.value};if(void 0!==A.nonWitnessUtxo){const r=j(t,A,e).outs[t.__TX.ins[e].index];return{script:r.script,value:r.value}}throw new Error("Can\'t find pubkey in input without Utxo data")}function z(e){return 33===e.length&&E.isCanonicalPubKey(e)}function V(e,A,t,r,n){const i=(0,I.isP2SHScript)(e),o=i&&r&&(0,I.isP2WSHScript)(r),s=(0,I.isP2WSHScript)(e);if(i&&void 0===r)throw new Error("scriptPubkey is P2SH but redeemScript missing");if((s||o)&&void 0===n)throw new Error("scriptPubkey or redeemScript is P2WSH but witnessScript missing");let a;return o?(a=n,T(A,e,r,t),P(A,r,n,t),X(a)):s?(a=n,P(A,e,n,t),X(a)):i?(a=r,T(A,e,r,t)):a=e,{meaningfulScript:a,type:o?"p2sh-p2wsh":i?"p2sh":s?"p2wsh":"raw"}}function X(e){if((0,I.isP2WPKH)(e)||(0,I.isP2SHScript)(e))throw new Error("P2WPKH or P2SH can not be contained within P2WSH")}function W(e){return(0,I.isP2WPKH)(e)?"witnesspubkeyhash":(0,I.isP2PKH)(e)?"pubkeyhash":(0,I.isP2MS)(e)?"multisig":(0,I.isP2PK)(e)?"pubkey":"nonstandard"}function q(e){return[...Array(e).keys()]}},6412:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.checkTaprootInputForSigs=A.tapTreeFromList=A.tapTreeToList=A.tweakInternalPubKey=A.checkTaprootOutputFields=A.checkTaprootInputFields=A.isTaprootOutput=A.isTaprootInput=A.serializeTaprootSignature=A.tapScriptFinalizer=A.toXOnly=void 0;const n=t(5593),i=t(5444),o=t(8990),s=t(5247),a=t(8614),g=t(8990);function c(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,o.isP2TR)(e.witnessUtxo.script))}function u(e,A){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||A&&(0,o.isP2TR)(A))}function E(e=[]){return 1===e.length&&0===e[0].depth?{output:e[0].script,version:e[0].leafVersion}:function(e){let A;for(const t of e)if(A=I(t,A),!A)throw new Error("No room left to insert tapleaf in tree");return A}(e)}function f(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||i.Transaction.SIGHASH_DEFAULT}}function B(e,A=[],t=0){if(t>s.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,n.isTapleaf)(e)?(A.push({depth:t,leafVersion:e.version||s.LEAF_VERSION_TAPSCRIPT,script:e.output}),A):(e[0]&&B(e[0],A,t+1),e[1]&&B(e[1],A,t+1),A):[]}function I(e,A,t=0){if(t>s.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(e.depth===t)return A?void 0:{output:e.script,version:e.leafVersion};if((0,n.isTapleaf)(A))return;const r=I(e,A&&A[0],t+1);if(r)return[r,A&&A[1]];const i=I(e,A&&A[1],t+1);return i?[A&&A[0],i]:void 0}function C(e,A){if(!A)return!0;const t=(0,s.tapleafHash)({output:e.script,version:e.leafVersion});return(0,s.rootHashFromPath)(e.controlBlock,t).equals(A)}function Q(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}A.toXOnly=e=>32===e.length?e:e.slice(1,33),A.tapScriptFinalizer=function(e,A,t){const r=function(e,A,t){if(!e.tapScriptSig||!e.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${A}. No tapleaf script signature provided.`);const r=(e.tapLeafScript||[]).sort(((e,A)=>e.controlBlock.length-A.controlBlock.length)).find((A=>function(e,A,t){const r=(0,s.tapleafHash)({output:e.script,version:e.leafVersion});return(!t||t.equals(r))&&void 0!==A.find((e=>e.leafHash.equals(r)))}(A,e.tapScriptSig,t)));if(!r)throw new Error(`Can not finalize taproot input #${A}. Signature for tapleaf script not found.`);return r}(A,e,t);try{const e=function(e,A){const t=(0,s.tapleafHash)({output:A.script,version:A.leafVersion});return(e.tapScriptSig||[]).filter((e=>e.leafHash.equals(t))).map((e=>function(e,A){return Object.assign({positionInScript:(0,o.pubkeyPositionInScript)(A.pubkey,e)},A)}(A.script,e))).sort(((e,A)=>A.positionInScript-e.positionInScript)).map((e=>e.signature))}(A,r),t=e.concat(r.script).concat(r.controlBlock);return{finalScriptWitness:(0,o.witnessStackToScriptWitness)(t)}}catch(A){throw new Error(`Can not finalize taproot input #${e}: ${A}`)}},A.serializeTaprootSignature=function(e,A){const t=A?r.from([A]):r.from([]);return r.concat([e,t])},A.isTaprootInput=c,A.isTaprootOutput=u,A.checkTaprootInputFields=function(e,A,t){!function(e,A,t){const r=c(e)&&Q(A),n=Q(e)&&c(A),i=e===A&&c(A)&&Q(A);if(r||n||i)throw new Error(`Invalid arguments for Psbt.${t}. Cannot use both taproot and non-taproot fields.`)}(e,A,t),function(e,A,t){if(A.tapMerkleRoot){const r=(A.tapLeafScript||[]).every((e=>C(e,A.tapMerkleRoot))),n=(e.tapLeafScript||[]).every((e=>C(e,A.tapMerkleRoot)));if(!r||!n)throw new Error(`Invalid arguments for Psbt.${t}. Tapleaf not part of taptree.`)}else if(e.tapMerkleRoot){if(!(A.tapLeafScript||[]).every((A=>C(A,e.tapMerkleRoot))))throw new Error(`Invalid arguments for Psbt.${t}. Tapleaf not part of taptree.`)}}(e,A,t)},A.checkTaprootOutputFields=function(e,A,t){!function(e,A,t){const r=u(e)&&Q(A),n=Q(e)&&u(A),i=e===A&&u(A)&&Q(A);if(r||n||i)throw new Error(`Invalid arguments for Psbt.${t}. Cannot use both taproot and non-taproot fields.`)}(e,A,t),function(e,A){if(!A.tapTree&&!A.tapInternalKey)return;const t=A.tapInternalKey||e.tapInternalKey,r=A.tapTree||e.tapTree;if(t){const{script:A}=e,n=function(e,A){const t=A&&E(A.leaves),{output:r}=(0,a.p2tr)({internalPubkey:e,scriptTree:t});return r}(t,r);if(A&&!A.equals(n))throw new Error("Error adding output. Script or address missmatch.")}}(e,A)},A.tweakInternalPubKey=function(e,A){const t=A.tapInternalKey,r=t&&(0,s.tweakKey)(t,A.tapMerkleRoot);if(!r)throw new Error(`Cannot tweak tap internal key for input #${e}. Public key: ${t&&t.toString("hex")}`);return r.x},A.tapTreeToList=function(e){if(!(0,n.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return B(e)},A.tapTreeFromList=E,A.checkTaprootInputForSigs=function(e,A){return function(e){const A=[];e.tapKeySig&&A.push(e.tapKeySig);e.tapScriptSig&&A.push(...e.tapScriptSig.map((e=>e.signature)));if(!A.length){const t=function(e){if(!e)return;const A=e.slice(2);if(64===A.length||65===A.length)return A}(e.finalScriptWitness);t&&A.push(t)}return A}(e).some((e=>(0,g.signatureBlocksAction)(e,f,A)))}},8990:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.signatureBlocksAction=A.checkInputForSig=A.pubkeyInScript=A.pubkeyPositionInScript=A.witnessStackToScriptWitness=A.isP2TR=A.isP2SHScript=A.isP2WSHScript=A.isP2WPKH=A.isP2PKH=A.isP2PK=A.isP2MS=void 0;const n=t(2715),i=t(4009),o=t(5444),s=t(6891),a=t(8614);function g(e){return A=>{try{return e({output:A}),!0}catch(e){return!1}}}function c(e,A){const t=(0,s.hash160)(e),r=e.slice(1,33),n=i.decompile(A);if(null===n)throw new Error("Unknown script error");return n.findIndex((A=>"number"!=typeof A&&(A.equals(e)||A.equals(t)||A.equals(r))))}function u(e,A,t){const{hashType:r}=A(e),n=[];r&o.Transaction.SIGHASH_ANYONECANPAY&&n.push("addInput");switch(31&r){case o.Transaction.SIGHASH_ALL:break;case o.Transaction.SIGHASH_SINGLE:case o.Transaction.SIGHASH_NONE:n.push("addOutput"),n.push("setInputSequence")}return-1===n.indexOf(t)}A.isP2MS=g(a.p2ms),A.isP2PK=g(a.p2pk),A.isP2PKH=g(a.p2pkh),A.isP2WPKH=g(a.p2wpkh),A.isP2WSHScript=g(a.p2wsh),A.isP2SHScript=g(a.p2sh),A.isP2TR=g(a.p2tr),A.witnessStackToScriptWitness=function(e){let A=r.allocUnsafe(0);function t(e){const t=A.length,i=n.encodingLength(e);A=r.concat([A,r.allocUnsafe(i)]),n.encode(e,A,t)}function i(e){t(e.length),function(e){A=r.concat([A,r.from(e)])}(e)}var o;return t((o=e).length),o.forEach(i),A},A.pubkeyPositionInScript=c,A.pubkeyInScript=function(e,A){return-1!==c(e,A)},A.checkInputForSig=function(e,A){return function(e){let A=[];if(0===(e.partialSig||[]).length){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];A=function(e){const A=e.finalScriptSig&&i.decompile(e.finalScriptSig)||[],t=e.finalScriptWitness&&i.decompile(e.finalScriptWitness)||[];return A.concat(t).filter((e=>r.isBuffer(e)&&i.isCanonicalScriptSignature(e))).map((e=>({signature:e})))}(e)}else A=e.partialSig;return A.map((e=>e.signature))}(e).some((e=>u(e,i.signature.decode,A)))},A.signatureBlocksAction=u},1213:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.decode=A.encode=A.encodingLength=void 0;const r=t(8156);function n(e){return e<r.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}A.encodingLength=n,A.encode=function(e,A,t){const i=n(A);return 1===i?e.writeUInt8(A,t):2===i?(e.writeUInt8(r.OPS.OP_PUSHDATA1,t),e.writeUInt8(A,t+1)):3===i?(e.writeUInt8(r.OPS.OP_PUSHDATA2,t),e.writeUInt16LE(A,t+1)):(e.writeUInt8(r.OPS.OP_PUSHDATA4,t),e.writeUInt32LE(A,t+1)),i},A.decode=function(e,A){const t=e.readUInt8(A);let n,i;if(t<r.OPS.OP_PUSHDATA1)n=t,i=1;else if(t===r.OPS.OP_PUSHDATA1){if(A+2>e.length)return null;n=e.readUInt8(A+1),i=2}else if(t===r.OPS.OP_PUSHDATA2){if(A+3>e.length)return null;n=e.readUInt16LE(A+1),i=3}else{if(A+5>e.length)return null;if(t!==r.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(A+1),i=5}return{opcode:t,number:n,size:i}}},4009:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.signature=A.number=A.isCanonicalScriptSignature=A.isDefinedHashType=A.isCanonicalPubKey=A.toStack=A.fromASM=A.toASM=A.decompile=A.compile=A.countNonPushOnlyOPs=A.isPushOnly=A.OPS=void 0;const n=t(195),i=t(8156);Object.defineProperty(A,"OPS",{enumerable:!0,get:function(){return i.OPS}});const o=t(1213),s=t(5333),a=t(1108),g=t(5593),{typeforce:c}=g,u=i.OPS.OP_RESERVED;function E(e){return g.Buffer(e)||function(e){return g.Number(e)&&(e===i.OPS.OP_0||e>=i.OPS.OP_1&&e<=i.OPS.OP_16||e===i.OPS.OP_1NEGATE)}(e)}function f(e){return g.Array(e)&&e.every(E)}function B(e){return 0===e.length?i.OPS.OP_0:1===e.length?e[0]>=1&&e[0]<=16?u+e[0]:129===e[0]?i.OPS.OP_1NEGATE:void 0:void 0}function I(e){return r.isBuffer(e)}function C(e){return r.isBuffer(e)}function Q(e){if(I(e))return e;c(g.Array,e);const A=e.reduce(((e,A)=>C(A)?1===A.length&&void 0!==B(A)?e+1:e+o.encodingLength(A.length)+A.length:e+1),0),t=r.allocUnsafe(A);let n=0;if(e.forEach((e=>{if(C(e)){const A=B(e);if(void 0!==A)return t.writeUInt8(A,n),void(n+=1);n+=o.encode(t,e.length,n),e.copy(t,n),n+=e.length}else t.writeUInt8(e,n),n+=1})),n!==t.length)throw new Error("Could not decode chunks");return t}function h(e){if(A=e,g.Array(A))return e;var A;c(g.Buffer,e);const t=[];let r=0;for(;r<e.length;){const A=e[r];if(A>i.OPS.OP_0&&A<=i.OPS.OP_PUSHDATA4){const A=o.decode(e,r);if(null===A)return null;if(r+=A.size,r+A.number>e.length)return null;const n=e.slice(r,r+A.number);r+=A.number;const i=B(n);void 0!==i?t.push(i):t.push(n)}else t.push(A),r+=1}return t}function l(e){const A=-129&e;return A>0&&A<4}A.isPushOnly=f,A.countNonPushOnlyOPs=function(e){return e.length-e.filter(E).length},A.compile=Q,A.decompile=h,A.toASM=function(e){return I(e)&&(e=h(e)),e.map((e=>{if(C(e)){const A=B(e);if(void 0===A)return e.toString("hex");e=A}return i.REVERSE_OPS[e]})).join(" ")},A.fromASM=function(e){return c(g.String,e),Q(e.split(" ").map((e=>void 0!==i.OPS[e]?i.OPS[e]:(c(g.Hex,e),r.from(e,"hex")))))},A.toStack=function(e){return e=h(e),c(f,e),e.map((e=>C(e)?e:e===i.OPS.OP_0?r.allocUnsafe(0):s.encode(e-u)))},A.isCanonicalPubKey=function(e){return g.isPoint(e)},A.isDefinedHashType=l,A.isCanonicalScriptSignature=function(e){return!!r.isBuffer(e)&&(!!l(e[e.length-1])&&n.check(e.slice(0,-1)))},A.number=s,A.signature=a},5333:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.encode=A.decode=void 0,A.decode=function(e,A,t){A=A||4,t=void 0===t||t;const r=e.length;if(0===r)return 0;if(r>A)throw new TypeError("Script number overflow");if(t&&0==(127&e[r-1])&&(r<=1||0==(128&e[r-2])))throw new Error("Non-minimally encoded script number");if(5===r){const A=e.readUInt32LE(0),t=e.readUInt8(4);return 128&t?-(4294967296*(-129&t)+A):4294967296*t+A}let n=0;for(let A=0;A<r;++A)n|=e[A]<<8*A;return 128&e[r-1]?-(n&~(128<<8*(r-1))):n},A.encode=function(e){let A=Math.abs(e);const t=function(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}(A),n=r.allocUnsafe(t),i=e<0;for(let e=0;e<t;++e)n.writeUInt8(255&A,e),A>>=8;return 128&n[t-1]?n.writeUInt8(i?128:0,t-1):i&&(n[t-1]|=128),n}},1108:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.encode=A.decode=void 0;const n=t(195),i=t(5593),{typeforce:o}=i,s=r.alloc(1,0);function a(e){let A=0;for(;0===e[A];)++A;return A===e.length?s:128&(e=e.slice(A))[0]?r.concat([s,e],1+e.length):e}function g(e){0===e[0]&&(e=e.slice(1));const A=r.alloc(32,0),t=Math.max(0,32-e.length);return e.copy(A,t),A}A.decode=function(e){const A=e.readUInt8(e.length-1),t=-129&A;if(t<=0||t>=4)throw new Error("Invalid hashType "+A);const i=n.decode(e.slice(0,-1)),o=g(i.r),s=g(i.s);return{signature:r.concat([o,s],64),hashType:A}},A.encode=function(e,A){o({signature:i.BufferN(64),hashType:i.UInt8},{signature:e,hashType:A});const t=-129&A;if(t<=0||t>=4)throw new Error("Invalid hashType "+A);const s=r.allocUnsafe(1);s.writeUInt8(A,0);const g=a(e.slice(0,32)),c=a(e.slice(32,64));return r.concat([n.encode(g,c),s])}},5444:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.Transaction=void 0;const n=t(3831),i=t(6891),o=t(4009),s=t(4009),a=t(5593),{typeforce:g}=a;function c(e){const A=e.length;return n.varuint.encodingLength(A)+A}const u=r.allocUnsafe(0),E=[],f=r.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),B=r.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),I=r.from("ffffffffffffffff","hex"),C={script:u,valueBuffer:I};class Q{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(e,A){const t=new n.BufferReader(e),r=new Q;r.version=t.readInt32();const i=t.readUInt8(),o=t.readUInt8();let s=!1;i===Q.ADVANCED_TRANSACTION_MARKER&&o===Q.ADVANCED_TRANSACTION_FLAG?s=!0:t.offset-=2;const a=t.readVarInt();for(let e=0;e<a;++e)r.ins.push({hash:t.readSlice(32),index:t.readUInt32(),script:t.readVarSlice(),sequence:t.readUInt32(),witness:E});const g=t.readVarInt();for(let e=0;e<g;++e)r.outs.push({value:t.readUInt64(),script:t.readVarSlice()});if(s){for(let e=0;e<a;++e)r.ins[e].witness=t.readVector();if(!r.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(r.locktime=t.readUInt32(),A)return r;if(t.offset!==e.length)throw new Error("Transaction has unexpected data");return r}static fromHex(e){return Q.fromBuffer(r.from(e,"hex"),!1)}static isCoinbaseHash(e){g(a.Hash256bit,e);for(let A=0;A<32;++A)if(0!==e[A])return!1;return!0}isCoinbase(){return 1===this.ins.length&&Q.isCoinbaseHash(this.ins[0].hash)}addInput(e,A,t,r){return g(a.tuple(a.Hash256bit,a.UInt32,a.maybe(a.UInt32),a.maybe(a.Buffer)),arguments),a.Null(t)&&(t=Q.DEFAULT_SEQUENCE),this.ins.push({hash:e,index:A,script:r||u,sequence:t,witness:E})-1}addOutput(e,A){return g(a.tuple(a.Buffer,a.Satoshi),arguments),this.outs.push({script:e,value:A})-1}hasWitnesses(){return this.ins.some((e=>0!==e.witness.length))}weight(){return 3*this.byteLength(!1)+this.byteLength(!0)}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(e=!0){const A=e&&this.hasWitnesses();return(A?10:8)+n.varuint.encodingLength(this.ins.length)+n.varuint.encodingLength(this.outs.length)+this.ins.reduce(((e,A)=>e+40+c(A.script)),0)+this.outs.reduce(((e,A)=>e+8+c(A.script)),0)+(A?this.ins.reduce(((e,A)=>e+function(e){const A=e.length;return n.varuint.encodingLength(A)+e.reduce(((e,A)=>e+c(A)),0)}(A.witness)),0):0)}clone(){const e=new Q;return e.version=this.version,e.locktime=this.locktime,e.ins=this.ins.map((e=>({hash:e.hash,index:e.index,script:e.script,sequence:e.sequence,witness:e.witness}))),e.outs=this.outs.map((e=>({script:e.script,value:e.value}))),e}hashForSignature(e,A,t){if(g(a.tuple(a.UInt32,a.Buffer,a.Number),arguments),e>=this.ins.length)return B;const n=o.compile(o.decompile(A).filter((e=>e!==s.OPS.OP_CODESEPARATOR))),c=this.clone();if((31&t)===Q.SIGHASH_NONE)c.outs=[],c.ins.forEach(((A,t)=>{t!==e&&(A.sequence=0)}));else if((31&t)===Q.SIGHASH_SINGLE){if(e>=this.outs.length)return B;c.outs.length=e+1;for(let A=0;A<e;A++)c.outs[A]=C;c.ins.forEach(((A,t)=>{t!==e&&(A.sequence=0)}))}t&Q.SIGHASH_ANYONECANPAY?(c.ins=[c.ins[e]],c.ins[0].script=n):(c.ins.forEach((e=>{e.script=u})),c.ins[e].script=n);const E=r.allocUnsafe(c.byteLength(!1)+4);return E.writeInt32LE(t,E.length-4),c.__toBuffer(E,0,!1),i.hash256(E)}hashForWitnessV1(e,A,t,o,s,E){if(g(a.tuple(a.UInt32,g.arrayOf(a.Buffer),g.arrayOf(a.Satoshi),a.UInt32),arguments),t.length!==this.ins.length||A.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const f=o===Q.SIGHASH_DEFAULT?Q.SIGHASH_ALL:o&Q.SIGHASH_OUTPUT_MASK,B=(o&Q.SIGHASH_INPUT_MASK)===Q.SIGHASH_ANYONECANPAY,I=f===Q.SIGHASH_NONE,C=f===Q.SIGHASH_SINGLE;let h=u,l=u,d=u,p=u,w=u;if(!B){let e=n.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach((A=>{e.writeSlice(A.hash),e.writeUInt32(A.index)})),h=i.sha256(e.end()),e=n.BufferWriter.withCapacity(8*this.ins.length),t.forEach((A=>e.writeUInt64(A))),l=i.sha256(e.end()),e=n.BufferWriter.withCapacity(A.map(c).reduce(((e,A)=>e+A))),A.forEach((A=>e.writeVarSlice(A))),d=i.sha256(e.end()),e=n.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach((A=>e.writeUInt32(A.sequence))),p=i.sha256(e.end())}if(I||C){if(C&&e<this.outs.length){const A=this.outs[e],t=n.BufferWriter.withCapacity(8+c(A.script));t.writeUInt64(A.value),t.writeVarSlice(A.script),w=i.sha256(t.end())}}else{const e=this.outs.map((e=>8+c(e.script))).reduce(((e,A)=>e+A)),A=n.BufferWriter.withCapacity(e);this.outs.forEach((e=>{A.writeUInt64(e.value),A.writeVarSlice(e.script)})),w=i.sha256(A.end())}const y=(s?2:0)+(E?1:0),b=174-(B?49:0)-(I?32:0)+(E?32:0)+(s?37:0),m=n.BufferWriter.withCapacity(b);if(m.writeUInt8(o),m.writeInt32(this.version),m.writeUInt32(this.locktime),m.writeSlice(h),m.writeSlice(l),m.writeSlice(d),m.writeSlice(p),I||C||m.writeSlice(w),m.writeUInt8(y),B){const r=this.ins[e];m.writeSlice(r.hash),m.writeUInt32(r.index),m.writeUInt64(t[e]),m.writeVarSlice(A[e]),m.writeUInt32(r.sequence)}else m.writeUInt32(e);if(E){const e=n.BufferWriter.withCapacity(c(E));e.writeVarSlice(E),m.writeSlice(i.sha256(e.end()))}return C&&m.writeSlice(w),s&&(m.writeSlice(s),m.writeUInt8(0),m.writeUInt32(4294967295)),i.taggedHash("TapSighash",r.concat([r.from([0]),m.end()]))}hashForWitnessV0(e,A,t,o){g(a.tuple(a.UInt32,a.Buffer,a.Satoshi,a.UInt32),arguments);let s,u=r.from([]),E=f,B=f,I=f;if(o&Q.SIGHASH_ANYONECANPAY||(u=r.allocUnsafe(36*this.ins.length),s=new n.BufferWriter(u,0),this.ins.forEach((e=>{s.writeSlice(e.hash),s.writeUInt32(e.index)})),B=i.hash256(u)),o&Q.SIGHASH_ANYONECANPAY||(31&o)===Q.SIGHASH_SINGLE||(31&o)===Q.SIGHASH_NONE||(u=r.allocUnsafe(4*this.ins.length),s=new n.BufferWriter(u,0),this.ins.forEach((e=>{s.writeUInt32(e.sequence)})),I=i.hash256(u)),(31&o)!==Q.SIGHASH_SINGLE&&(31&o)!==Q.SIGHASH_NONE){const e=this.outs.reduce(((e,A)=>e+8+c(A.script)),0);u=r.allocUnsafe(e),s=new n.BufferWriter(u,0),this.outs.forEach((e=>{s.writeUInt64(e.value),s.writeVarSlice(e.script)})),E=i.hash256(u)}else if((31&o)===Q.SIGHASH_SINGLE&&e<this.outs.length){const A=this.outs[e];u=r.allocUnsafe(8+c(A.script)),s=new n.BufferWriter(u,0),s.writeUInt64(A.value),s.writeVarSlice(A.script),E=i.hash256(u)}u=r.allocUnsafe(156+c(A)),s=new n.BufferWriter(u,0);const C=this.ins[e];return s.writeInt32(this.version),s.writeSlice(B),s.writeSlice(I),s.writeSlice(C.hash),s.writeUInt32(C.index),s.writeVarSlice(A),s.writeUInt64(t),s.writeUInt32(C.sequence),s.writeSlice(E),s.writeUInt32(this.locktime),s.writeUInt32(o),i.hash256(u)}getHash(e){return e&&this.isCoinbase()?r.alloc(32,0):i.hash256(this.__toBuffer(void 0,void 0,e))}getId(){return(0,n.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(e,A){return this.__toBuffer(e,A,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(e,A){g(a.tuple(a.Number,a.Buffer),arguments),this.ins[e].script=A}setWitness(e,A){g(a.tuple(a.Number,[a.Buffer]),arguments),this.ins[e].witness=A}__toBuffer(e,A,t=!1){e||(e=r.allocUnsafe(this.byteLength(t)));const i=new n.BufferWriter(e,A||0);i.writeInt32(this.version);const o=t&&this.hasWitnesses();return o&&(i.writeUInt8(Q.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(Q.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach((e=>{i.writeSlice(e.hash),i.writeUInt32(e.index),i.writeVarSlice(e.script),i.writeUInt32(e.sequence)})),i.writeVarInt(this.outs.length),this.outs.forEach((e=>{void 0!==e.value?i.writeUInt64(e.value):i.writeSlice(e.valueBuffer),i.writeVarSlice(e.script)})),o&&this.ins.forEach((e=>{i.writeVector(e.witness)})),i.writeUInt32(this.locktime),void 0!==A?e.slice(A,i.offset):e}}A.Transaction=Q,Q.DEFAULT_SEQUENCE=4294967295,Q.SIGHASH_DEFAULT=0,Q.SIGHASH_ALL=1,Q.SIGHASH_NONE=2,Q.SIGHASH_SINGLE=3,Q.SIGHASH_ANYONECANPAY=128,Q.SIGHASH_OUTPUT_MASK=3,Q.SIGHASH_INPUT_MASK=128,Q.ADVANCED_TRANSACTION_MARKER=0,Q.ADVANCED_TRANSACTION_FLAG=1},5593:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.oneOf=A.Null=A.BufferN=A.Function=A.UInt32=A.UInt8=A.tuple=A.maybe=A.Hex=A.Buffer=A.String=A.Boolean=A.Array=A.Number=A.Hash256bit=A.Hash160bit=A.Buffer256bit=A.isTaptree=A.isTapleaf=A.TAPLEAF_VERSION_MASK=A.Network=A.ECPoint=A.Satoshi=A.Signer=A.BIP32Path=A.UInt31=A.isPoint=A.typeforce=void 0;const r=t(1048);A.typeforce=t(973);const n=r.Buffer.alloc(32,0),i=r.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");A.isPoint=function(e){if(!r.Buffer.isBuffer(e))return!1;if(e.length<33)return!1;const A=e[0],t=e.slice(1,33);if(0===t.compare(n))return!1;if(t.compare(i)>=0)return!1;if((2===A||3===A)&&33===e.length)return!0;const o=e.slice(33);return 0!==o.compare(n)&&(!(o.compare(i)>=0)&&(4===A&&65===e.length))};const o=Math.pow(2,31)-1;function s(e){return A.typeforce.String(e)&&!!e.match(/^(m\\/)?(\\d+\'?\\/)*\\d+\'?$/)}A.UInt31=function(e){return A.typeforce.UInt32(e)&&e<=o},A.BIP32Path=s,s.toJSON=()=>"BIP32 derivation path",A.Signer=function(e){return(A.typeforce.Buffer(e.publicKey)||"function"==typeof e.getPublicKey)&&"function"==typeof e.sign};function a(e){return!(!e||!("output"in e))&&(!!r.Buffer.isBuffer(e.output)&&(void 0===e.version||(e.version&A.TAPLEAF_VERSION_MASK)===e.version))}A.Satoshi=function(e){return A.typeforce.UInt53(e)&&e<=21e14},A.ECPoint=A.typeforce.quacksLike("Point"),A.Network=A.typeforce.compile({messagePrefix:A.typeforce.oneOf(A.typeforce.Buffer,A.typeforce.String),bip32:{public:A.typeforce.UInt32,private:A.typeforce.UInt32},pubKeyHash:A.typeforce.UInt8,scriptHash:A.typeforce.UInt8,wif:A.typeforce.UInt8}),A.TAPLEAF_VERSION_MASK=254,A.isTapleaf=a,A.isTaptree=function e(t){return(0,A.Array)(t)?2===t.length&&t.every((A=>e(A))):a(t)},A.Buffer256bit=A.typeforce.BufferN(32),A.Hash160bit=A.typeforce.BufferN(20),A.Hash256bit=A.typeforce.BufferN(32),A.Number=A.typeforce.Number,A.Array=A.typeforce.Array,A.Boolean=A.typeforce.Boolean,A.String=A.typeforce.String,A.Buffer=A.typeforce.Buffer,A.Hex=A.typeforce.Hex,A.maybe=A.typeforce.maybe,A.tuple=A.typeforce.tuple,A.UInt8=A.typeforce.UInt8,A.UInt32=A.typeforce.UInt32,A.Function=A.typeforce.Function,A.BufferN=A.typeforce.BufferN,A.Null=A.typeforce.Null,A.oneOf=A.typeforce.oneOf},9216:(e,A,t)=>{var r=t(7403);e.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},7639:(e,A,t)=>{"use strict";var r=t(9216),n=t(5636).Buffer;e.exports=function(e){function A(A){var t=A.slice(0,-4),r=A.slice(-4),n=e(t);if(!(r[0]^n[0]|r[1]^n[1]|r[2]^n[2]|r[3]^n[3]))return t}return{encode:function(A){var t=e(A);return r.encode(n.concat([A,t],A.length+4))},decode:function(e){var t=A(r.decode(e));if(!t)throw new Error("Invalid checksum");return t},decodeUnsafe:function(e){var t=r.decodeUnsafe(e);if(t)return A(t)}}}},9848:(e,A,t)=>{"use strict";var r=t(3257),n=t(7639);e.exports=n((function(e){var A=r("sha256").update(e).digest();return r("sha256").update(A).digest()}))},1048:(e,A,t)=>{"use strict";const r=t(7991),n=t(9318),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;A.Buffer=a,A.SlowBuffer=function(e){+e!=e&&(e=0);return a.alloc(+e)},A.INSPECT_MAX_BYTES=50;const o=2147483647;function s(e){if(e>o)throw new RangeError(\'The value "\'+e+\'" is invalid for option "size"\');const A=new Uint8Array(e);return Object.setPrototypeOf(A,a.prototype),A}function a(e,A,t){if("number"==typeof e){if("string"==typeof A)throw new TypeError(\'The "string" argument must be of type string. Received type number\');return u(e)}return g(e,A,t)}function g(e,A,t){if("string"==typeof e)return function(e,A){"string"==typeof A&&""!==A||(A="utf8");if(!a.isEncoding(A))throw new TypeError("Unknown encoding: "+A);const t=0|I(e,A);let r=s(t);const n=r.write(e,A);n!==t&&(r=r.slice(0,n));return r}(e,A);if(ArrayBuffer.isView(e))return function(e){if(W(e,Uint8Array)){const A=new Uint8Array(e);return f(A.buffer,A.byteOffset,A.byteLength)}return E(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(W(e,ArrayBuffer)||e&&W(e.buffer,ArrayBuffer))return f(e,A,t);if("undefined"!=typeof SharedArrayBuffer&&(W(e,SharedArrayBuffer)||e&&W(e.buffer,SharedArrayBuffer)))return f(e,A,t);if("number"==typeof e)throw new TypeError(\'The "value" argument must not be of type number. Received type number\');const r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return a.from(r,A,t);const n=function(e){if(a.isBuffer(e)){const A=0|B(e.length),t=s(A);return 0===t.length||e.copy(t,0,0,A),t}if(void 0!==e.length)return"number"!=typeof e.length||q(e.length)?s(0):E(e);if("Buffer"===e.type&&Array.isArray(e.data))return E(e.data)}(e);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return a.from(e[Symbol.toPrimitive]("string"),A,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError(\'"size" argument must be of type number\');if(e<0)throw new RangeError(\'The value "\'+e+\'" is invalid for option "size"\')}function u(e){return c(e),s(e<0?0:0|B(e))}function E(e){const A=e.length<0?0:0|B(e.length),t=s(A);for(let r=0;r<A;r+=1)t[r]=255&e[r];return t}function f(e,A,t){if(A<0||e.byteLength<A)throw new RangeError(\'"offset" is outside of buffer bounds\');if(e.byteLength<A+(t||0))throw new RangeError(\'"length" is outside of buffer bounds\');let r;return r=void 0===A&&void 0===t?new Uint8Array(e):void 0===t?new Uint8Array(e,A):new Uint8Array(e,A,t),Object.setPrototypeOf(r,a.prototype),r}function B(e){if(e>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function I(e,A){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||W(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \'+typeof e);const t=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===t)return 0;let n=!1;for(;;)switch(A){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return V(e).length;default:if(n)return r?-1:z(e).length;A=(""+A).toLowerCase(),n=!0}}function C(e,A,t){let r=!1;if((void 0===A||A<0)&&(A=0),A>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if((t>>>=0)<=(A>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,A,t);case"utf8":case"utf-8":return v(this,A,t);case"ascii":return k(this,A,t);case"latin1":case"binary":return T(this,A,t);case"base64":return m(this,A,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,A,t);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Q(e,A,t){const r=e[A];e[A]=e[t],e[t]=r}function h(e,A,t,r,n){if(0===e.length)return-1;if("string"==typeof t?(r=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),q(t=+t)&&(t=n?0:e.length-1),t<0&&(t=e.length+t),t>=e.length){if(n)return-1;t=e.length-1}else if(t<0){if(!n)return-1;t=0}if("string"==typeof A&&(A=a.from(A,r)),a.isBuffer(A))return 0===A.length?-1:l(e,A,t,r,n);if("number"==typeof A)return A&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,A,t):Uint8Array.prototype.lastIndexOf.call(e,A,t):l(e,[A],t,r,n);throw new TypeError("val must be string, number or Buffer")}function l(e,A,t,r,n){let i,o=1,s=e.length,a=A.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||A.length<2)return-1;o=2,s/=2,a/=2,t/=2}function g(e,A){return 1===o?e[A]:e.readUInt16BE(A*o)}if(n){let r=-1;for(i=t;i<s;i++)if(g(e,i)===g(A,-1===r?0:i-r)){if(-1===r&&(r=i),i-r+1===a)return r*o}else-1!==r&&(i-=i-r),r=-1}else for(t+a>s&&(t=s-a),i=t;i>=0;i--){let t=!0;for(let r=0;r<a;r++)if(g(e,i+r)!==g(A,r)){t=!1;break}if(t)return i}return-1}function d(e,A,t,r){t=Number(t)||0;const n=e.length-t;r?(r=Number(r))>n&&(r=n):r=n;const i=A.length;let o;for(r>i/2&&(r=i/2),o=0;o<r;++o){const r=parseInt(A.substr(2*o,2),16);if(q(r))return o;e[t+o]=r}return o}function p(e,A,t,r){return X(z(A,e.length-t),e,t,r)}function w(e,A,t,r){return X(function(e){const A=[];for(let t=0;t<e.length;++t)A.push(255&e.charCodeAt(t));return A}(A),e,t,r)}function y(e,A,t,r){return X(V(A),e,t,r)}function b(e,A,t,r){return X(function(e,A){let t,r,n;const i=[];for(let o=0;o<e.length&&!((A-=2)<0);++o)t=e.charCodeAt(o),r=t>>8,n=t%256,i.push(n),i.push(r);return i}(A,e.length-t),e,t,r)}function m(e,A,t){return 0===A&&t===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(A,t))}function v(e,A,t){t=Math.min(e.length,t);const r=[];let n=A;for(;n<t;){const A=e[n];let i=null,o=A>239?4:A>223?3:A>191?2:1;if(n+o<=t){let t,r,s,a;switch(o){case 1:A<128&&(i=A);break;case 2:t=e[n+1],128==(192&t)&&(a=(31&A)<<6|63&t,a>127&&(i=a));break;case 3:t=e[n+1],r=e[n+2],128==(192&t)&&128==(192&r)&&(a=(15&A)<<12|(63&t)<<6|63&r,a>2047&&(a<55296||a>57343)&&(i=a));break;case 4:t=e[n+1],r=e[n+2],s=e[n+3],128==(192&t)&&128==(192&r)&&128==(192&s)&&(a=(15&A)<<18|(63&t)<<12|(63&r)<<6|63&s,a>65535&&a<1114112&&(i=a))}}null===i?(i=65533,o=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),n+=o}return function(e){const A=e.length;if(A<=S)return String.fromCharCode.apply(String,e);let t="",r=0;for(;r<A;)t+=String.fromCharCode.apply(String,e.slice(r,r+=S));return t}(r)}A.kMaxLength=o,a.TYPED_ARRAY_SUPPORT=function(){try{const e=new Uint8Array(1),A={foo:function(){return 42}};return Object.setPrototypeOf(A,Uint8Array.prototype),Object.setPrototypeOf(e,A),42===e.foo()}catch(e){return!1}}(),a.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),a.poolSize=8192,a.from=function(e,A,t){return g(e,A,t)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array),a.alloc=function(e,A,t){return function(e,A,t){return c(e),e<=0?s(e):void 0!==A?"string"==typeof t?s(e).fill(A,t):s(e).fill(A):s(e)}(e,A,t)},a.allocUnsafe=function(e){return u(e)},a.allocUnsafeSlow=function(e){return u(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,A){if(W(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),W(A,Uint8Array)&&(A=a.from(A,A.offset,A.byteLength)),!a.isBuffer(e)||!a.isBuffer(A))throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');if(e===A)return 0;let t=e.length,r=A.length;for(let n=0,i=Math.min(t,r);n<i;++n)if(e[n]!==A[n]){t=e[n],r=A[n];break}return t<r?-1:r<t?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,A){if(!Array.isArray(e))throw new TypeError(\'"list" argument must be an Array of Buffers\');if(0===e.length)return a.alloc(0);let t;if(void 0===A)for(A=0,t=0;t<e.length;++t)A+=e[t].length;const r=a.allocUnsafe(A);let n=0;for(t=0;t<e.length;++t){let A=e[t];if(W(A,Uint8Array))n+A.length>r.length?(a.isBuffer(A)||(A=a.from(A)),A.copy(r,n)):Uint8Array.prototype.set.call(r,A,n);else{if(!a.isBuffer(A))throw new TypeError(\'"list" argument must be an Array of Buffers\');A.copy(r,n)}n+=A.length}return r},a.byteLength=I,a.prototype._isBuffer=!0,a.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let A=0;A<e;A+=2)Q(this,A,A+1);return this},a.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let A=0;A<e;A+=4)Q(this,A,A+3),Q(this,A+1,A+2);return this},a.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let A=0;A<e;A+=8)Q(this,A,A+7),Q(this,A+1,A+6),Q(this,A+2,A+5),Q(this,A+3,A+4);return this},a.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?v(this,0,e):C.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){let e="";const t=A.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},i&&(a.prototype[i]=a.prototype.inspect),a.prototype.compare=function(e,A,t,r,n){if(W(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \'+typeof e);if(void 0===A&&(A=0),void 0===t&&(t=e?e.length:0),void 0===r&&(r=0),void 0===n&&(n=this.length),A<0||t>e.length||r<0||n>this.length)throw new RangeError("out of range index");if(r>=n&&A>=t)return 0;if(r>=n)return-1;if(A>=t)return 1;if(this===e)return 0;let i=(n>>>=0)-(r>>>=0),o=(t>>>=0)-(A>>>=0);const s=Math.min(i,o),g=this.slice(r,n),c=e.slice(A,t);for(let e=0;e<s;++e)if(g[e]!==c[e]){i=g[e],o=c[e];break}return i<o?-1:o<i?1:0},a.prototype.includes=function(e,A,t){return-1!==this.indexOf(e,A,t)},a.prototype.indexOf=function(e,A,t){return h(this,e,A,t,!0)},a.prototype.lastIndexOf=function(e,A,t){return h(this,e,A,t,!1)},a.prototype.write=function(e,A,t,r){if(void 0===A)r="utf8",t=this.length,A=0;else if(void 0===t&&"string"==typeof A)r=A,t=this.length,A=0;else{if(!isFinite(A))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");A>>>=0,isFinite(t)?(t>>>=0,void 0===r&&(r="utf8")):(r=t,t=void 0)}const n=this.length-A;if((void 0===t||t>n)&&(t=n),e.length>0&&(t<0||A<0)||A>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let i=!1;for(;;)switch(r){case"hex":return d(this,e,A,t);case"utf8":case"utf-8":return p(this,e,A,t);case"ascii":case"latin1":case"binary":return w(this,e,A,t);case"base64":return y(this,e,A,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,e,A,t);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function k(e,A,t){let r="";t=Math.min(e.length,t);for(let n=A;n<t;++n)r+=String.fromCharCode(127&e[n]);return r}function T(e,A,t){let r="";t=Math.min(e.length,t);for(let n=A;n<t;++n)r+=String.fromCharCode(e[n]);return r}function P(e,A,t){const r=e.length;(!A||A<0)&&(A=0),(!t||t<0||t>r)&&(t=r);let n="";for(let r=A;r<t;++r)n+=Z[e[r]];return n}function x(e,A,t){const r=e.slice(A,t);let n="";for(let e=0;e<r.length-1;e+=2)n+=String.fromCharCode(r[e]+256*r[e+1]);return n}function R(e,A,t){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+A>t)throw new RangeError("Trying to access beyond buffer length")}function O(e,A,t,r,n,i){if(!a.isBuffer(e))throw new TypeError(\'"buffer" argument must be a Buffer instance\');if(A>n||A<i)throw new RangeError(\'"value" argument is out of bounds\');if(t+r>e.length)throw new RangeError("Index out of range")}function U(e,A,t,r,n){G(A,r,n,e,t,7);let i=Number(A&BigInt(4294967295));e[t++]=i,i>>=8,e[t++]=i,i>>=8,e[t++]=i,i>>=8,e[t++]=i;let o=Number(A>>BigInt(32)&BigInt(4294967295));return e[t++]=o,o>>=8,e[t++]=o,o>>=8,e[t++]=o,o>>=8,e[t++]=o,t}function D(e,A,t,r,n){G(A,r,n,e,t,7);let i=Number(A&BigInt(4294967295));e[t+7]=i,i>>=8,e[t+6]=i,i>>=8,e[t+5]=i,i>>=8,e[t+4]=i;let o=Number(A>>BigInt(32)&BigInt(4294967295));return e[t+3]=o,o>>=8,e[t+2]=o,o>>=8,e[t+1]=o,o>>=8,e[t]=o,t+8}function F(e,A,t,r,n,i){if(t+r>e.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function L(e,A,t,r,i){return A=+A,t>>>=0,i||F(e,0,t,4),n.write(e,A,t,r,23,4),t+4}function N(e,A,t,r,i){return A=+A,t>>>=0,i||F(e,0,t,8),n.write(e,A,t,r,52,8),t+8}a.prototype.slice=function(e,A){const t=this.length;(e=~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),(A=void 0===A?t:~~A)<0?(A+=t)<0&&(A=0):A>t&&(A=t),A<e&&(A=e);const r=this.subarray(e,A);return Object.setPrototypeOf(r,a.prototype),r},a.prototype.readUintLE=a.prototype.readUIntLE=function(e,A,t){e>>>=0,A>>>=0,t||R(e,A,this.length);let r=this[e],n=1,i=0;for(;++i<A&&(n*=256);)r+=this[e+i]*n;return r},a.prototype.readUintBE=a.prototype.readUIntBE=function(e,A,t){e>>>=0,A>>>=0,t||R(e,A,this.length);let r=this[e+--A],n=1;for(;A>0&&(n*=256);)r+=this[e+--A]*n;return r},a.prototype.readUint8=a.prototype.readUInt8=function(e,A){return e>>>=0,A||R(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,A){return e>>>=0,A||R(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,A){return e>>>=0,A||R(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,A){return e>>>=0,A||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,A){return e>>>=0,A||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readBigUInt64LE=_((function(e){j(e>>>=0,"offset");const A=this[e],t=this[e+7];void 0!==A&&void 0!==t||J(e,this.length-8);const r=A+256*this[++e]+65536*this[++e]+this[++e]*2**24,n=this[++e]+256*this[++e]+65536*this[++e]+t*2**24;return BigInt(r)+(BigInt(n)<<BigInt(32))})),a.prototype.readBigUInt64BE=_((function(e){j(e>>>=0,"offset");const A=this[e],t=this[e+7];void 0!==A&&void 0!==t||J(e,this.length-8);const r=A*2**24+65536*this[++e]+256*this[++e]+this[++e],n=this[++e]*2**24+65536*this[++e]+256*this[++e]+t;return(BigInt(r)<<BigInt(32))+BigInt(n)})),a.prototype.readIntLE=function(e,A,t){e>>>=0,A>>>=0,t||R(e,A,this.length);let r=this[e],n=1,i=0;for(;++i<A&&(n*=256);)r+=this[e+i]*n;return n*=128,r>=n&&(r-=Math.pow(2,8*A)),r},a.prototype.readIntBE=function(e,A,t){e>>>=0,A>>>=0,t||R(e,A,this.length);let r=A,n=1,i=this[e+--r];for(;r>0&&(n*=256);)i+=this[e+--r]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*A)),i},a.prototype.readInt8=function(e,A){return e>>>=0,A||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,A){e>>>=0,A||R(e,2,this.length);const t=this[e]|this[e+1]<<8;return 32768&t?4294901760|t:t},a.prototype.readInt16BE=function(e,A){e>>>=0,A||R(e,2,this.length);const t=this[e+1]|this[e]<<8;return 32768&t?4294901760|t:t},a.prototype.readInt32LE=function(e,A){return e>>>=0,A||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,A){return e>>>=0,A||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readBigInt64LE=_((function(e){j(e>>>=0,"offset");const A=this[e],t=this[e+7];void 0!==A&&void 0!==t||J(e,this.length-8);const r=this[e+4]+256*this[e+5]+65536*this[e+6]+(t<<24);return(BigInt(r)<<BigInt(32))+BigInt(A+256*this[++e]+65536*this[++e]+this[++e]*2**24)})),a.prototype.readBigInt64BE=_((function(e){j(e>>>=0,"offset");const A=this[e],t=this[e+7];void 0!==A&&void 0!==t||J(e,this.length-8);const r=(A<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(r)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+t)})),a.prototype.readFloatLE=function(e,A){return e>>>=0,A||R(e,4,this.length),n.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,A){return e>>>=0,A||R(e,4,this.length),n.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,A){return e>>>=0,A||R(e,8,this.length),n.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,A){return e>>>=0,A||R(e,8,this.length),n.read(this,e,!1,52,8)},a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,A,t,r){if(e=+e,A>>>=0,t>>>=0,!r){O(this,e,A,t,Math.pow(2,8*t)-1,0)}let n=1,i=0;for(this[A]=255&e;++i<t&&(n*=256);)this[A+i]=e/n&255;return A+t},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,A,t,r){if(e=+e,A>>>=0,t>>>=0,!r){O(this,e,A,t,Math.pow(2,8*t)-1,0)}let n=t-1,i=1;for(this[A+n]=255&e;--n>=0&&(i*=256);)this[A+n]=e/i&255;return A+t},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,1,255,0),this[A]=255&e,A+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,2,65535,0),this[A]=255&e,this[A+1]=e>>>8,A+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,2,65535,0),this[A]=e>>>8,this[A+1]=255&e,A+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,4,4294967295,0),this[A+3]=e>>>24,this[A+2]=e>>>16,this[A+1]=e>>>8,this[A]=255&e,A+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,4,4294967295,0),this[A]=e>>>24,this[A+1]=e>>>16,this[A+2]=e>>>8,this[A+3]=255&e,A+4},a.prototype.writeBigUInt64LE=_((function(e,A=0){return U(this,e,A,BigInt(0),BigInt("0xffffffffffffffff"))})),a.prototype.writeBigUInt64BE=_((function(e,A=0){return D(this,e,A,BigInt(0),BigInt("0xffffffffffffffff"))})),a.prototype.writeIntLE=function(e,A,t,r){if(e=+e,A>>>=0,!r){const r=Math.pow(2,8*t-1);O(this,e,A,t,r-1,-r)}let n=0,i=1,o=0;for(this[A]=255&e;++n<t&&(i*=256);)e<0&&0===o&&0!==this[A+n-1]&&(o=1),this[A+n]=(e/i>>0)-o&255;return A+t},a.prototype.writeIntBE=function(e,A,t,r){if(e=+e,A>>>=0,!r){const r=Math.pow(2,8*t-1);O(this,e,A,t,r-1,-r)}let n=t-1,i=1,o=0;for(this[A+n]=255&e;--n>=0&&(i*=256);)e<0&&0===o&&0!==this[A+n+1]&&(o=1),this[A+n]=(e/i>>0)-o&255;return A+t},a.prototype.writeInt8=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,1,127,-128),e<0&&(e=255+e+1),this[A]=255&e,A+1},a.prototype.writeInt16LE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,2,32767,-32768),this[A]=255&e,this[A+1]=e>>>8,A+2},a.prototype.writeInt16BE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,2,32767,-32768),this[A]=e>>>8,this[A+1]=255&e,A+2},a.prototype.writeInt32LE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,4,2147483647,-2147483648),this[A]=255&e,this[A+1]=e>>>8,this[A+2]=e>>>16,this[A+3]=e>>>24,A+4},a.prototype.writeInt32BE=function(e,A,t){return e=+e,A>>>=0,t||O(this,e,A,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[A]=e>>>24,this[A+1]=e>>>16,this[A+2]=e>>>8,this[A+3]=255&e,A+4},a.prototype.writeBigInt64LE=_((function(e,A=0){return U(this,e,A,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),a.prototype.writeBigInt64BE=_((function(e,A=0){return D(this,e,A,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),a.prototype.writeFloatLE=function(e,A,t){return L(this,e,A,!0,t)},a.prototype.writeFloatBE=function(e,A,t){return L(this,e,A,!1,t)},a.prototype.writeDoubleLE=function(e,A,t){return N(this,e,A,!0,t)},a.prototype.writeDoubleBE=function(e,A,t){return N(this,e,A,!1,t)},a.prototype.copy=function(e,A,t,r){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(t||(t=0),r||0===r||(r=this.length),A>=e.length&&(A=e.length),A||(A=0),r>0&&r<t&&(r=t),r===t)return 0;if(0===e.length||0===this.length)return 0;if(A<0)throw new RangeError("targetStart out of bounds");if(t<0||t>=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-A<r-t&&(r=e.length-A+t);const n=r-t;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(A,t,r):Uint8Array.prototype.set.call(e,this.subarray(t,r),A),n},a.prototype.fill=function(e,A,t,r){if("string"==typeof e){if("string"==typeof A?(r=A,A=0,t=this.length):"string"==typeof t&&(r=t,t=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===e.length){const A=e.charCodeAt(0);("utf8"===r&&A<128||"latin1"===r)&&(e=A)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(A<0||this.length<A||this.length<t)throw new RangeError("Out of range index");if(t<=A)return this;let n;if(A>>>=0,t=void 0===t?this.length:t>>>0,e||(e=0),"number"==typeof e)for(n=A;n<t;++n)this[n]=e;else{const i=a.isBuffer(e)?e:a.from(e,r),o=i.length;if(0===o)throw new TypeError(\'The value "\'+e+\'" is invalid for argument "value"\');for(n=0;n<t-A;++n)this[n+A]=i[n%o]}return this};const M={};function H(e,A,t){M[e]=class extends t{constructor(){super(),Object.defineProperty(this,"message",{value:A.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function K(e){let A="",t=e.length;const r="-"===e[0]?1:0;for(;t>=r+4;t-=3)A=`_${e.slice(t-3,t)}${A}`;return`${e.slice(0,t)}${A}`}function G(e,A,t,r,n,i){if(e>t||e<A){const r="bigint"==typeof A?"n":"";let n;throw n=i>3?0===A||A===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(i+1)}${r}`:`>= -(2${r} ** ${8*(i+1)-1}${r}) and < 2 ** ${8*(i+1)-1}${r}`:`>= ${A}${r} and <= ${t}${r}`,new M.ERR_OUT_OF_RANGE("value",n,e)}!function(e,A,t){j(A,"offset"),void 0!==e[A]&&void 0!==e[A+t]||J(A,e.length-(t+1))}(r,n,i)}function j(e,A){if("number"!=typeof e)throw new M.ERR_INVALID_ARG_TYPE(A,"number",e)}function J(e,A,t){if(Math.floor(e)!==e)throw j(e,t),new M.ERR_OUT_OF_RANGE(t||"offset","an integer",e);if(A<0)throw new M.ERR_BUFFER_OUT_OF_BOUNDS;throw new M.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${A}`,e)}H("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),H("ERR_INVALID_ARG_TYPE",(function(e,A){return`The "${e}" argument must be of type number. Received type ${typeof A}`}),TypeError),H("ERR_OUT_OF_RANGE",(function(e,A,t){let r=`The value of "${e}" is out of range.`,n=t;return Number.isInteger(t)&&Math.abs(t)>2**32?n=K(String(t)):"bigint"==typeof t&&(n=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(n=K(n)),n+="n"),r+=` It must be ${A}. Received ${n}`,r}),RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function z(e,A){let t;A=A||1/0;const r=e.length;let n=null;const i=[];for(let o=0;o<r;++o){if(t=e.charCodeAt(o),t>55295&&t<57344){if(!n){if(t>56319){(A-=3)>-1&&i.push(239,191,189);continue}if(o+1===r){(A-=3)>-1&&i.push(239,191,189);continue}n=t;continue}if(t<56320){(A-=3)>-1&&i.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&(A-=3)>-1&&i.push(239,191,189);if(n=null,t<128){if((A-=1)<0)break;i.push(t)}else if(t<2048){if((A-=2)<0)break;i.push(t>>6|192,63&t|128)}else if(t<65536){if((A-=3)<0)break;i.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((A-=4)<0)break;i.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return i}function V(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function X(e,A,t,r){let n;for(n=0;n<r&&!(n+t>=A.length||n>=e.length);++n)A[n+t]=e[n];return n}function W(e,A){return e instanceof A||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===A.name}function q(e){return e!=e}const Z=function(){const e="0123456789abcdef",A=new Array(256);for(let t=0;t<16;++t){const r=16*t;for(let n=0;n<16;++n)A[r+n]=e[t]+e[n]}return A}();function _(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},7589:(e,A,t)=>{var r=t(5636).Buffer,n=t(1983).Transform,i=t(8888).I;function o(e){n.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}t(5615)(o,n),o.prototype.update=function(e,A,t){"string"==typeof e&&(e=r.from(e,A));var n=this._update(e);return this.hashMode?this:(t&&(n=this._toString(n,t)),n)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(e,A,t){var r;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){r=e}finally{t(r)}},o.prototype._flush=function(e){var A;try{this.push(this.__final())}catch(e){A=e}e(A)},o.prototype._finalOrDigest=function(e){var A=this.__final()||r.alloc(0);return e&&(A=this._toString(A,e,!0)),A},o.prototype._toString=function(e,A,t){if(this._decoder||(this._decoder=new i(A),this._encoding=A),this._encoding!==A)throw new Error("can\'t switch encodings");var r=this._decoder.write(e);return t&&(r+=this._decoder.end()),r},e.exports=o},7232:(e,A,t)=>{var r=t(366);e.exports=function(e,A,t){if(!isFinite(r.uintOrNaN(t)))return{};for(var n=r.transactionBytes([],A),i=0,o=[],s=r.sumOrNaN(A),a=0;a<e.length;++a){var g=e[a],c=r.inputBytes(g),u=t*c,E=r.uintOrNaN(g.value);if(u>g.value){if(a===e.length-1)return{fee:t*(n+c)}}else if(n+=c,i+=E,o.push(g),!(i<s+t*n))return r.finalize(o,A,t)}return{fee:t*n}}},2379:(e,A,t)=>{var r=t(366);e.exports=function(e,A,t){if(!isFinite(r.uintOrNaN(t)))return{};for(var n=r.transactionBytes([],A),i=0,o=[],s=r.sumOrNaN(A),a=r.dustThreshold({},t),g=0;g<e.length;++g){var c=e[g],u=r.inputBytes(c),E=t*(n+u),f=r.uintOrNaN(c.value);if(!(i+f>s+E+a)&&(n+=u,i+=f,o.push(c),!(i<s+E)))return r.finalize(o,A,t)}return{fee:t*n}}},2803:(e,A,t)=>{var r=t(7232),n=t(2379),i=t(366);function o(e,A){return e.value-A*i.inputBytes(e)}e.exports=function(e,A,t){e=e.concat().sort((function(e,A){return o(A,t)-o(e,t)}));var i=n(e,A,t);return i.inputs?i:r(e,A,t)}},366:e=>{var A=10,t=41,r=107,n=9,i=25;function o(e){return t+(e.script?e.script.length:r)}function s(e){return n+(e.script?e.script.length:i)}function a(e,A){return o({})*A}function g(e,t){return A+e.reduce((function(e,A){return e+o(A)}),0)+t.reduce((function(e,A){return e+s(A)}),0)}function c(e){return"number"!=typeof e?NaN:isFinite(e)?Math.floor(e)!==e||e<0?NaN:e:NaN}function u(e){return e.reduce((function(e,A){return e+c(A.value)}),0)}var E=s({});e.exports={dustThreshold:a,finalize:function(e,A,t){var r=g(e,A),n=t*(r+E),i=u(e)-(u(A)+n);i>a(0,t)&&(A=A.concat({value:i}));var o=u(e)-u(A);return isFinite(o)?{inputs:e,outputs:A,fee:o}:{fee:t*r}},inputBytes:o,outputBytes:s,sumOrNaN:u,sumForgiving:function(e){return e.reduce((function(e,A){return e+(isFinite(A.value)?A.value:0)}),0)},transactionBytes:g,uintOrNaN:c}},3257:(e,A,t)=>{"use strict";var r=t(5615),n=t(3275),i=t(5586),o=t(3229),s=t(7589);function a(e){s.call(this,"digest"),this._hash=e}r(a,s),a.prototype._update=function(e){this._hash.update(e)},a.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new n:"rmd160"===e||"ripemd160"===e?new i:new a(o(e))}},2239:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.ECPairFactory=A.networks=void 0;const n=t(3540);A.networks=n;const i=t(146),o=t(2644),s=t(6952),a=t(7962),g=i.typeforce.maybe(i.typeforce.compile({compressed:i.maybe(i.Boolean),network:i.maybe(i.Network)}));A.ECPairFactory=function(e){function A(A,t){if(i.typeforce(i.Buffer256bit,A),!e.isPrivate(A))throw new TypeError("Private key not in range [1, n)");return i.typeforce(g,t),new c(A,void 0,t)}function t(A,t){return i.typeforce(e.isPoint,A),i.typeforce(g,t),new c(void 0,A,t)}(0,a.testEcc)(e);class c{__D;__Q;compressed;network;lowR;constructor(A,t,i){this.__D=A,this.__Q=t,this.lowR=!1,void 0===i&&(i={}),this.compressed=void 0===i.compressed||i.compressed,this.network=i.network||n.bitcoin,void 0!==t&&(this.__Q=r.from(e.pointCompress(t,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const A=e.pointFromScalar(this.__D,this.compressed);this.__Q=r.from(A)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return s.encode(this.network.wif,this.__D,this.compressed)}tweak(e){return this.privateKey?this.tweakFromPrivateKey(e):this.tweakFromPublicKey(e)}sign(A,t){if(!this.__D)throw new Error("Missing private key");if(void 0===t&&(t=this.lowR),!1===t)return r.from(e.sign(A,this.__D));{let t=e.sign(A,this.__D);const n=r.alloc(32,0);let i=0;for(;t[0]>127;)i++,n.writeUIntLE(i,0,6),t=e.sign(A,this.__D,n);return r.from(t)}}signSchnorr(A){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return r.from(e.signSchnorr(A,this.privateKey))}verify(A,t){return e.verify(A,this.publicKey,t)}verifySchnorr(A,t){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(A,this.publicKey.subarray(1,33),t)}tweakFromPublicKey(A){const n=32===(i=this.publicKey).length?i:i.slice(1,33);var i;const o=e.xOnlyPointAddTweak(n,A);if(!o||null===o.xOnlyPubkey)throw new Error("Cannot tweak public key!");const s=r.from([0===o.parity?2:3]);return t(r.concat([s,o.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(t){const n=3===this.publicKey[0]||4===this.publicKey[0]&&1==(1&this.publicKey[64])?e.privateNegate(this.privateKey):this.privateKey,i=e.privateAdd(n,t);if(!i)throw new Error("Invalid tweaked private key!");return A(r.from(i),{network:this.network,compressed:this.compressed})}}return{isPoint:function(A){return e.isPoint(A)},fromPrivateKey:A,fromPublicKey:t,fromWIF:function(e,t){const r=s.decode(e),o=r.version;if(i.Array(t)){if(!(t=t.filter((e=>o===e.wif)).pop()))throw new Error("Unknown network version")}else if(t=t||n.bitcoin,o!==t.wif)throw new Error("Invalid network version");return A(r.privateKey,{compressed:r.compressed,network:t})},makeRandom:function(t){i.typeforce(g,t),void 0===t&&(t={});const r=t.rng||o;let n;do{n=r(32),i.typeforce(i.Buffer256bit,n)}while(!e.isPrivate(n));return A(n,t)}}}},1075:(e,A,t)=>{"use strict";A.Ay=void 0;var r=t(2239);Object.defineProperty(A,"Ay",{enumerable:!0,get:function(){return r.ECPairFactory}})},3540:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.testnet=A.bitcoin=void 0,A.bitcoin={messagePrefix:"Bitcoin Signed Message:\\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},A.testnet={messagePrefix:"Bitcoin Signed Message:\\n",bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239}},7962:(e,A,t)=>{"use strict";var r=t(1048).Buffer;Object.defineProperty(A,"__esModule",{value:!0}),A.testEcc=void 0;const n=e=>r.from(e,"hex");function i(e){if(!e)throw new Error("ecc library invalid")}A.testEcc=function(e){i(e.isPoint(n("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),i(!e.isPoint(n("030000000000000000000000000000000000000000000000000000000000000005"))),i(e.isPrivate(n("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),i(e.isPrivate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),i(!e.isPrivate(n("0000000000000000000000000000000000000000000000000000000000000000"))),i(!e.isPrivate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),i(!e.isPrivate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),i(r.from(e.privateAdd(n("0000000000000000000000000000000000000000000000000000000000000001"),n("0000000000000000000000000000000000000000000000000000000000000000"))).equals(n("0000000000000000000000000000000000000000000000000000000000000001"))),i(null===e.privateAdd(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),n("0000000000000000000000000000000000000000000000000000000000000003"))),i(r.from(e.privateAdd(n("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),n("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(n("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),i(r.from(e.privateNegate(n("0000000000000000000000000000000000000000000000000000000000000001"))).equals(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),i(r.from(e.privateNegate(n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(n("0000000000000000000000000000000000000000000000000000000000000003"))),i(r.from(e.privateNegate(n("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(n("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),i(r.from(e.pointCompress(n("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(n("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),i(r.from(e.pointCompress(n("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(n("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),i(r.from(e.pointCompress(n("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(n("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),i(r.from(e.pointCompress(n("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(n("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),i(r.from(e.pointFromScalar(n("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(n("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),i(null===e.xOnlyPointAddTweak(n("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")));let A=e.xOnlyPointAddTweak(n("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),n("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));i(r.from(A.xOnlyPubkey).equals(n("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&1===A.parity),A=e.xOnlyPointAddTweak(n("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),n("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),i(r.from(A.xOnlyPubkey).equals(n("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&0===A.parity),i(r.from(e.sign(n("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),n("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(n("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),i(e.verify(n("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),n("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),n("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&i(r.from(e.signSchnorr(n("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),n("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),n("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(n("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&i(e.verifySchnorr(n("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),n("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),n("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}},146:(e,A,t)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.maybe=A.Boolean=A.Array=A.Buffer256bit=A.Network=A.typeforce=void 0,A.typeforce=t(973),A.Network=A.typeforce.compile({messagePrefix:A.typeforce.oneOf(A.typeforce.Buffer,A.typeforce.String),bip32:{public:A.typeforce.UInt32,private:A.typeforce.UInt32},pubKeyHash:A.typeforce.UInt8,scriptHash:A.typeforce.UInt8,wif:A.typeforce.UInt8}),A.Buffer256bit=A.typeforce.BufferN(32),A.Array=A.typeforce.Array,A.Boolean=A.typeforce.Boolean,A.maybe=A.typeforce.maybe},46:e=>{"use strict";var A,t="object"==typeof Reflect?Reflect:null,r=t&&"function"==typeof t.apply?t.apply:function(e,A,t){return Function.prototype.apply.call(e,A,t)};A=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var n=Number.isNaN||function(e){return e!=e};function i(){i.init.call(this)}e.exports=i,e.exports.once=function(e,A){return new Promise((function(t,r){function n(t){e.removeListener(A,i),r(t)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",n),t([].slice.call(arguments))}I(e,A,i,{once:!0}),"error"!==A&&function(e,A,t){"function"==typeof e.on&&I(e,"error",A,t)}(e,n,{once:!0})}))},i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var o=10;function s(e){if("function"!=typeof e)throw new TypeError(\'The "listener" argument must be of type Function. Received type \'+typeof e)}function a(e){return void 0===e._maxListeners?i.defaultMaxListeners:e._maxListeners}function g(e,A,t,r){var n,i,o,g;if(s(t),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",A,t.listener?t.listener:t),i=e._events),o=i[A]),void 0===o)o=i[A]=t,++e._eventsCount;else if("function"==typeof o?o=i[A]=r?[t,o]:[o,t]:r?o.unshift(t):o.push(t),(n=a(e))>0&&o.length>n&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(A)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=A,c.count=o.length,g=c,console&&console.warn&&console.warn(g)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(e,A,t){var r={fired:!1,wrapFn:void 0,target:e,type:A,listener:t},n=c.bind(r);return n.listener=t,r.wrapFn=n,n}function E(e,A,t){var r=e._events;if(void 0===r)return[];var n=r[A];return void 0===n?[]:"function"==typeof n?t?[n.listener||n]:[n]:t?function(e){for(var A=new Array(e.length),t=0;t<A.length;++t)A[t]=e[t].listener||e[t];return A}(n):B(n,n.length)}function f(e){var A=this._events;if(void 0!==A){var t=A[e];if("function"==typeof t)return 1;if(void 0!==t)return t.length}return 0}function B(e,A){for(var t=new Array(A),r=0;r<A;++r)t[r]=e[r];return t}function I(e,A,t,r){if("function"==typeof e.on)r.once?e.once(A,t):e.on(A,t);else{if("function"!=typeof e.addEventListener)throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \'+typeof e);e.addEventListener(A,(function n(i){r.once&&e.removeEventListener(A,n),t(i)}))}}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||n(e))throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \'+e+".");o=e}}),i.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||n(e))throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \'+e+".");return this._maxListeners=e,this},i.prototype.getMaxListeners=function(){return a(this)},i.prototype.emit=function(e){for(var A=[],t=1;t<arguments.length;t++)A.push(arguments[t]);var n="error"===e,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var o;if(A.length>0&&(o=A[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var a=i[e];if(void 0===a)return!1;if("function"==typeof a)r(a,this,A);else{var g=a.length,c=B(a,g);for(t=0;t<g;++t)r(c[t],this,A)}return!0},i.prototype.addListener=function(e,A){return g(this,e,A,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(e,A){return g(this,e,A,!0)},i.prototype.once=function(e,A){return s(A),this.on(e,u(this,e,A)),this},i.prototype.prependOnceListener=function(e,A){return s(A),this.prependListener(e,u(this,e,A)),this},i.prototype.removeListener=function(e,A){var t,r,n,i,o;if(s(A),void 0===(r=this._events))return this;if(void 0===(t=r[e]))return this;if(t===A||t.listener===A)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,t.listener||A));else if("function"!=typeof t){for(n=-1,i=t.length-1;i>=0;i--)if(t[i]===A||t[i].listener===A){o=t[i].listener,n=i;break}if(n<0)return this;0===n?t.shift():function(e,A){for(;A+1<e.length;A++)e[A]=e[A+1];e.pop()}(t,n),1===t.length&&(r[e]=t[0]),void 0!==r.removeListener&&this.emit("removeListener",e,o||A)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(e){var A,t,r;if(void 0===(t=this._events))return this;if(void 0===t.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==t[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete t[e]),this;if(0===arguments.length){var n,i=Object.keys(t);for(r=0;r<i.length;++r)"removeListener"!==(n=i[r])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(A=t[e]))this.removeListener(e,A);else if(void 0!==A)for(r=A.length-1;r>=0;r--)this.removeListener(e,A[r]);return this},i.prototype.listeners=function(e){return E(this,e,!0)},i.prototype.rawListeners=function(e){return E(this,e,!1)},i.listenerCount=function(e,A){return"function"==typeof e.listenerCount?e.listenerCount(A):f.call(e,A)},i.prototype.listenerCount=f,i.prototype.eventNames=function(){return this._eventsCount>0?A(this._events):[]}},282:e=>{e.exports=o,o.default=o,o.stable=c,o.stableStringify=c;var A="[...]",t="[Circular]",r=[],n=[];function i(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,A,t,o){var s;void 0===o&&(o=i()),a(e,"",0,[],void 0,0,o);try{s=0===n.length?JSON.stringify(e,A,t):JSON.stringify(e,E(A),t)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var g=r.pop();4===g.length?Object.defineProperty(g[0],g[1],g[3]):g[0][g[1]]=g[2]}}return s}function s(e,A,t,i){var o=Object.getOwnPropertyDescriptor(i,t);void 0!==o.get?o.configurable?(Object.defineProperty(i,t,{value:e}),r.push([i,t,A,o])):n.push([A,t,e]):(i[t]=e,r.push([i,t,A]))}function a(e,r,n,i,o,g,c){var u;if(g+=1,"object"==typeof e&&null!==e){for(u=0;u<i.length;u++)if(i[u]===e)return void s(t,e,r,o);if(void 0!==c.depthLimit&&g>c.depthLimit)return void s(A,e,r,o);if(void 0!==c.edgesLimit&&n+1>c.edgesLimit)return void s(A,e,r,o);if(i.push(e),Array.isArray(e))for(u=0;u<e.length;u++)a(e[u],u,u,i,e,g,c);else{var E=Object.keys(e);for(u=0;u<E.length;u++){var f=E[u];a(e[f],f,u,i,e,g,c)}}i.pop()}}function g(e,A){return e<A?-1:e>A?1:0}function c(e,A,t,o){void 0===o&&(o=i());var s,a=u(e,"",0,[],void 0,0,o)||e;try{s=0===n.length?JSON.stringify(a,A,t):JSON.stringify(a,E(A),t)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var g=r.pop();4===g.length?Object.defineProperty(g[0],g[1],g[3]):g[0][g[1]]=g[2]}}return s}function u(e,n,i,o,a,c,E){var f;if(c+=1,"object"==typeof e&&null!==e){for(f=0;f<o.length;f++)if(o[f]===e)return void s(t,e,n,a);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==E.depthLimit&&c>E.depthLimit)return void s(A,e,n,a);if(void 0!==E.edgesLimit&&i+1>E.edgesLimit)return void s(A,e,n,a);if(o.push(e),Array.isArray(e))for(f=0;f<e.length;f++)u(e[f],f,f,o,e,c,E);else{var B={},I=Object.keys(e).sort(g);for(f=0;f<I.length;f++){var C=I[f];u(e[C],C,f,o,e,c,E),B[C]=e[C]}if(void 0===a)return B;r.push([a,n,e]),a[n]=B}o.pop()}}function E(e){return e=void 0!==e?e:function(e,A){return A},function(A,t){if(n.length>0)for(var r=0;r<n.length;r++){var i=n[r];if(i[1]===A&&i[0]===t){t=i[2],n.splice(r,1);break}}return e.call(this,A,t)}}},1848:(e,A,t)=>{"use strict";var r=t(5636).Buffer,n=t(4156).Transform;function i(e){n.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}t(5615)(i,n),i.prototype._transform=function(e,A,t){var r=null;try{this.update(e,A)}catch(e){r=e}t(r)},i.prototype._flush=function(e){var A=null;try{this.push(this.digest())}catch(e){A=e}e(A)},i.prototype.update=function(e,A){if(function(e,A){if(!r.isBuffer(e)&&"string"!=typeof e)throw new TypeError(A+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");r.isBuffer(e)||(e=r.from(e,A));for(var t=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)t[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)t[this._blockOffset++]=e[n++];for(var o=0,s=8*e.length;s>0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},i.prototype._update=function(){throw new Error("_update is not implemented")},i.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var A=this._digest();void 0!==e&&(A=A.toString(e)),this._block.fill(0),this._blockOffset=0;for(var t=0;t<4;++t)this._length[t]=0;return A},i.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=i},9318:(e,A)=>{A.read=function(e,A,t,r,n){var i,o,s=8*n-r-1,a=(1<<s)-1,g=a>>1,c=-7,u=t?n-1:0,E=t?-1:1,f=e[A+u];for(u+=E,i=f&(1<<-c)-1,f>>=-c,c+=s;c>0;i=256*i+e[A+u],u+=E,c-=8);for(o=i&(1<<-c)-1,i>>=-c,c+=r;c>0;o=256*o+e[A+u],u+=E,c-=8);if(0===i)i=1-g;else{if(i===a)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,r),i-=g}return(f?-1:1)*o*Math.pow(2,i-r)},A.write=function(e,A,t,r,n,i){var o,s,a,g=8*i-n-1,c=(1<<g)-1,u=c>>1,E=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:i-1,B=r?1:-1,I=A<0||0===A&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(s=isNaN(A)?1:0,o=c):(o=Math.floor(Math.log(A)/Math.LN2),A*(a=Math.pow(2,-o))<1&&(o--,a*=2),(A+=o+u>=1?E/a:E*Math.pow(2,1-u))*a>=2&&(o++,a/=2),o+u>=c?(s=0,o=c):o+u>=1?(s=(A*a-1)*Math.pow(2,n),o+=u):(s=A*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;e[t+f]=255&s,f+=B,s/=256,n-=8);for(o=o<<n|s,g+=n;g>0;e[t+f]=255&o,f+=B,o/=256,g-=8);e[t+f-B]|=128*I}},5615:e=>{"function"==typeof Object.create?e.exports=function(e,A){A&&(e.super_=A,e.prototype=Object.create(A.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,A){if(A){e.super_=A;var t=function(){};t.prototype=A.prototype,e.prototype=new t,e.prototype.constructor=e}}},3275:(e,A,t)=>{"use strict";var r=t(5615),n=t(1848),i=t(5636).Buffer,o=new Array(16);function s(){n.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function a(e,A){return e<<A|e>>>32-A}function g(e,A,t,r,n,i,o){return a(e+(A&t|~A&r)+n+i|0,o)+A|0}function c(e,A,t,r,n,i,o){return a(e+(A&r|t&~r)+n+i|0,o)+A|0}function u(e,A,t,r,n,i,o){return a(e+(A^t^r)+n+i|0,o)+A|0}function E(e,A,t,r,n,i,o){return a(e+(t^(A|~r))+n+i|0,o)+A|0}r(s,n),s.prototype._update=function(){for(var e=o,A=0;A<16;++A)e[A]=this._block.readInt32LE(4*A);var t=this._a,r=this._b,n=this._c,i=this._d;t=g(t,r,n,i,e[0],3614090360,7),i=g(i,t,r,n,e[1],3905402710,12),n=g(n,i,t,r,e[2],606105819,17),r=g(r,n,i,t,e[3],3250441966,22),t=g(t,r,n,i,e[4],4118548399,7),i=g(i,t,r,n,e[5],1200080426,12),n=g(n,i,t,r,e[6],2821735955,17),r=g(r,n,i,t,e[7],4249261313,22),t=g(t,r,n,i,e[8],1770035416,7),i=g(i,t,r,n,e[9],2336552879,12),n=g(n,i,t,r,e[10],4294925233,17),r=g(r,n,i,t,e[11],2304563134,22),t=g(t,r,n,i,e[12],1804603682,7),i=g(i,t,r,n,e[13],4254626195,12),n=g(n,i,t,r,e[14],2792965006,17),t=c(t,r=g(r,n,i,t,e[15],1236535329,22),n,i,e[1],4129170786,5),i=c(i,t,r,n,e[6],3225465664,9),n=c(n,i,t,r,e[11],643717713,14),r=c(r,n,i,t,e[0],3921069994,20),t=c(t,r,n,i,e[5],3593408605,5),i=c(i,t,r,n,e[10],38016083,9),n=c(n,i,t,r,e[15],3634488961,14),r=c(r,n,i,t,e[4],3889429448,20),t=c(t,r,n,i,e[9],568446438,5),i=c(i,t,r,n,e[14],3275163606,9),n=c(n,i,t,r,e[3],4107603335,14),r=c(r,n,i,t,e[8],1163531501,20),t=c(t,r,n,i,e[13],2850285829,5),i=c(i,t,r,n,e[2],4243563512,9),n=c(n,i,t,r,e[7],1735328473,14),t=u(t,r=c(r,n,i,t,e[12],2368359562,20),n,i,e[5],4294588738,4),i=u(i,t,r,n,e[8],2272392833,11),n=u(n,i,t,r,e[11],1839030562,16),r=u(r,n,i,t,e[14],4259657740,23),t=u(t,r,n,i,e[1],2763975236,4),i=u(i,t,r,n,e[4],1272893353,11),n=u(n,i,t,r,e[7],4139469664,16),r=u(r,n,i,t,e[10],3200236656,23),t=u(t,r,n,i,e[13],681279174,4),i=u(i,t,r,n,e[0],3936430074,11),n=u(n,i,t,r,e[3],3572445317,16),r=u(r,n,i,t,e[6],76029189,23),t=u(t,r,n,i,e[9],3654602809,4),i=u(i,t,r,n,e[12],3873151461,11),n=u(n,i,t,r,e[15],530742520,16),t=E(t,r=u(r,n,i,t,e[2],3299628645,23),n,i,e[0],4096336452,6),i=E(i,t,r,n,e[7],1126891415,10),n=E(n,i,t,r,e[14],2878612391,15),r=E(r,n,i,t,e[5],4237533241,21),t=E(t,r,n,i,e[12],1700485571,6),i=E(i,t,r,n,e[3],2399980690,10),n=E(n,i,t,r,e[10],4293915773,15),r=E(r,n,i,t,e[1],2240044497,21),t=E(t,r,n,i,e[8],1873313359,6),i=E(i,t,r,n,e[15],4264355552,10),n=E(n,i,t,r,e[6],2734768916,15),r=E(r,n,i,t,e[13],1309151649,21),t=E(t,r,n,i,e[4],4149444226,6),i=E(i,t,r,n,e[11],3174756917,10),n=E(n,i,t,r,e[2],718787259,15),r=E(r,n,i,t,e[9],3951481745,21),this._a=this._a+t|0,this._b=this._b+r|0,this._c=this._c+n|0,this._d=this._d+i|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=i.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},2644:(e,A,t)=>{"use strict";var r=65536,n=4294967295;var i=t(5636).Buffer,o=t.g.crypto||t.g.msCrypto;o&&o.getRandomValues?e.exports=function(e,A){if(e>n)throw new RangeError("requested too many random bytes");var t=i.allocUnsafe(e);if(e>0)if(e>r)for(var s=0;s<e;s+=r)o.getRandomValues(t.slice(s,s+r));else o.getRandomValues(t);if("function"==typeof A)return process.nextTick((function(){A(null,t)}));return t}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11")}},5699:e=>{"use strict";var A={};function t(e,t,r){r||(r=Error);var n=function(e){var A,r;function n(A,r,n){return e.call(this,function(e,A,r){return"string"==typeof t?t:t(e,A,r)}(A,r,n))||this}return r=e,(A=n).prototype=Object.create(r.prototype),A.prototype.constructor=A,A.__proto__=r,n}(r);n.prototype.name=r.name,n.prototype.code=e,A[e]=n}function r(e,A){if(Array.isArray(e)){var t=e.length;return e=e.map((function(e){return String(e)})),t>2?"one of ".concat(A," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(A," ").concat(e[0]," or ").concat(e[1]):"of ".concat(A," ").concat(e[0])}return"of ".concat(A," ").concat(String(e))}t("ERR_INVALID_OPT_VALUE",(function(e,A){return\'The value "\'+A+\'" is invalid for option "\'+e+\'"\'}),TypeError),t("ERR_INVALID_ARG_TYPE",(function(e,A,t){var n,i,o,s;if("string"==typeof A&&(i="not ",A.substr(!o||o<0?0:+o,i.length)===i)?(n="must not be",A=A.replace(/^not /,"")):n="must be",function(e,A,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-A.length,t)===A}(e," argument"))s="The ".concat(e," ").concat(n," ").concat(r(A,"type"));else{var a=function(e,A,t){return"number"!=typeof t&&(t=0),!(t+A.length>e.length)&&-1!==e.indexOf(A,t)}(e,".")?"property":"argument";s=\'The "\'.concat(e,\'" \').concat(a," ").concat(n," ").concat(r(A,"type"))}return s+=". Received type ".concat(typeof t)}),TypeError),t("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),t("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),t("ERR_STREAM_PREMATURE_CLOSE","Premature close"),t("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),t("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),t("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),t("ERR_STREAM_WRITE_AFTER_END","write after end"),t("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),t("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),t("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.F=A},1265:(e,A,t)=>{"use strict";var r=Object.keys||function(e){var A=[];for(var t in e)A.push(t);return A};e.exports=g;var n=t(8199),i=t(5291);t(5615)(g,n);for(var o=r(i.prototype),s=0;s<o.length;s++){var a=o[s];g.prototype[a]||(g.prototype[a]=i.prototype[a])}function g(e){if(!(this instanceof g))return new g(e);n.call(this,e),i.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",c)))}function c(){this._writableState.ended||process.nextTick(u,this)}function u(e){e.end()}Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(g.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(g.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})},4421:(e,A,t)=>{"use strict";e.exports=n;var r=t(9415);function n(e){if(!(this instanceof n))return new n(e);r.call(this,e)}t(5615)(n,r),n.prototype._transform=function(e,A,t){t(null,e)}},8199:(e,A,t)=>{"use strict";var r;e.exports=b,b.ReadableState=y;t(46).EventEmitter;var n=function(e,A){return e.listeners(A).length},i=t(4856),o=t(1048).Buffer,s=(void 0!==t.g?t.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var a,g=t(3951);a=g&&g.debuglog?g.debuglog("stream"):function(){};var c,u,E,f=t(82),B=t(6527),I=t(9952).getHighWaterMark,C=t(5699).F,Q=C.ERR_INVALID_ARG_TYPE,h=C.ERR_STREAM_PUSH_AFTER_EOF,l=C.ERR_METHOD_NOT_IMPLEMENTED,d=C.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;t(5615)(b,i);var p=B.errorOrDestroy,w=["error","close","destroy","pause","resume"];function y(e,A,n){r=r||t(1265),e=e||{},"boolean"!=typeof n&&(n=A instanceof r),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=I(this,e,"readableHighWaterMark",n),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c||(c=t(8888).I),this.decoder=new c(e.encoding),this.encoding=e.encoding)}function b(e){if(r=r||t(1265),!(this instanceof b))return new b(e);var A=this instanceof r;this._readableState=new y(e,this,A),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),i.call(this)}function m(e,A,t,r,n){a("readableAddChunk",A);var i,g=e._readableState;if(null===A)g.reading=!1,function(e,A){if(a("onEofChunk"),A.ended)return;if(A.decoder){var t=A.decoder.end();t&&t.length&&(A.buffer.push(t),A.length+=A.objectMode?1:t.length)}A.ended=!0,A.sync?T(e):(A.needReadable=!1,A.emittedReadable||(A.emittedReadable=!0,P(e)))}(e,g);else if(n||(i=function(e,A){var t;r=A,o.isBuffer(r)||r instanceof s||"string"==typeof A||void 0===A||e.objectMode||(t=new Q("chunk",["string","Buffer","Uint8Array"],A));var r;return t}(g,A)),i)p(e,i);else if(g.objectMode||A&&A.length>0)if("string"==typeof A||g.objectMode||Object.getPrototypeOf(A)===o.prototype||(A=function(e){return o.from(e)}(A)),r)g.endEmitted?p(e,new d):v(e,g,A,!0);else if(g.ended)p(e,new h);else{if(g.destroyed)return!1;g.reading=!1,g.decoder&&!t?(A=g.decoder.write(A),g.objectMode||0!==A.length?v(e,g,A,!1):x(e,g)):v(e,g,A,!1)}else r||(g.reading=!1,x(e,g));return!g.ended&&(g.length<g.highWaterMark||0===g.length)}function v(e,A,t,r){A.flowing&&0===A.length&&!A.sync?(A.awaitDrain=0,e.emit("data",t)):(A.length+=A.objectMode?1:t.length,r?A.buffer.unshift(t):A.buffer.push(t),A.needReadable&&T(e)),x(e,A)}Object.defineProperty(b.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),b.prototype.destroy=B.destroy,b.prototype._undestroy=B.undestroy,b.prototype._destroy=function(e,A){A(e)},b.prototype.push=function(e,A){var t,r=this._readableState;return r.objectMode?t=!0:"string"==typeof e&&((A=A||r.defaultEncoding)!==r.encoding&&(e=o.from(e,A),A=""),t=!0),m(this,e,A,!1,t)},b.prototype.unshift=function(e){return m(this,e,null,!0,!1)},b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){c||(c=t(8888).I);var A=new c(e);this._readableState.decoder=A,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n="";null!==r;)n+=A.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==n&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var S=1073741824;function k(e,A){return e<=0||0===A.length&&A.ended?0:A.objectMode?1:e!=e?A.flowing&&A.length?A.buffer.head.data.length:A.length:(e>A.highWaterMark&&(A.highWaterMark=function(e){return e>=S?e=S:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=A.length?e:A.ended?A.length:(A.needReadable=!0,0))}function T(e){var A=e._readableState;a("emitReadable",A.needReadable,A.emittedReadable),A.needReadable=!1,A.emittedReadable||(a("emitReadable",A.flowing),A.emittedReadable=!0,process.nextTick(P,e))}function P(e){var A=e._readableState;a("emitReadable_",A.destroyed,A.length,A.ended),A.destroyed||!A.length&&!A.ended||(e.emit("readable"),A.emittedReadable=!1),A.needReadable=!A.flowing&&!A.ended&&A.length<=A.highWaterMark,F(e)}function x(e,A){A.readingMore||(A.readingMore=!0,process.nextTick(R,e,A))}function R(e,A){for(;!A.reading&&!A.ended&&(A.length<A.highWaterMark||A.flowing&&0===A.length);){var t=A.length;if(a("maybeReadMore read 0"),e.read(0),t===A.length)break}A.readingMore=!1}function O(e){var A=e._readableState;A.readableListening=e.listenerCount("readable")>0,A.resumeScheduled&&!A.paused?A.flowing=!0:e.listenerCount("data")>0&&e.resume()}function U(e){a("readable nexttick read 0"),e.read(0)}function D(e,A){a("resume",A.reading),A.reading||e.read(0),A.resumeScheduled=!1,e.emit("resume"),F(e),A.flowing&&!A.reading&&e.read(0)}function F(e){var A=e._readableState;for(a("flow",A.flowing);A.flowing&&null!==e.read(););}function L(e,A){return 0===A.length?null:(A.objectMode?t=A.buffer.shift():!e||e>=A.length?(t=A.decoder?A.buffer.join(""):1===A.buffer.length?A.buffer.first():A.buffer.concat(A.length),A.buffer.clear()):t=A.buffer.consume(e,A.decoder),t);var t}function N(e){var A=e._readableState;a("endReadable",A.endEmitted),A.endEmitted||(A.ended=!0,process.nextTick(M,A,e))}function M(e,A){if(a("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,A.readable=!1,A.emit("end"),e.autoDestroy)){var t=A._writableState;(!t||t.autoDestroy&&t.finished)&&A.destroy()}}function H(e,A){for(var t=0,r=e.length;t<r;t++)if(e[t]===A)return t;return-1}b.prototype.read=function(e){a("read",e),e=parseInt(e,10);var A=this._readableState,t=e;if(0!==e&&(A.emittedReadable=!1),0===e&&A.needReadable&&((0!==A.highWaterMark?A.length>=A.highWaterMark:A.length>0)||A.ended))return a("read: emitReadable",A.length,A.ended),0===A.length&&A.ended?N(this):T(this),null;if(0===(e=k(e,A))&&A.ended)return 0===A.length&&N(this),null;var r,n=A.needReadable;return a("need readable",n),(0===A.length||A.length-e<A.highWaterMark)&&a("length less than watermark",n=!0),A.ended||A.reading?a("reading or ended",n=!1):n&&(a("do read"),A.reading=!0,A.sync=!0,0===A.length&&(A.needReadable=!0),this._read(A.highWaterMark),A.sync=!1,A.reading||(e=k(t,A))),null===(r=e>0?L(e,A):null)?(A.needReadable=A.length<=A.highWaterMark,e=0):(A.length-=e,A.awaitDrain=0),0===A.length&&(A.ended||(A.needReadable=!0),t!==e&&A.ended&&N(this)),null!==r&&this.emit("data",r),r},b.prototype._read=function(e){p(this,new l("_read()"))},b.prototype.pipe=function(e,A){var t=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,a("pipe count=%d opts=%j",r.pipesCount,A);var i=(!A||!1!==A.end)&&e!==process.stdout&&e!==process.stderr?s:I;function o(A,n){a("onunpipe"),A===t&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,a("cleanup"),e.removeListener("close",f),e.removeListener("finish",B),e.removeListener("drain",g),e.removeListener("error",E),e.removeListener("unpipe",o),t.removeListener("end",s),t.removeListener("end",I),t.removeListener("data",u),c=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||g())}function s(){a("onend"),e.end()}r.endEmitted?process.nextTick(i):t.once("end",i),e.on("unpipe",o);var g=function(e){return function(){var A=e._readableState;a("pipeOnDrain",A.awaitDrain),A.awaitDrain&&A.awaitDrain--,0===A.awaitDrain&&n(e,"data")&&(A.flowing=!0,F(e))}}(t);e.on("drain",g);var c=!1;function u(A){a("ondata");var n=e.write(A);a("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==H(r.pipes,e))&&!c&&(a("false write response, pause",r.awaitDrain),r.awaitDrain++),t.pause())}function E(A){a("onerror",A),I(),e.removeListener("error",E),0===n(e,"error")&&p(e,A)}function f(){e.removeListener("finish",B),I()}function B(){a("onfinish"),e.removeListener("close",f),I()}function I(){a("unpipe"),t.unpipe(e)}return t.on("data",u),function(e,A,t){if("function"==typeof e.prependListener)return e.prependListener(A,t);e._events&&e._events[A]?Array.isArray(e._events[A])?e._events[A].unshift(t):e._events[A]=[t,e._events[A]]:e.on(A,t)}(e,"error",E),e.once("close",f),e.once("finish",B),e.emit("pipe",t),r.flowing||(a("pipe resume"),t.resume()),e},b.prototype.unpipe=function(e){var A=this._readableState,t={hasUnpiped:!1};if(0===A.pipesCount)return this;if(1===A.pipesCount)return e&&e!==A.pipes||(e||(e=A.pipes),A.pipes=null,A.pipesCount=0,A.flowing=!1,e&&e.emit("unpipe",this,t)),this;if(!e){var r=A.pipes,n=A.pipesCount;A.pipes=null,A.pipesCount=0,A.flowing=!1;for(var i=0;i<n;i++)r[i].emit("unpipe",this,{hasUnpiped:!1});return this}var o=H(A.pipes,e);return-1===o||(A.pipes.splice(o,1),A.pipesCount-=1,1===A.pipesCount&&(A.pipes=A.pipes[0]),e.emit("unpipe",this,t)),this},b.prototype.on=function(e,A){var t=i.prototype.on.call(this,e,A),r=this._readableState;return"data"===e?(r.readableListening=this.listenerCount("readable")>0,!1!==r.flowing&&this.resume()):"readable"===e&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,a("on readable",r.length,r.reading),r.length?T(this):r.reading||process.nextTick(U,this))),t},b.prototype.addListener=b.prototype.on,b.prototype.removeListener=function(e,A){var t=i.prototype.removeListener.call(this,e,A);return"readable"===e&&process.nextTick(O,this),t},b.prototype.removeAllListeners=function(e){var A=i.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(O,this),A},b.prototype.resume=function(){var e=this._readableState;return e.flowing||(a("resume"),e.flowing=!e.readableListening,function(e,A){A.resumeScheduled||(A.resumeScheduled=!0,process.nextTick(D,e,A))}(this,e)),e.paused=!1,this},b.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},b.prototype.wrap=function(e){var A=this,t=this._readableState,r=!1;for(var n in e.on("end",(function(){if(a("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&A.push(e)}A.push(null)})),e.on("data",(function(n){(a("wrapped data"),t.decoder&&(n=t.decoder.write(n)),t.objectMode&&null==n)||(t.objectMode||n&&n.length)&&(A.push(n)||(r=!0,e.pause()))})),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(A){return function(){return e[A].apply(e,arguments)}}(n));for(var i=0;i<w.length;i++)e.on(w[i],this.emit.bind(this,w[i]));return this._read=function(A){a("wrapped _read",A),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(b.prototype[Symbol.asyncIterator]=function(){return void 0===u&&(u=t(534)),u(this)}),Object.defineProperty(b.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(b.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(b.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),b._fromList=L,Object.defineProperty(b.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(b.from=function(e,A){return void 0===E&&(E=t(1260)),E(b,e,A)})},9415:(e,A,t)=>{"use strict";e.exports=c;var r=t(5699).F,n=r.ERR_METHOD_NOT_IMPLEMENTED,i=r.ERR_MULTIPLE_CALLBACK,o=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=r.ERR_TRANSFORM_WITH_LENGTH_0,a=t(1265);function g(e,A){var t=this._transformState;t.transforming=!1;var r=t.writecb;if(null===r)return this.emit("error",new i);t.writechunk=null,t.writecb=null,null!=A&&this.push(A),r(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function c(e){if(!(this instanceof c))return new c(e);a.call(this,e),this._transformState={afterTransform:g.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",u)}function u(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?E(this,null,null):this._flush((function(A,t){E(e,A,t)}))}function E(e,A,t){if(A)return e.emit("error",A);if(null!=t&&e.push(t),e._writableState.length)throw new s;if(e._transformState.transforming)throw new o;return e.push(null)}t(5615)(c,a),c.prototype.push=function(e,A){return this._transformState.needTransform=!1,a.prototype.push.call(this,e,A)},c.prototype._transform=function(e,A,t){t(new n("_transform()"))},c.prototype._write=function(e,A,t){var r=this._transformState;if(r.writecb=t,r.writechunk=e,r.writeencoding=A,!r.transforming){var n=this._readableState;(r.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},c.prototype._read=function(e){var A=this._transformState;null===A.writechunk||A.transforming?A.needTransform=!0:(A.transforming=!0,this._transform(A.writechunk,A.writeencoding,A.afterTransform))},c.prototype._destroy=function(e,A){a.prototype._destroy.call(this,e,(function(e){A(e)}))}},5291:(e,A,t)=>{"use strict";function r(e){var A=this;this.next=null,this.entry=null,this.finish=function(){!function(e,A,t){var r=e.entry;e.entry=null;for(;r;){var n=r.callback;A.pendingcb--,n(t),r=r.next}A.corkedRequestsFree.next=e}(A,e)}}var n;e.exports=b,b.WritableState=y;var i={deprecate:t(6732)},o=t(4856),s=t(1048).Buffer,a=(void 0!==t.g?t.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var g,c=t(6527),u=t(9952).getHighWaterMark,E=t(5699).F,f=E.ERR_INVALID_ARG_TYPE,B=E.ERR_METHOD_NOT_IMPLEMENTED,I=E.ERR_MULTIPLE_CALLBACK,C=E.ERR_STREAM_CANNOT_PIPE,Q=E.ERR_STREAM_DESTROYED,h=E.ERR_STREAM_NULL_VALUES,l=E.ERR_STREAM_WRITE_AFTER_END,d=E.ERR_UNKNOWN_ENCODING,p=c.errorOrDestroy;function w(){}function y(e,A,i){n=n||t(1265),e=e||{},"boolean"!=typeof i&&(i=A instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=u(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,A){var t=e._writableState,r=t.sync,n=t.writecb;if("function"!=typeof n)throw new I;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(t),A)!function(e,A,t,r,n){--A.pendingcb,t?(process.nextTick(n,r),process.nextTick(P,e,A),e._writableState.errorEmitted=!0,p(e,r)):(n(r),e._writableState.errorEmitted=!0,p(e,r),P(e,A))}(e,t,r,A,n);else{var i=k(t)||e.destroyed;i||t.corked||t.bufferProcessing||!t.bufferedRequest||S(e,t),r?process.nextTick(v,e,t,i,n):v(e,t,i,n)}}(A,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function b(e){var A=this instanceof(n=n||t(1265));if(!A&&!g.call(b,this))return new b(e);this._writableState=new y(e,this,A),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function m(e,A,t,r,n,i,o){A.writelen=r,A.writecb=o,A.writing=!0,A.sync=!0,A.destroyed?A.onwrite(new Q("write")):t?e._writev(n,A.onwrite):e._write(n,i,A.onwrite),A.sync=!1}function v(e,A,t,r){t||function(e,A){0===A.length&&A.needDrain&&(A.needDrain=!1,e.emit("drain"))}(e,A),A.pendingcb--,r(),P(e,A)}function S(e,A){A.bufferProcessing=!0;var t=A.bufferedRequest;if(e._writev&&t&&t.next){var n=A.bufferedRequestCount,i=new Array(n),o=A.corkedRequestsFree;o.entry=t;for(var s=0,a=!0;t;)i[s]=t,t.isBuf||(a=!1),t=t.next,s+=1;i.allBuffers=a,m(e,A,!0,A.length,i,"",o.finish),A.pendingcb++,A.lastBufferedRequest=null,o.next?(A.corkedRequestsFree=o.next,o.next=null):A.corkedRequestsFree=new r(A),A.bufferedRequestCount=0}else{for(;t;){var g=t.chunk,c=t.encoding,u=t.callback;if(m(e,A,!1,A.objectMode?1:g.length,g,c,u),t=t.next,A.bufferedRequestCount--,A.writing)break}null===t&&(A.lastBufferedRequest=null)}A.bufferedRequest=t,A.bufferProcessing=!1}function k(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function T(e,A){e._final((function(t){A.pendingcb--,t&&p(e,t),A.prefinished=!0,e.emit("prefinish"),P(e,A)}))}function P(e,A){var t=k(A);if(t&&(function(e,A){A.prefinished||A.finalCalled||("function"!=typeof e._final||A.destroyed?(A.prefinished=!0,e.emit("prefinish")):(A.pendingcb++,A.finalCalled=!0,process.nextTick(T,e,A)))}(e,A),0===A.pendingcb&&(A.finished=!0,e.emit("finish"),A.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return t}t(5615)(b,o),y.prototype.getBuffer=function(){for(var e=this.bufferedRequest,A=[];e;)A.push(e),e=e.next;return A},function(){try{Object.defineProperty(y.prototype,"buffer",{get:i.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(g=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(e){return!!g.call(this,e)||this===b&&(e&&e._writableState instanceof y)}})):g=function(e){return e instanceof this},b.prototype.pipe=function(){p(this,new C)},b.prototype.write=function(e,A,t){var r,n=this._writableState,i=!1,o=!n.objectMode&&(r=e,s.isBuffer(r)||r instanceof a);return o&&!s.isBuffer(e)&&(e=function(e){return s.from(e)}(e)),"function"==typeof A&&(t=A,A=null),o?A="buffer":A||(A=n.defaultEncoding),"function"!=typeof t&&(t=w),n.ending?function(e,A){var t=new l;p(e,t),process.nextTick(A,t)}(this,t):(o||function(e,A,t,r){var n;return null===t?n=new h:"string"==typeof t||A.objectMode||(n=new f("chunk",["string","Buffer"],t)),!n||(p(e,n),process.nextTick(r,n),!1)}(this,n,e,t))&&(n.pendingcb++,i=function(e,A,t,r,n,i){if(!t){var o=function(e,A,t){e.objectMode||!1===e.decodeStrings||"string"!=typeof A||(A=s.from(A,t));return A}(A,r,n);r!==o&&(t=!0,n="buffer",r=o)}var a=A.objectMode?1:r.length;A.length+=a;var g=A.length<A.highWaterMark;g||(A.needDrain=!0);if(A.writing||A.corked){var c=A.lastBufferedRequest;A.lastBufferedRequest={chunk:r,encoding:n,isBuf:t,callback:i,next:null},c?c.next=A.lastBufferedRequest:A.bufferedRequest=A.lastBufferedRequest,A.bufferedRequestCount+=1}else m(e,A,!1,a,r,n,i);return g}(this,n,o,e,A,t)),i},b.prototype.cork=function(){this._writableState.corked++},b.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||S(this,e))},b.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new d(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(b.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(e,A,t){t(new B("_write()"))},b.prototype._writev=null,b.prototype.end=function(e,A,t){var r=this._writableState;return"function"==typeof e?(t=e,e=null,A=null):"function"==typeof A&&(t=A,A=null),null!=e&&this.write(e,A),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,A,t){A.ending=!0,P(e,A),t&&(A.finished?process.nextTick(t):e.once("finish",t));A.ended=!0,e.writable=!1}(this,r,t),this},Object.defineProperty(b.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(b.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),b.prototype.destroy=c.destroy,b.prototype._undestroy=c.undestroy,b.prototype._destroy=function(e,A){A(e)}},534:(e,A,t)=>{"use strict";var r;function n(e,A,t){return(A=function(e){var A=function(e,A){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,A||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==typeof A?A:String(A)}(A))in e?Object.defineProperty(e,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[A]=t,e}var i=t(4869),o=Symbol("lastResolve"),s=Symbol("lastReject"),a=Symbol("error"),g=Symbol("ended"),c=Symbol("lastPromise"),u=Symbol("handlePromise"),E=Symbol("stream");function f(e,A){return{value:e,done:A}}function B(e){var A=e[o];if(null!==A){var t=e[E].read();null!==t&&(e[c]=null,e[o]=null,e[s]=null,A(f(t,!1)))}}function I(e){process.nextTick(B,e)}var C=Object.getPrototypeOf((function(){})),Q=Object.setPrototypeOf((n(r={get stream(){return this[E]},next:function(){var e=this,A=this[a];if(null!==A)return Promise.reject(A);if(this[g])return Promise.resolve(f(void 0,!0));if(this[E].destroyed)return new Promise((function(A,t){process.nextTick((function(){e[a]?t(e[a]):A(f(void 0,!0))}))}));var t,r=this[c];if(r)t=new Promise(function(e,A){return function(t,r){e.then((function(){A[g]?t(f(void 0,!0)):A[u](t,r)}),r)}}(r,this));else{var n=this[E].read();if(null!==n)return Promise.resolve(f(n,!1));t=new Promise(this[u])}return this[c]=t,t}},Symbol.asyncIterator,(function(){return this})),n(r,"return",(function(){var e=this;return new Promise((function(A,t){e[E].destroy(null,(function(e){e?t(e):A(f(void 0,!0))}))}))})),r),C);e.exports=function(e){var A,t=Object.create(Q,(n(A={},E,{value:e,writable:!0}),n(A,o,{value:null,writable:!0}),n(A,s,{value:null,writable:!0}),n(A,a,{value:null,writable:!0}),n(A,g,{value:e._readableState.endEmitted,writable:!0}),n(A,u,{value:function(e,A){var r=t[E].read();r?(t[c]=null,t[o]=null,t[s]=null,e(f(r,!1))):(t[o]=e,t[s]=A)},writable:!0}),A));return t[c]=null,i(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var A=t[s];return null!==A&&(t[c]=null,t[o]=null,t[s]=null,A(e)),void(t[a]=e)}var r=t[o];null!==r&&(t[c]=null,t[o]=null,t[s]=null,r(f(void 0,!0))),t[g]=!0})),e.on("readable",I.bind(null,t)),t}},82:(e,A,t)=>{"use strict";function r(e,A){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);A&&(r=r.filter((function(A){return Object.getOwnPropertyDescriptor(e,A).enumerable}))),t.push.apply(t,r)}return t}function n(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?r(Object(t),!0).forEach((function(A){i(e,A,t[A])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))}))}return e}function i(e,A,t){return(A=s(A))in e?Object.defineProperty(e,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[A]=t,e}function o(e,A){for(var t=0;t<A.length;t++){var r=A[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function s(e){var A=function(e,A){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,A||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==typeof A?A:String(A)}var a=t(1048).Buffer,g=t(3011).inspect,c=g&&g.custom||"inspect";e.exports=function(){function e(){!function(e,A){if(!(e instanceof A))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var A,t,r;return A=e,t=[{key:"push",value:function(e){var A={data:e,next:null};this.length>0?this.tail.next=A:this.head=A,this.tail=A,++this.length}},{key:"unshift",value:function(e){var A={data:e,next:this.head};0===this.length&&(this.tail=A),this.head=A,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var A=this.head,t=""+A.data;A=A.next;)t+=e+A.data;return t}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var A,t,r,n=a.allocUnsafe(e>>>0),i=this.head,o=0;i;)A=i.data,t=n,r=o,a.prototype.copy.call(A,t,r),o+=i.data.length,i=i.next;return n}},{key:"consume",value:function(e,A){var t;return e<this.head.data.length?(t=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):t=e===this.head.data.length?this.shift():A?this._getString(e):this._getBuffer(e),t}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var A=this.head,t=1,r=A.data;for(e-=r.length;A=A.next;){var n=A.data,i=e>n.length?n.length:e;if(i===n.length?r+=n:r+=n.slice(0,e),0==(e-=i)){i===n.length?(++t,A.next?this.head=A.next:this.head=this.tail=null):(this.head=A,A.data=n.slice(i));break}++t}return this.length-=t,r}},{key:"_getBuffer",value:function(e){var A=a.allocUnsafe(e),t=this.head,r=1;for(t.data.copy(A),e-=t.data.length;t=t.next;){var n=t.data,i=e>n.length?n.length:e;if(n.copy(A,A.length-e,0,i),0==(e-=i)){i===n.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=n.slice(i));break}++r}return this.length-=r,A}},{key:c,value:function(e,A){return g(this,n(n({},A),{},{depth:0,customInspect:!1}))}}],t&&o(A.prototype,t),r&&o(A,r),Object.defineProperty(A,"prototype",{writable:!1}),e}()},6527:e=>{"use strict";function A(e,A){r(e,A),t(e)}function t(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function r(e,A){e.emit("error",A)}e.exports={destroy:function(e,n){var i=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(n?n(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(r,this,e)):process.nextTick(r,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!n&&e?i._writableState?i._writableState.errorEmitted?process.nextTick(t,i):(i._writableState.errorEmitted=!0,process.nextTick(A,i,e)):process.nextTick(A,i,e):n?(process.nextTick(t,i),n(e)):process.nextTick(t,i)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,A){var t=e._readableState,r=e._writableState;t&&t.autoDestroy||r&&r.autoDestroy?e.destroy(A):e.emit("error",A)}}},4869:(e,A,t)=>{"use strict";var r=t(5699).F.ERR_STREAM_PREMATURE_CLOSE;function n(){}e.exports=function e(A,t,i){if("function"==typeof t)return e(A,null,t);t||(t={}),i=function(e){var A=!1;return function(){if(!A){A=!0;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];e.apply(this,r)}}}(i||n);var o=t.readable||!1!==t.readable&&A.readable,s=t.writable||!1!==t.writable&&A.writable,a=function(){A.writable||c()},g=A._writableState&&A._writableState.finished,c=function(){s=!1,g=!0,o||i.call(A)},u=A._readableState&&A._readableState.endEmitted,E=function(){o=!1,u=!0,s||i.call(A)},f=function(e){i.call(A,e)},B=function(){var e;return o&&!u?(A._readableState&&A._readableState.ended||(e=new r),i.call(A,e)):s&&!g?(A._writableState&&A._writableState.ended||(e=new r),i.call(A,e)):void 0},I=function(){A.req.on("finish",c)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(A)?s&&!A._writableState&&(A.on("end",a),A.on("close",a)):(A.on("complete",c),A.on("abort",B),A.req?I():A.on("request",I)),A.on("end",E),A.on("finish",c),!1!==t.error&&A.on("error",f),A.on("close",B),function(){A.removeListener("complete",c),A.removeListener("abort",B),A.removeListener("request",I),A.req&&A.req.removeListener("finish",c),A.removeListener("end",a),A.removeListener("close",a),A.removeListener("finish",c),A.removeListener("end",E),A.removeListener("error",f),A.removeListener("close",B)}}},1260:e=>{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},6815:(e,A,t)=>{"use strict";var r;var n=t(5699).F,i=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function a(e){e()}function g(e,A){return e.pipe(A)}e.exports=function(){for(var e=arguments.length,A=new Array(e),n=0;n<e;n++)A[n]=arguments[n];var c,u=function(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}(A);if(Array.isArray(A[0])&&(A=A[0]),A.length<2)throw new i("streams");var E=A.map((function(e,n){var i=n<A.length-1;return function(e,A,n,i){i=function(e){var A=!1;return function(){A||(A=!0,e.apply(void 0,arguments))}}(i);var s=!1;e.on("close",(function(){s=!0})),void 0===r&&(r=t(4869)),r(e,{readable:A,writable:n},(function(e){if(e)return i(e);s=!0,i()}));var a=!1;return function(A){if(!s&&!a)return a=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void i(A||new o("pipe"))}}(e,i,n>0,(function(e){c||(c=e),e&&E.forEach(a),i||(E.forEach(a),u(c))}))}));return A.reduce(g)}},9952:(e,A,t)=>{"use strict";var r=t(5699).F.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,A,t,n){var i=function(e,A,t){return null!=e.highWaterMark?e.highWaterMark:A?e[t]:null}(A,n,t);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new r(n?t:"highWaterMark",i);return Math.floor(i)}return e.objectMode?16:16384}}},4856:(e,A,t)=>{e.exports=t(46).EventEmitter},4156:(e,A,t)=>{(A=e.exports=t(8199)).Stream=A,A.Readable=A,A.Writable=t(5291),A.Duplex=t(1265),A.Transform=t(9415),A.PassThrough=t(4421),A.finished=t(4869),A.pipeline=t(6815)},5586:(e,A,t)=>{"use strict";var r=t(1048).Buffer,n=t(5615),i=t(1848),o=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],a=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],c=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],u=[0,1518500249,1859775393,2400959708,2840853838],E=[1352829926,1548603684,1836072691,2053994217,0];function f(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function B(e,A){return e<<A|e>>>32-A}function I(e,A,t,r,n,i,o,s){return B(e+(A^t^r)+i+o|0,s)+n|0}function C(e,A,t,r,n,i,o,s){return B(e+(A&t|~A&r)+i+o|0,s)+n|0}function Q(e,A,t,r,n,i,o,s){return B(e+((A|~t)^r)+i+o|0,s)+n|0}function h(e,A,t,r,n,i,o,s){return B(e+(A&r|t&~r)+i+o|0,s)+n|0}function l(e,A,t,r,n,i,o,s){return B(e+(A^(t|~r))+i+o|0,s)+n|0}n(f,i),f.prototype._update=function(){for(var e=o,A=0;A<16;++A)e[A]=this._block.readInt32LE(4*A);for(var t=0|this._a,r=0|this._b,n=0|this._c,i=0|this._d,f=0|this._e,d=0|this._a,p=0|this._b,w=0|this._c,y=0|this._d,b=0|this._e,m=0;m<80;m+=1){var v,S;m<16?(v=I(t,r,n,i,f,e[s[m]],u[0],g[m]),S=l(d,p,w,y,b,e[a[m]],E[0],c[m])):m<32?(v=C(t,r,n,i,f,e[s[m]],u[1],g[m]),S=h(d,p,w,y,b,e[a[m]],E[1],c[m])):m<48?(v=Q(t,r,n,i,f,e[s[m]],u[2],g[m]),S=Q(d,p,w,y,b,e[a[m]],E[2],c[m])):m<64?(v=h(t,r,n,i,f,e[s[m]],u[3],g[m]),S=C(d,p,w,y,b,e[a[m]],E[3],c[m])):(v=l(t,r,n,i,f,e[s[m]],u[4],g[m]),S=I(d,p,w,y,b,e[a[m]],E[4],c[m])),t=f,f=i,i=B(n,10),n=r,r=v,d=b,b=y,y=B(w,10),w=p,p=S}var k=this._b+n+y|0;this._b=this._c+i+b|0,this._c=this._d+f+d|0,this._d=this._e+t+p|0,this._e=this._a+r+w|0,this._a=k},f.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=f},5636:(e,A,t)=>{var r=t(1048),n=r.Buffer;function i(e,A){for(var t in e)A[t]=e[t]}function o(e,A,t){return n(e,A,t)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,A),A.Buffer=o),o.prototype=Object.create(n.prototype),i(n,o),o.from=function(e,A,t){if("number"==typeof e)throw new TypeError("Argument must not be a number");return n(e,A,t)},o.alloc=function(e,A,t){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=n(e);return void 0!==A?"string"==typeof t?r.fill(A,t):r.fill(A):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},1229:(e,A,t)=>{var r=t(5636).Buffer;function n(e,A){this._block=r.alloc(e),this._finalSize=A,this._blockSize=e,this._len=0}n.prototype.update=function(e,A){"string"==typeof e&&(A=A||"utf8",e=r.from(e,A));for(var t=this._block,n=this._blockSize,i=e.length,o=this._len,s=0;s<i;){for(var a=o%n,g=Math.min(i-s,n-a),c=0;c<g;c++)t[a+c]=e[s+c];s+=g,(o+=g)%n==0&&this._update(t)}return this._len+=i,this},n.prototype.digest=function(e){var A=this._len%this._blockSize;this._block[A]=128,this._block.fill(0,A+1),A>=this._finalSize&&(this._update(this._block),this._block.fill(0));var t=8*this._len;if(t<=4294967295)this._block.writeUInt32BE(t,this._blockSize-4);else{var r=(4294967295&t)>>>0,n=(t-r)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var i=this._hash();return e?i.toString(e):i},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=n},3229:(e,A,t)=>{var r=e.exports=function(e){e=e.toLowerCase();var A=r[e];if(!A)throw new Error(e+" is not supported (we accept pull requests)");return new A};r.sha=t(3675),r.sha1=t(8980),r.sha224=t(947),r.sha256=t(2826),r.sha384=t(9922),r.sha512=t(3699)},3675:(e,A,t)=>{var r=t(5615),n=t(1229),i=t(5636).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function a(){this.init(),this._w=s,n.call(this,64,56)}function g(e){return e<<30|e>>>2}function c(e,A,t,r){return 0===e?A&t|~A&r:2===e?A&t|A&r|t&r:A^t^r}r(a,n),a.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},a.prototype._update=function(e){for(var A,t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,s=0|this._d,a=0|this._e,u=0;u<16;++u)t[u]=e.readInt32BE(4*u);for(;u<80;++u)t[u]=t[u-3]^t[u-8]^t[u-14]^t[u-16];for(var E=0;E<80;++E){var f=~~(E/20),B=0|((A=r)<<5|A>>>27)+c(f,n,i,s)+a+t[E]+o[f];a=s,s=i,i=g(n),n=r,r=B}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},a.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=a},8980:(e,A,t)=>{var r=t(5615),n=t(1229),i=t(5636).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function a(){this.init(),this._w=s,n.call(this,64,56)}function g(e){return e<<5|e>>>27}function c(e){return e<<30|e>>>2}function u(e,A,t,r){return 0===e?A&t|~A&r:2===e?A&t|A&r|t&r:A^t^r}r(a,n),a.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},a.prototype._update=function(e){for(var A,t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,s=0|this._d,a=0|this._e,E=0;E<16;++E)t[E]=e.readInt32BE(4*E);for(;E<80;++E)t[E]=(A=t[E-3]^t[E-8]^t[E-14]^t[E-16])<<1|A>>>31;for(var f=0;f<80;++f){var B=~~(f/20),I=g(r)+u(B,n,i,s)+a+t[f]+o[B]|0;a=s,s=i,i=c(n),n=r,r=I}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},a.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=a},947:(e,A,t)=>{var r=t(5615),n=t(2826),i=t(1229),o=t(5636).Buffer,s=new Array(64);function a(){this.init(),this._w=s,i.call(this,64,56)}r(a,n),a.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},a.prototype._hash=function(){var e=o.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=a},2826:(e,A,t)=>{var r=t(5615),n=t(1229),i=t(5636).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function a(){this.init(),this._w=s,n.call(this,64,56)}function g(e,A,t){return t^e&(A^t)}function c(e,A,t){return e&A|t&(e|A)}function u(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function E(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function f(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(a,n),a.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},a.prototype._update=function(e){for(var A,t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,s=0|this._d,a=0|this._e,B=0|this._f,I=0|this._g,C=0|this._h,Q=0;Q<16;++Q)t[Q]=e.readInt32BE(4*Q);for(;Q<64;++Q)t[Q]=0|(((A=t[Q-2])>>>17|A<<15)^(A>>>19|A<<13)^A>>>10)+t[Q-7]+f(t[Q-15])+t[Q-16];for(var h=0;h<64;++h){var l=C+E(a)+g(a,B,I)+o[h]+t[h]|0,d=u(r)+c(r,n,i)|0;C=I,I=B,B=a,a=s+l|0,s=i,i=n,n=r,r=l+d|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0,this._f=B+this._f|0,this._g=I+this._g|0,this._h=C+this._h|0},a.prototype._hash=function(){var e=i.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=a},9922:(e,A,t)=>{var r=t(5615),n=t(3699),i=t(1229),o=t(5636).Buffer,s=new Array(160);function a(){this.init(),this._w=s,i.call(this,128,112)}r(a,n),a.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},a.prototype._hash=function(){var e=o.allocUnsafe(48);function A(A,t,r){e.writeInt32BE(A,r),e.writeInt32BE(t,r+4)}return A(this._ah,this._al,0),A(this._bh,this._bl,8),A(this._ch,this._cl,16),A(this._dh,this._dl,24),A(this._eh,this._el,32),A(this._fh,this._fl,40),e},e.exports=a},3699:(e,A,t)=>{var r=t(5615),n=t(1229),i=t(5636).Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function a(){this.init(),this._w=s,n.call(this,128,112)}function g(e,A,t){return t^e&(A^t)}function c(e,A,t){return e&A|t&(e|A)}function u(e,A){return(e>>>28|A<<4)^(A>>>2|e<<30)^(A>>>7|e<<25)}function E(e,A){return(e>>>14|A<<18)^(e>>>18|A<<14)^(A>>>9|e<<23)}function f(e,A){return(e>>>1|A<<31)^(e>>>8|A<<24)^e>>>7}function B(e,A){return(e>>>1|A<<31)^(e>>>8|A<<24)^(e>>>7|A<<25)}function I(e,A){return(e>>>19|A<<13)^(A>>>29|e<<3)^e>>>6}function C(e,A){return(e>>>19|A<<13)^(A>>>29|e<<3)^(e>>>6|A<<26)}function Q(e,A){return e>>>0<A>>>0?1:0}r(a,n),a.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},a.prototype._update=function(e){for(var A=this._w,t=0|this._ah,r=0|this._bh,n=0|this._ch,i=0|this._dh,s=0|this._eh,a=0|this._fh,h=0|this._gh,l=0|this._hh,d=0|this._al,p=0|this._bl,w=0|this._cl,y=0|this._dl,b=0|this._el,m=0|this._fl,v=0|this._gl,S=0|this._hl,k=0;k<32;k+=2)A[k]=e.readInt32BE(4*k),A[k+1]=e.readInt32BE(4*k+4);for(;k<160;k+=2){var T=A[k-30],P=A[k-30+1],x=f(T,P),R=B(P,T),O=I(T=A[k-4],P=A[k-4+1]),U=C(P,T),D=A[k-14],F=A[k-14+1],L=A[k-32],N=A[k-32+1],M=R+F|0,H=x+D+Q(M,R)|0;H=(H=H+O+Q(M=M+U|0,U)|0)+L+Q(M=M+N|0,N)|0,A[k]=H,A[k+1]=M}for(var K=0;K<160;K+=2){H=A[K],M=A[K+1];var G=c(t,r,n),j=c(d,p,w),J=u(t,d),Y=u(d,t),z=E(s,b),V=E(b,s),X=o[K],W=o[K+1],q=g(s,a,h),Z=g(b,m,v),_=S+V|0,$=l+z+Q(_,S)|0;$=($=($=$+q+Q(_=_+Z|0,Z)|0)+X+Q(_=_+W|0,W)|0)+H+Q(_=_+M|0,M)|0;var ee=Y+j|0,Ae=J+G+Q(ee,Y)|0;l=h,S=v,h=a,v=m,a=s,m=b,s=i+$+Q(b=y+_|0,y)|0,i=n,y=w,n=r,w=p,r=t,p=d,t=$+Ae+Q(d=_+ee|0,_)|0}this._al=this._al+d|0,this._bl=this._bl+p|0,this._cl=this._cl+w|0,this._dl=this._dl+y|0,this._el=this._el+b|0,this._fl=this._fl+m|0,this._gl=this._gl+v|0,this._hl=this._hl+S|0,this._ah=this._ah+t+Q(this._al,d)|0,this._bh=this._bh+r+Q(this._bl,p)|0,this._ch=this._ch+n+Q(this._cl,w)|0,this._dh=this._dh+i+Q(this._dl,y)|0,this._eh=this._eh+s+Q(this._el,b)|0,this._fh=this._fh+a+Q(this._fl,m)|0,this._gh=this._gh+h+Q(this._gl,v)|0,this._hh=this._hh+l+Q(this._hl,S)|0},a.prototype._hash=function(){var e=i.allocUnsafe(64);function A(A,t,r){e.writeInt32BE(A,r),e.writeInt32BE(t,r+4)}return A(this._ah,this._al,0),A(this._bh,this._bl,8),A(this._ch,this._cl,16),A(this._dh,this._dl,24),A(this._eh,this._el,32),A(this._fh,this._fl,40),A(this._gh,this._gl,48),A(this._hh,this._hl,56),e},e.exports=a},1983:(e,A,t)=>{e.exports=n;var r=t(46).EventEmitter;function n(){r.call(this)}t(5615)(n,r),n.Readable=t(8199),n.Writable=t(5291),n.Duplex=t(1265),n.Transform=t(9415),n.PassThrough=t(4421),n.finished=t(4869),n.pipeline=t(6815),n.Stream=n,n.prototype.pipe=function(e,A){var t=this;function n(A){e.writable&&!1===e.write(A)&&t.pause&&t.pause()}function i(){t.readable&&t.resume&&t.resume()}t.on("data",n),e.on("drain",i),e._isStdio||A&&!1===A.end||(t.on("end",s),t.on("close",a));var o=!1;function s(){o||(o=!0,e.end())}function a(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function g(e){if(c(),0===r.listenerCount(this,"error"))throw e}function c(){t.removeListener("data",n),e.removeListener("drain",i),t.removeListener("end",s),t.removeListener("close",a),t.removeListener("error",g),e.removeListener("error",g),t.removeListener("end",c),t.removeListener("close",c),e.removeListener("close",c)}return t.on("error",g),e.on("error",g),t.on("end",c),t.on("close",c),e.on("close",c),e.emit("pipe",t),e}},8888:(e,A,t)=>{"use strict";var r=t(5636).Buffer,n=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(e){var A;switch(this.encoding=function(e){var A=function(e){if(!e)return"utf8";for(var A;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(A)return;e=(""+e).toLowerCase(),A=!0}}(e);if("string"!=typeof A&&(r.isEncoding===n||!n(e)))throw new Error("Unknown encoding: "+e);return A||e}(e),this.encoding){case"utf16le":this.text=a,this.end=g,A=4;break;case"utf8":this.fillLast=s,A=4;break;case"base64":this.text=c,this.end=u,A=3;break;default:return this.write=E,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(A)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var A=this.lastTotal-this.lastNeed,t=function(e,A,t){if(128!=(192&A[0]))return e.lastNeed=0,"<22>";if(e.lastNeed>1&&A.length>1){if(128!=(192&A[1]))return e.lastNeed=1,"<22>";if(e.lastNeed>2&&A.length>2&&128!=(192&A[2]))return e.lastNeed=2,"<22>"}}(this,e);return void 0!==t?t:this.lastNeed<=e.length?(e.copy(this.lastChar,A,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,A,0,e.length),void(this.lastNeed-=e.length))}function a(e,A){if((e.length-A)%2==0){var t=e.toString("utf16le",A);if(t){var r=t.charCodeAt(t.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",A,e.length-1)}function g(e){var A=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return A+this.lastChar.toString("utf16le",0,t)}return A}function c(e,A){var t=(e.length-A)%3;return 0===t?e.toString("base64",A):(this.lastNeed=3-t,this.lastTotal=3,1===t?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",A,e.length-t))}function u(e){var A=e&&e.length?this.write(e):"";return this.lastNeed?A+this.lastChar.toString("base64",0,3-this.lastNeed):A}function E(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}A.I=i,i.prototype.write=function(e){if(0===e.length)return"";var A,t;if(this.lastNeed){if(void 0===(A=this.fillLast(e)))return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t<e.length?A?A+this.text(e,t):this.text(e,t):A||""},i.prototype.end=function(e){var A=e&&e.length?this.write(e):"";return this.lastNeed?A+"<22>":A},i.prototype.text=function(e,A){var t=function(e,A,t){var r=A.length-1;if(r<t)return 0;var n=o(A[r]);if(n>=0)return n>0&&(e.lastNeed=n-1),n;if(--r<t||-2===n)return 0;if(n=o(A[r]),n>=0)return n>0&&(e.lastNeed=n-2),n;if(--r<t||-2===n)return 0;if(n=o(A[r]),n>=0)return n>0&&(2===n?n=0:e.lastNeed=n-3),n;return 0}(this,e,A);if(!this.lastNeed)return e.toString("utf8",A);this.lastTotal=t;var r=e.length-(t-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",A,r)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},4322:(e,A,t)=>{var r=t(2890);function n(e){return e.name||e.toString().match(/function (.*?)\\s*\\(/)[1]}function i(e){return r.Nil(e)?"":n(e.constructor)}function o(e,A){Error.captureStackTrace&&Error.captureStackTrace(e,A)}function s(e){return r.Function(e)?e.toJSON?e.toJSON():n(e):r.Array(e)?"Array":e&&r.Object(e)?"Object":void 0!==e?e:""}function a(e,A,t){var n=function(e){return r.Function(e)?"":r.String(e)?JSON.stringify(e):e&&r.Object(e)?"":e}(A);return"Expected "+s(e)+", got"+(""!==t?" "+t:"")+(""!==n?" "+n:"")}function g(e,A,t){t=t||i(A),this.message=a(e,A,t),o(this,g),this.__type=e,this.__value=A,this.__valueTypeName=t}function c(e,A,t,r,n){e?(n=n||i(r),this.message=function(e,A,t,r,n){var i=\'" of type \';return"key"===A&&(i=\'" with key type \'),a(\'property "\'+s(t)+i+s(e),r,n)}(e,t,A,r,n)):this.message=\'Unexpected property "\'+A+\'"\',o(this,g),this.__label=t,this.__property=A,this.__type=e,this.__value=r,this.__valueTypeName=n}g.prototype=Object.create(Error.prototype),g.prototype.constructor=g,c.prototype=Object.create(Error.prototype),c.prototype.constructor=g,e.exports={TfTypeError:g,TfPropertyTypeError:c,tfCustomError:function(e,A){return new g(e,{},A)},tfSubError:function(e,A,t){return e instanceof c?(A=A+"."+e.__property,e=new c(e.__type,A,e.__label,e.__value,e.__valueTypeName)):e instanceof g&&(e=new c(e.__type,A,t,e.__value,e.__valueTypeName)),o(e),e},tfJSON:s,getValueTypeName:i}},315:(e,A,t)=>{var r=t(1048).Buffer,n=t(2890),i=t(4322);function o(e){return r.isBuffer(e)}function s(e){return"string"==typeof e&&/^([0-9a-f]{2})+$/i.test(e)}function a(e,A){var t=e.toJSON();function r(r){if(!e(r))return!1;if(r.length===A)return!0;throw i.tfCustomError(t+"(Length: "+A+")",t+"(Length: "+r.length+")")}return r.toJSON=function(){return t},r}var g=a.bind(null,n.Array),c=a.bind(null,o),u=a.bind(null,s),E=a.bind(null,n.String);var f=Math.pow(2,53)-1;var B={ArrayN:g,Buffer:o,BufferN:c,Finite:function(e){return"number"==typeof e&&isFinite(e)},Hex:s,HexN:u,Int8:function(e){return e<<24>>24===e},Int16:function(e){return e<<16>>16===e},Int32:function(e){return(0|e)===e},Int53:function(e){return"number"==typeof e&&e>=-f&&e<=f&&Math.floor(e)===e},Range:function(e,A,t){function r(r,n){return t(r,n)&&r>e&&r<A}return t=t||n.Number,r.toJSON=function(){return`${t.toJSON()} between [${e}, ${A}]`},r},StringN:E,UInt8:function(e){return(255&e)===e},UInt16:function(e){return(65535&e)===e},UInt32:function(e){return e>>>0===e},UInt53:function(e){return"number"==typeof e&&e>=0&&e<=f&&Math.floor(e)===e}};for(var I in B)B[I].toJSON=function(e){return e}.bind(null,I);e.exports=B},973:(e,A,t)=>{var r=t(4322),n=t(2890),i=r.tfJSON,o=r.TfTypeError,s=r.TfPropertyTypeError,a=r.tfSubError,g=r.getValueTypeName,c={arrayOf:function(e,A){function t(t,r){return!!n.Array(t)&&(!n.Nil(t)&&(!(void 0!==A.minLength&&t.length<A.minLength)&&(!(void 0!==A.maxLength&&t.length>A.maxLength)&&((void 0===A.length||t.length===A.length)&&t.every((function(A,t){try{return E(e,A,r)}catch(e){throw a(e,t)}}))))))}return e=u(e),A=A||{},t.toJSON=function(){var t="["+i(e)+"]";return void 0!==A.length?t+="{"+A.length+"}":void 0===A.minLength&&void 0===A.maxLength||(t+="{"+(void 0===A.minLength?0:A.minLength)+","+(void 0===A.maxLength?1/0:A.maxLength)+"}"),t},t},maybe:function e(A){function t(t,r){return n.Nil(t)||A(t,r,e)}return A=u(A),t.toJSON=function(){return"?"+i(A)},t},map:function(e,A){function t(t,r){if(!n.Object(t))return!1;if(n.Nil(t))return!1;for(var i in t){try{A&&E(A,i,r)}catch(e){throw a(e,i,"key")}try{var o=t[i];E(e,o,r)}catch(e){throw a(e,i)}}return!0}return e=u(e),A&&(A=u(A)),t.toJSON=A?function(){return"{"+i(A)+": "+i(e)+"}"}:function(){return"{"+i(e)+"}"},t},object:function(e){var A={};for(var t in e)A[t]=u(e[t]);function r(e,t){if(!n.Object(e))return!1;if(n.Nil(e))return!1;var r;try{for(r in A){E(A[r],e[r],t)}}catch(e){throw a(e,r)}if(t)for(r in e)if(!A[r])throw new s(void 0,r);return!0}return r.toJSON=function(){return i(A)},r},anyOf:function(){var e=[].slice.call(arguments).map(u);function A(A,t){return e.some((function(e){try{return E(e,A,t)}catch(e){return!1}}))}return A.toJSON=function(){return e.map(i).join("|")},A},allOf:function(){var e=[].slice.call(arguments).map(u);function A(A,t){return e.every((function(e){try{return E(e,A,t)}catch(e){return!1}}))}return A.toJSON=function(){return e.map(i).join(" & ")},A},quacksLike:function(e){function A(A){return e===g(A)}return A.toJSON=function(){return e},A},tuple:function(){var e=[].slice.call(arguments).map(u);function A(A,t){return!n.Nil(A)&&(!n.Nil(A.length)&&((!t||A.length===e.length)&&e.every((function(e,r){try{return E(e,A[r],t)}catch(e){throw a(e,r)}}))))}return A.toJSON=function(){return"("+e.map(i).join(", ")+")"},A},value:function(e){function A(A){return A===e}return A.toJSON=function(){return e},A}};function u(e){if(n.String(e))return"?"===e[0]?c.maybe(e.slice(1)):n[e]||c.quacksLike(e);if(e&&n.Object(e)){if(n.Array(e)){if(1!==e.length)throw new TypeError("Expected compile() parameter of type Array of length 1");return c.arrayOf(e[0])}return c.object(e)}return n.Function(e)?e:c.value(e)}function E(e,A,t,r){if(n.Function(e)){if(e(A,t))return!0;throw new o(r||e,A)}return E(u(e),A,t)}for(var f in c.oneOf=c.anyOf,n)E[f]=n[f];for(f in c)E[f]=c[f];var B=t(315);for(f in B)E[f]=B[f];E.compile=u,E.TfTypeError=o,E.TfPropertyTypeError=s,e.exports=E},2890:e=>{var A={Array:function(e){return null!=e&&e.constructor===Array},Boolean:function(e){return"boolean"==typeof e},Function:function(e){return"function"==typeof e},Nil:function(e){return null==e},Number:function(e){return"number"==typeof e},Object:function(e){return"object"==typeof e},String:function(e){return"string"==typeof e},"":function(){return!0}};for(var t in A.Null=A.Nil,A)A[t].toJSON=function(e){return e}.bind(null,t);e.exports=A},6732:(e,A,t)=>{function r(e){try{if(!t.g.localStorage)return!1}catch(e){return!1}var A=t.g.localStorage[e];return null!=A&&"true"===String(A).toLowerCase()}e.exports=function(e,A){if(r("noDeprecation"))return e;var t=!1;return function(){if(!t){if(r("throwDeprecation"))throw new Error(A);r("traceDeprecation")?console.trace(A):console.warn(A),t=!0}return e.apply(this,arguments)}}},7820:(e,A,t)=>{"use strict";var r=t(5636).Buffer,n=9007199254740991;function i(e){if(e<0||e>n||e%1!=0)throw new RangeError("value out of range")}function o(e){return i(e),e<253?1:e<=65535?3:e<=4294967295?5:9}e.exports={encode:function e(A,t,n){if(i(A),t||(t=r.allocUnsafe(o(A))),!r.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return n||(n=0),A<253?(t.writeUInt8(A,n),e.bytes=1):A<=65535?(t.writeUInt8(253,n),t.writeUInt16LE(A,n+1),e.bytes=3):A<=4294967295?(t.writeUInt8(254,n),t.writeUInt32LE(A,n+1),e.bytes=5):(t.writeUInt8(255,n),t.writeUInt32LE(A>>>0,n+1),t.writeUInt32LE(A/4294967296|0,n+5),e.bytes=9),t},decode:function e(A,t){if(!r.isBuffer(A))throw new TypeError("buffer must be a Buffer instance");t||(t=0);var n=A.readUInt8(t);if(n<253)return e.bytes=1,n;if(253===n)return e.bytes=3,A.readUInt16LE(t+1);if(254===n)return e.bytes=5,A.readUInt32LE(t+1);e.bytes=9;var o=A.readUInt32LE(t+1),s=4294967296*A.readUInt32LE(t+5)+o;return i(s),s},encodingLength:o}},6952:(e,A,t)=>{var r=t(1048).Buffer,n=t(9848);function i(e,A){if(void 0!==A&&e[0]!==A)throw new Error("Invalid network version");if(33===e.length)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(34!==e.length)throw new Error("Invalid WIF length");if(1!==e[33])throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function o(e,A,t){var n=new r(t?34:33);return n.writeUInt8(e,0),A.copy(n,1),t&&(n[33]=1),n}e.exports={decode:function(e,A){return i(n.decode(e),A)},decodeRaw:i,encode:function(e,A,t){return"number"==typeof e?n.encode(o(e,A,t)):n.encode(o(e.version,e.privateKey,e.compressed))},encodeRaw:o}},967:(e,A,t)=>{var r={"./en.json":517};function n(e){return Promise.resolve().then((()=>{if(!t.o(r,e)){var A=new Error("Cannot find module \'"+e+"\'");throw A.code="MODULE_NOT_FOUND",A}var n=r[e];return t.t(n,19)}))}n.keys=()=>Object.keys(r),n.id=967,e.exports=n},2028:()=>{},3011:()=>{},3951:()=>{},517:e=>{"use strict";e.exports=JSON.parse(\'{"locale":"en","messages":{"snapDescription":{"message":"Manage Bitcoin using MetaMask"},"snapProposedName":{"message":"Bitcoin"},"reviewTransactionWarning":{"message":"Review the transaction before proceeding"},"loading":{"message":"Loading"},"from":{"message":"From"},"toAccount":{"message":"To Account"},"fromAccount":{"message":"From Account"},"review":{"message":"Review"},"cancel":{"message":"Cancel"},"amount":{"message":"Amount"},"balance":{"message":"Balance"},"recipient":{"message":"Recipient"},"network":{"message":"Network"},"estimatedTransactionSpeed":{"message":"30 min"},"transactionSpeed":{"message":"Transaction Speed"},"transactionSpeedTooltip":{"message":"The estimated time of the transaction"},"networkFee":{"message":"Network Fee"},"networkFeeToolTip":{"message":"The estimated network fee"},"total":{"message":"Total"},"send":{"message":"Send"},"sending":{"message":"Sending"},"sendAmount":{"message":"Send Amount"},"amountToSendPlaceholder":{"message":"Enter amount to send"},"max":{"message":"Max"},"receivingAddressPlaceholder":{"message":"Enter receiving address"},"validAddress":{"message":"Valid bitcoin address"},"preparingTransaction":{"message":"Preparing transaction"},"error":{"message":"Error"},"satProtectionTooltip":{"message":"MetaMask is protecting your Ordinials, Rare SATs, and Runes to be send in Bitcoin Transactions."}}}\')}},r={};function n(e){var A=r[e];if(void 0!==A)return A.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,n),i.exports}n.n=e=>{var A=e&&e.__esModule?()=>e.default:()=>e;return n.d(A,{a:A}),A},A=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(t,r){if(1&r&&(t=this(t)),8&r)return t;if("object"==typeof t&&t){if(4&r&&t.__esModule)return t;if(16&r&&"function"==typeof t.then)return t}var i=Object.create(null);n.r(i);var o={};e=e||[null,A({}),A([]),A(A)];for(var s=2&r&&t;"object"==typeof s&&!~e.indexOf(s);s=A(s))Object.getOwnPropertyNames(s).forEach((e=>o[e]=()=>t[e]));return o.default=()=>t,n.d(i,o),i},n.d=(e,A)=>{for(var t in A)n.o(A,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},n.e=()=>Promise.resolve(),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,A)=>Object.prototype.hasOwnProperty.call(e,A),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{onKeyringRequest:()=>na,onRpcRequest:()=>ra,onUserInput:()=>ia,validateOrigin:()=>ta});class e extends TypeError{constructor(e,A){let t;const{message:r,explanation:n,...i}=e,{path:o}=e,s=0===o.length?r:`At path: ${o.join(".")} -- ${r}`;super(n??s),null!=n&&(this.cause=s),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>t??(t=[e,...A()])}}function A(e){return"object"==typeof e&&null!==e}function t(e){return"symbol"==typeof e?e.toString():"string"==typeof e?JSON.stringify(e):`${e}`}function r(e,A,r,n){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:i,branch:o}=A,{type:s}=r,{refinement:a,message:g=`Expected a value of type \\`${s}\\`${a?` with refinement \\`${a}\\``:""}, but received: \\`${t(n)}\\``}=e;return{value:n,type:s,refinement:a,key:i[i.length-1],path:i,branch:o,...e,message:g}}function*o(e,t,n,i){(function(e){return A(e)&&"function"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const A of e){const e=r(A,t,n,i);e&&(yield e)}}function*s(e,t,r={}){const{path:n=[],branch:i=[e],coerce:o=!1,mask:a=!1}=r,g={path:n,branch:i};if(o&&(e=t.coercer(e,g),a&&"type"!==t.type&&A(t.schema)&&A(e)&&!Array.isArray(e)))for(const A in e)void 0===t.schema[A]&&delete e[A];let c="valid";for(const A of t.validator(e,g))A.explanation=r.message,c="not_valid",yield[A,void 0];for(let[u,E,f]of t.entries(e,g)){const t=s(E,f,{path:void 0===u?n:[...n,u],branch:void 0===u?i:[...i,E],coerce:o,mask:a,message:r.message});for(const r of t)r[0]?(c=null===r[0].refinement||void 0===r[0].refinement?"not_valid":"not_refined",yield[r[0],void 0]):o&&(E=r[1],void 0===u?e=E:e instanceof Map?e.set(u,E):e instanceof Set?e.add(E):A(e)&&(void 0!==E||u in e)&&(e[u]=E))}if("not_valid"!==c)for(const A of t.refiner(e,g))A.explanation=r.message,c="not_refined",yield[A,void 0];"valid"===c&&(yield[void 0,e])}class a{constructor(e){const{type:A,schema:t,validator:r,refiner:n,coercer:i=(e=>e),entries:s=function*(){}}=e;this.type=A,this.schema=t,this.entries=s,this.coercer=i,this.validator=r?(e,A)=>o(r(e,A),A,this,e):()=>[],this.refiner=n?(e,A)=>o(n(e,A),A,this,e):()=>[]}assert(e,A){return g(e,this,A)}create(e,A){return c(e,this,A)}is(e){return u(e,this)}mask(e,A){return function(e,A,t){const r=E(e,A,{coerce:!0,mask:!0,message:t});if(r[0])throw r[0];return r[1]}(e,this,A)}validate(e,A={}){return E(e,this,A)}}function g(e,A,t){const r=E(e,A,{message:t});if(r[0])throw r[0]}function c(e,A,t){const r=E(e,A,{coerce:!0,message:t});if(r[0])throw r[0];return r[1]}function u(e,A){return!E(e,A)[0]}function E(A,t,r={}){const n=s(A,t,r),i=function(e){const{done:A,value:t}=e.next();return A?void 0:t}(n);if(i[0]){return[new e(i[0],(function*(){for(const e of n)e[0]&&(yield e[0])})),void 0]}return[void 0,i[1]]}function f(){return T("any",(()=>!0))}function B(e){return new a({type:"array",schema:e,*entries(A){if(e&&Array.isArray(A))for(const[t,r]of A.entries())yield[t,r,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${t(e)}`})}function I(){return T("boolean",(e=>"boolean"==typeof e))}function C(e){const A={},r=e.map((e=>t(e))).join();for(const t of e)A[t]=t;return new a({type:"enums",schema:A,validator:A=>e.includes(A)||`Expected one of \\`${r}\\`, but received: ${t(A)}`})}function Q(){return T("integer",(e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${t(e)}`))}function h(e){const A=t(e),r=typeof e;return new a({type:"literal",schema:"string"===r||"number"===r||"boolean"===r?e:null,validator:r=>r===e||`Expected the literal \\`${A}\\`, but received: ${t(r)}`})}function l(){return T("never",(()=>!1))}function d(e){return new a({...e,validator:(A,t)=>null===A||e.validator(A,t),refiner:(A,t)=>null===A||e.refiner(A,t)})}function p(){return T("number",(e=>"number"==typeof e&&!isNaN(e)||`Expected a number, but received: ${t(e)}`))}function w(e){const r=e?Object.keys(e):[],n=l();return new a({type:"object",schema:e??null,*entries(t){if(e&&A(t)){const A=new Set(Object.keys(t));for(const n of r)A.delete(n),yield[n,t[n],e[n]];for(const e of A)yield[e,t[e],n]}},validator:e=>A(e)||`Expected an object, but received: ${t(e)}`,coercer:e=>A(e)?{...e}:e})}function y(e){return new a({...e,validator:(A,t)=>void 0===A||e.validator(A,t),refiner:(A,t)=>void 0===A||e.refiner(A,t)})}function b(e,r){return new a({type:"record",schema:null,*entries(t){if(A(t))for(const A in t){const n=t[A];yield[A,A,e],yield[A,n,r]}},validator:e=>A(e)||`Expected an object, but received: ${t(e)}`})}function m(){return T("string",(e=>"string"==typeof e||`Expected a string, but received: ${t(e)}`))}function v(e){const A=e.map((e=>e.type)).join(" | ");return new a({type:"union",schema:null,coercer(A){for(const t of e){const[e,r]=t.validate(A,{coerce:!0});if(!e)return r}return A},validator(r,n){const i=[];for(const A of e){const[...e]=s(r,A,n),[t]=e;if(!t?.[0])return[];for(const[A]of e)A&&i.push(A)}return[`Expected the value to satisfy a union of \\`${A}\\`, but received: ${t(r)}`,...i]}})}function S(){return T("unknown",(()=>!0))}function k(...e){const r="type"===e[0]?.type,n=e.map((({schema:e})=>e)),i=Object.assign({},...n);return r?function(e){const r=Object.keys(e);return new a({type:"type",schema:e,*entries(t){if(A(t))for(const A of r)yield[A,t[A],e[A]]},validator:e=>A(e)||`Expected an object, but received: ${t(e)}`,coercer:e=>A(e)?{...e}:e})}(i):w(i)}function T(e,A){return new a({type:e,schema:null,validator:A})}function P(e){let A;return new a({type:"lazy",schema:null,*entries(t,r){A??(A=e()),yield*A.entries(t,r)},validator:(t,r)=>(A??(A=e()),A.validator(t,r)),coercer:(t,r)=>(A??(A=e()),A.coercer(t,r)),refiner:(t,r)=>(A??(A=e()),A.refiner(t,r))})}function x(e){return w(e)}function R(e){return e.path[e.path.length-1]in e.branch[e.branch.length-2]}function O(e){return new a({...e,validator:(A,t)=>!R(t)||e.validator(A,t),refiner:(A,t)=>!R(t)||e.refiner(A,t)})}function U(e,A){return T(e,(e=>"string"==typeof e&&A.test(e)))}const D=U("UuidV4",/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu),F=T("Url",(e=>{try{const A=new URL(e);return"http:"===A.protocol||"https:"===A.protocol}catch{return!1}})),L=U("StringNumber",/^\\d+(\\.\\d+)?$/u);function N(e,A,t){return new a({...e,coercer:(r,n)=>u(r,A)?e.coercer(t(r,n),n):e.coercer(r,n)})}Error;const M=(e,A)=>Object.hasOwnProperty.call(e,A);var H;!function(e){e[e.Null=4]="Null",e[e.Comma=1]="Comma",e[e.Wrapper=1]="Wrapper",e[e.True=4]="True",e[e.False=5]="False",e[e.Quote=1]="Quote",e[e.Colon=1]="Colon",e[e.Date=24]="Date"}(H=H||(H={}));function K(e){return function(e){return function(e){return"object"==typeof e&&null!==e&&"message"in e}(e)&&"string"==typeof e.message?e.message:null==e?"":String(e)}(e).replace(/\\.$/u,"")}function G(e,A){return t=e,Boolean("string"==typeof t?.prototype?.constructor?.name)?new e({message:A}):e({message:A});var t}class j extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}const J=e=>w(e);function Y({path:e,branch:A}){const t=e[e.length-1];return M(A[A.length-2],t)}function z(e){return new a({...e,type:`optional ${e.type}`,validator:(A,t)=>!Y(t)||e.validator(A,t),refiner:(A,t)=>!Y(t)||e.refiner(A,t)})}const V=v([h(null),I(),T("finite number",(e=>u(e,p())&&Number.isFinite(e))),m(),B(P((()=>V))),b(m(),P((()=>V)))]),X=N(V,f(),(e=>(function(e,A,t="Assertion failed",r=j){try{g(e,A)}catch(e){throw G(r,`${t}: ${K(e)}.`)}}(e,V),JSON.parse(JSON.stringify(e,((e,A)=>{if("__proto__"!==e&&"constructor"!==e)return A}))))));const W=h("2.0"),q=d(v([p(),m()])),Z=J({code:Q(),message:m(),data:z(X),stack:z(m())}),_=v([b(m(),X),B(X)]);J({id:q,jsonrpc:W,method:m(),params:z(_)}),J({jsonrpc:W,method:m(),params:z(_)});w({id:q,jsonrpc:W,result:y(S()),error:y(Z)});const $=J({id:q,jsonrpc:W,result:X}),ee=J({id:q,jsonrpc:W,error:Z});v([$,ee]);const Ae=x({jsonrpc:h("2.0"),id:v([m(),p(),h(null)]),method:m(),params:O(v([B(X),b(m(),X)]))});function te(e){return e instanceof Map||e instanceof Set?e.size:e.length}function re(e){return ie(e,"nonempty",(A=>te(A)>0||`Expected a nonempty ${e.type} but received an empty one`))}function ne(e,A){return ie(e,"pattern",(t=>A.test(t)||`Expected a ${e.type} matching \\`/${A.source}/\\` but received "${t}"`))}function ie(e,A,t){return new a({...e,*refiner(r,n){yield*e.refiner(r,n);const i=o(t(r,n),n,e,r);for(const e of i)yield{...e,refinement:A}}})}const oe=/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})$/u,se=/^[-a-z0-9]{3,8}$/u,ae=/^[-_a-zA-Z0-9]{1,32}$/u,ge=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})):(?<accountAddress>[-.%a-zA-Z0-9]{1,128})$/u,ce=ne(m(),oe),ue=ne(m(),se),Ee=(ne(m(),ae),ne(m(),ge),ne(m(),/^[-.%a-zA-Z0-9]{1,128}$/u),ne(m(),/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})$/u)),fe=ne(m(),/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})\\/(?<tokenId>[-.%a-zA-Z0-9]{1,78})$/u);var Be;!function(e){e.Bip122="bip122",e.Solana="solana",e.Eip155="eip155",e.Wallet="wallet"}(Be=Be||(Be={}));const Ie=(e,A)=>Object.hasOwnProperty.call(e,A);var Ce;!function(e){e[e.Null=4]="Null",e[e.Comma=1]="Comma",e[e.Wrapper=1]="Wrapper",e[e.True=4]="True",e[e.False=5]="False",e[e.Quote=1]="Quote",e[e.Colon=1]="Colon",e[e.Date=24]="Date"}(Ce=Ce||(Ce={}));const Qe=e=>w(e);function he({path:e,branch:A}){const t=e[e.length-1];return Ie(A[A.length-2],t)}function le(e){return new a({...e,type:`optional ${e.type}`,validator:(A,t)=>!he(t)||e.validator(A,t),refiner:(A,t)=>!he(t)||e.refiner(A,t)})}function de(e){if(null===e||"boolean"==typeof e||"string"==typeof e)return!0;if("number"==typeof e&&Number.isFinite(e))return!0;if("object"==typeof e){let A=!0;if(Array.isArray(e)){for(let t=0;t<e.length;t++)if(!de(e[t])){A=!1;break}return A}const t=Object.entries(e);for(let e=0;e<t.length;e++)if("string"!=typeof t[e][0]||!de(t[e][1])){A=!1;break}return A}return!1}const pe=T("JSON",(e=>de(e))),we=N(pe,ie(f(),"JSON",(e=>u(e,pe))),(e=>JSON.parse(JSON.stringify(e,((e,A)=>{if("__proto__"!==e&&"constructor"!==e)return A})))));const ye=h("2.0"),be=d(v([p(),m()])),me=Qe({code:Q(),message:m(),data:le(we),stack:le(m())}),ve=v([b(m(),we),B(we)]);Qe({id:be,jsonrpc:ye,method:m(),params:le(ve)}),Qe({jsonrpc:ye,method:m(),params:le(ve)});w({id:be,jsonrpc:ye,result:y(S()),error:y(me)});const Se=Qe({id:be,jsonrpc:ye,result:we}),ke=Qe({id:be,jsonrpc:ye,error:me});v([Se,ke]);var Te,Pe,xe;!function(e){e.Eoa="eip155:eoa",e.Erc4337="eip155:erc4337"}(Te||(Te={})),function(e){e.P2wpkh="bip122:p2wpkh"}(Pe||(Pe={})),function(e){e.DataAccount="solana:data-account"}(xe||(xe={}));const Re=x({id:D,type:C([`${Te.Eoa}`,`${Te.Erc4337}`,`${Pe.P2wpkh}`,`${xe.DataAccount}`]),address:m(),scopes:re(B(v([ue,ce]))),options:b(m(),we),methods:B(m())}),Oe=x({fungible:h(!0),type:Ee,unit:m(),amount:L}),Ue=x({fungible:h(!1),id:fe}),De=(Fe=e=>function(e){if("object"!=typeof e||null===e)return!1;try{let A=e;for(;null!==Object.getPrototypeOf(A);)A=Object.getPrototypeOf(A);return Object.getPrototypeOf(e)===A}catch(e){return!1}}(e)&&!e.fungible?Ue:Oe,new a({type:"union",schema:null,*entries(e,A){yield*Fe(e).entries(e,A)},*refiner(e,A){yield*Fe(e).refiner(e,A)},coercer:(e,A)=>Fe(e).coercer(e,A),validator:(e,A)=>Fe(e).validator(e,A)}));var Fe;const Le=x({amount:L,unit:m()}),Ne=U("CaipAssetType",/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})$/u);U("CaipAssetId",/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})\\/(?<tokenId>[-.%a-zA-Z0-9]{1,78})$/u);b(m(),we);const Me=x({id:D,scope:m(),account:D,request:x({method:m(),params:O(v([B(we),b(m(),we)]))})}),He=(v([x({pending:h(!0),redirect:O(x({message:O(m()),url:O(m())}))}),x({pending:h(!1),result:we})]),x({address:m(),asset:d(De)}));var Ke;!function(e){e.Base="base",e.Priority="priority"}(Ke||(Ke={}));const Ge=x({type:C([`${Ke.Base}`,`${Ke.Priority}`]),asset:De});var je,Je;!function(e){e.Submitted="submitted",e.Unconfirmed="unconfirmed",e.Confirmed="confirmed",e.Failed="failed"}(je||(je={})),function(e){e.Send="send",e.Receive="receive"}(Je||(Je={}));const Ye=x({status:C([`${je.Submitted}`,`${je.Unconfirmed}`,`${je.Confirmed}`,`${je.Failed}`]),timestamp:d(p())}),ze=x({id:m(),chain:ce,account:D,status:C([`${je.Submitted}`,`${je.Unconfirmed}`,`${je.Confirmed}`,`${je.Failed}`]),timestamp:d(p()),type:C([`${Je.Send}`,`${Je.Receive}`]),from:B(He),to:B(He),fees:B(Ge),events:B(Ye)}),Ve=(x({data:B(ze),next:d(m())}),x({limit:p(),next:O(d(m()))}));var Xe;!function(e){e.Namespace="bip122",e.Mainnet="bip122:000000000019d6689c085ae165831e93",e.Testnet="bip122:000000000933ea01ad0ee984209779ba",e.Testnet4="bip122:00000000da84f2bafbbc53dee25a72ae",e.Signet="bip122:00000008819873e925422c1ff0f99f7c",e.Regtest="bip122:regtest"}(Xe||(Xe={}));var We=n(6586);const qe=ie(m(),"BtcP2wpkhAddressStruct",(e=>{try{We.bech32.decode(e)}catch(e){return new Error(`Could not decode P2WPKH address: ${e.message}`)}return!0}));var Ze;!function(e){e.SendBitcoin="sendBitcoin"}(Ze||(Ze={}));x({...Re.schema,address:qe,type:h(`${Pe.P2wpkh}`),methods:B(C([`${Ze.SendBitcoin}`]))});var _e;!function(e){e.Namespace="solana",e.Devnet="solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",e.Mainnet="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",e.Testnet="solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"}(_e||(_e={}));const $e=U("SolAddress",/^[1-9A-HJ-NP-Za-km-z]{32,44}$/iu);var eA;!function(e){e.SendAndConfirmTransaction="sendAndConfirmTransaction"}(eA||(eA={}));x({...Re.schema,address:$e,type:h(`${xe.DataAccount}`),methods:B(C([`${eA.SendAndConfirmTransaction}`]))});var AA;!function(e){e.Namespace="eip155",e.Mainnet="eip155:1"}(AA||(AA={}));const tA=U("EthBytes",/^0x[0-9a-f]*$/iu),rA=U("EthAddress",/^0x[0-9a-f]{40}$/iu),nA=U("EthUint256",/^0x([1-9a-f][0-9a-f]*|0)$/iu);var iA;!function(e){e.PersonalSign="personal_sign",e.Sign="eth_sign",e.SignTransaction="eth_signTransaction",e.SignTypedDataV1="eth_signTypedData_v1",e.SignTypedDataV3="eth_signTypedData_v3",e.SignTypedDataV4="eth_signTypedData_v4",e.PrepareUserOperation="eth_prepareUserOperation",e.PatchUserOperation="eth_patchUserOperation",e.SignUserOperation="eth_signUserOperation"}(iA||(iA={}));x({...Re.schema,address:rA,type:h(`${Te.Eoa}`),scopes:re(B(h(AA.Namespace))),methods:B(C([`${iA.PersonalSign}`,`${iA.Sign}`,`${iA.SignTransaction}`,`${iA.SignTypedDataV1}`,`${iA.SignTypedDataV3}`,`${iA.SignTypedDataV4}`]))}),x({...Re.schema,address:rA,type:h(`${Te.Erc4337}`),methods:B(C([`${iA.PersonalSign}`,`${iA.Sign}`,`${iA.SignTypedDataV1}`,`${iA.SignTypedDataV3}`,`${iA.SignTypedDataV4}`,`${iA.PrepareUserOperation}`,`${iA.PatchUserOperation}`,`${iA.SignUserOperation}`]))}),x({sender:rA,nonce:nA,initCode:tA,callData:tA,callGasLimit:nA,verificationGasLimit:nA,preVerificationGas:nA,maxFeePerGas:nA,maxPriorityFeePerGas:nA,paymasterAndData:tA,signature:tA}),x({to:rA,value:nA,data:tA}),x({nonce:nA,initCode:tA,callData:tA,gasLimits:O(x({callGasLimit:nA,verificationGasLimit:nA,preVerificationGas:nA})),dummyPaymasterAndData:tA,dummySignature:tA,bundlerUrl:F}),x({paymasterAndData:tA,callGasLimit:O(nA),verificationGasLimit:O(nA),preVerificationGas:O(nA)});var oA;!function(e){e.ListAccounts="keyring_listAccounts",e.GetAccount="keyring_getAccount",e.CreateAccount="keyring_createAccount",e.ListAccountTransactions="keyring_listAccountTransactions",e.GetAccountBalances="keyring_getAccountBalances",e.FilterAccountChains="keyring_filterAccountChains",e.UpdateAccount="keyring_updateAccount",e.DeleteAccount="keyring_deleteAccount",e.ExportAccount="keyring_exportAccount",e.ListRequests="keyring_listRequests",e.GetRequest="keyring_getRequest",e.SubmitRequest="keyring_submitRequest",e.ApproveRequest="keyring_approveRequest",e.RejectRequest="keyring_rejectRequest"}(oA||(oA={}));const sA={jsonrpc:h("2.0"),id:v([m(),p(),h(null)])},aA=x({...sA,method:h("keyring_listAccounts")}),gA=(B(Re),x({...sA,method:h("keyring_getAccount"),params:x({id:D})})),cA=x({...sA,method:h("keyring_createAccount"),params:x({options:b(m(),we)})}),uA=x({...sA,method:h("keyring_listAccountTransactions"),params:x({id:D,pagination:Ve})}),EA=x({...sA,method:h(`${oA.GetAccountBalances}`),params:x({id:D,assets:B(Ne)})}),fA=(b(Ne,Le),x({...sA,method:h("keyring_filterAccountChains"),params:x({id:D,chains:B(m())})})),BA=(B(m()),x({...sA,method:h("keyring_updateAccount"),params:x({account:Re})})),IA=(h(null),x({...sA,method:h("keyring_deleteAccount"),params:x({id:D})})),CA=(h(null),x({...sA,method:h("keyring_exportAccount"),params:x({id:D})})),QA=x({...sA,method:h("keyring_listRequests")}),hA=(B(Me),x({...sA,method:h("keyring_getRequest"),params:x({id:D})})),lA=x({...sA,method:h("keyring_submitRequest"),params:Me}),dA=x({...sA,method:h("keyring_approveRequest"),params:x({id:D,data:b(m(),we)})}),pA=(h(null),x({...sA,method:h("keyring_rejectRequest"),params:x({id:D})}));h(null);var wA;!function(e){e.AccountCreated="notify:accountCreated",e.AccountUpdated="notify:accountUpdated",e.AccountDeleted="notify:accountDeleted",e.RequestApproved="notify:requestApproved",e.RequestRejected="notify:requestRejected"}(wA||(wA={}));x({method:h(`${wA.AccountCreated}`),params:x({account:Re,accountNameSuggestion:O(m()),displayConfirmation:O(I())})}),x({method:h(`${wA.AccountUpdated}`),params:x({account:Re})}),x({method:h(`${wA.AccountDeleted}`),params:x({id:D})}),x({method:h(`${wA.RequestApproved}`),params:x({id:D,result:we})}),x({method:h(`${wA.RequestRejected}`),params:x({id:D})});class yA extends Error{constructor(e){super(`Method not supported: ${e}`)}}async function bA(e,A){try{return await async function(e,A){switch(g(A,Ae),A.method){case`${oA.ListAccounts}`:return g(A,aA),e.listAccounts();case`${oA.GetAccount}`:return g(A,gA),e.getAccount(A.params.id);case`${oA.CreateAccount}`:return g(A,cA),e.createAccount(A.params.options);case`${oA.ListAccountTransactions}`:if(void 0===e.listAccountTransactions)throw new yA(A.method);return g(A,uA),e.listAccountTransactions(A.params.id,A.params.pagination);case`${oA.GetAccountBalances}`:if(void 0===e.getAccountBalances)throw new yA(A.method);return g(A,EA),e.getAccountBalances(A.params.id,A.params.assets);case`${oA.FilterAccountChains}`:return g(A,fA),e.filterAccountChains(A.params.id,A.params.chains);case`${oA.UpdateAccount}`:return g(A,BA),e.updateAccount(A.params.account);case`${oA.DeleteAccount}`:return g(A,IA),e.deleteAccount(A.params.id);case`${oA.ExportAccount}`:if(void 0===e.exportAccount)throw new yA(A.method);return g(A,CA),e.exportAccount(A.params.id);case`${oA.ListRequests}`:if(void 0===e.listRequests)throw new yA(A.method);return g(A,QA),e.listRequests();case`${oA.GetRequest}`:if(void 0===e.getRequest)throw new yA(A.method);return g(A,hA),e.getRequest(A.params.id);case`${oA.SubmitRequest}`:return g(A,lA),e.submitRequest(A.params);case`${oA.ApproveRequest}`:if(void 0===e.approveRequest)throw new yA(A.method);return g(A,dA),e.approveRequest(A.params.id,A.params.data);case`${oA.RejectRequest}`:if(void 0===e.rejectRequest)throw new yA(A.method);return g(A,pA),e.rejectRequest(A.params.id);default:throw new yA(A.method)}}(e,A)}catch(e){const A=e instanceof Error&&"string"==typeof e.message?e.message:"An unknown error occurred while handling the keyring request";throw new Error(A)}}function mA(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)}const vA=(e,A)=>Object.hasOwnProperty.call(e,A);var SA;!function(e){e[e.Null=4]="Null",e[e.Comma=1]="Comma",e[e.Wrapper=1]="Wrapper",e[e.True=4]="True",e[e.False=5]="False",e[e.Quote=1]="Quote",e[e.Colon=1]="Colon",e[e.Date=24]="Date"}(SA=SA||(SA={}));var kA=n(282);function TA(e){return function(e){return function(e){return"object"==typeof e&&null!==e&&"message"in e}(e)&&"string"==typeof e.message?e.message:null==e?"":String(e)}(e).replace(/\\.$/u,"")}function PA(e,A){return t=e,Boolean("string"==typeof t?.prototype?.constructor?.name)?new e({message:A}):e({message:A});var t}class xA extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}const RA=e=>w(e);function OA({path:e,branch:A}){const t=e[e.length-1];return vA(A[A.length-2],t)}function UA(e){return new a({...e,type:`optional ${e.type}`,validator:(A,t)=>!OA(t)||e.validator(A,t),refiner:(A,t)=>!OA(t)||e.refiner(A,t)})}const DA=v([h(null),I(),T("finite number",(e=>u(e,p())&&Number.isFinite(e))),m(),B(P((()=>DA))),b(m(),P((()=>DA)))]),FA=N(DA,f(),(e=>(function(e,A,t="Assertion failed",r=xA){try{g(e,A)}catch(e){throw PA(r,`${t}: ${TA(e)}.`)}}(e,DA),JSON.parse(JSON.stringify(e,((e,A)=>{if("__proto__"!==e&&"constructor"!==e)return A}))))));function LA(e){try{return function(e){c(e,FA)}(e),!0}catch{return!1}}const NA=h("2.0"),MA=d(v([p(),m()])),HA=RA({code:Q(),message:m(),data:UA(FA),stack:UA(m())}),KA=v([b(m(),FA),B(FA)]);RA({id:MA,jsonrpc:NA,method:m(),params:UA(KA)}),RA({jsonrpc:NA,method:m(),params:UA(KA)});w({id:MA,jsonrpc:NA,result:y(S()),error:y(HA)});const GA=RA({id:MA,jsonrpc:NA,result:FA}),jA=RA({id:MA,jsonrpc:NA,error:HA});v([GA,jA]);const JA={invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},YA={userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901},zA={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."}},VA=JA.internal,XA="Unspecified error message. This is a bug, please report it.",WA=(qA(VA),"Unspecified server error.");function qA(e,A=XA){if(function(e){return Number.isInteger(e)}(e)){const A=e.toString();if(vA(zA,A))return zA[A].message;if(function(e){return e>=-32099&&e<=-32e3}(e))return WA}return A}function ZA(e){return Array.isArray(e)?e.map((e=>LA(e)?e:mA(e)?_A(e):null)):mA(e)?_A(e):LA(e)?e:null}function _A(e){return Object.getOwnPropertyNames(e).reduce(((A,t)=>{const r=e[t];return LA(r)&&(A[t]=r),A}),{})}const $A=(et=kA,et?.__esModule?et.default:et);var et;class At extends Error{constructor(e,A,t){if(!Number.isInteger(e))throw new Error(\'"code" must be an integer.\');if(!A||"string"!=typeof A)throw new Error(\'"message" must be a non-empty string.\');!function(e){return mA(e)&&vA(e,"cause")&&mA(e.cause)}(t)?super(A):(super(A,{cause:t.cause}),vA(this,"cause")||Object.assign(this,{cause:t.cause})),void 0!==t&&(this.data=t),this.code=e}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data,function(e){if("object"!=typeof e||null===e)return!1;try{let A=e;for(;null!==Object.getPrototypeOf(A);)A=Object.getPrototypeOf(A);return Object.getPrototypeOf(e)===A}catch(e){return!1}}(this.data)&&(e.data.cause=ZA(this.data.cause))),this.stack&&(e.stack=this.stack),e}toString(){return $A(this.serialize(),rt,2)}}class tt extends At{constructor(e,A,t){if(!function(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}(e))throw new Error(\'"code" must be an integer such that: 1000 <= code <= 4999\');super(e,A,t)}}function rt(e,A){if("[Circular]"!==A)return A}const nt=e=>dt(JA.parse,e),it=e=>dt(JA.invalidRequest,e),ot=e=>dt(JA.invalidParams,e),st=e=>dt(JA.methodNotFound,e),at=e=>dt(JA.internal,e),gt=e=>dt(JA.invalidInput,e),ct=e=>dt(JA.resourceNotFound,e),ut=e=>dt(JA.resourceUnavailable,e),Et=e=>dt(JA.transactionRejected,e),ft=e=>dt(JA.methodNotSupported,e),Bt=e=>dt(JA.limitExceeded,e),It=e=>pt(YA.userRejectedRequest,e),Ct=e=>pt(YA.unauthorized,e),Qt=e=>pt(YA.unsupportedMethod,e),ht=e=>pt(YA.disconnected,e),lt=e=>pt(YA.chainDisconnected,e);function dt(e,A){const[t,r]=wt(A);return new At(e,t??qA(e),r)}function pt(e,A){const[t,r]=wt(A);return new tt(e,t??qA(e),r)}function wt(e){if(e){if("string"==typeof e)return[e];if("object"==typeof e&&!Array.isArray(e)){const{message:A,data:t}=e;if(A&&"string"!=typeof A)throw new Error("Must specify string message.");return[A??void 0,t]}}return[]}function yt(e){return mA(e)&&vA(e,"data")&&"object"==typeof e.data&&null!==e.data&&LA(e.data)&&!Array.isArray(e.data)?e.data:{}}var bt,mt,vt,St,kt=function(e,A,t,r,n){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof A?e!==A||!n:!A.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,t):n?n.value=t:A.set(e,t),t},Tt=function(e,A,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof A?e!==A||!r:!A.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:A.get(e)};class Pt extends Error{constructor(e,A={}){const t=function(e){return mA(e)&&vA(e,"message")&&"string"==typeof e.message?e.message:String(e)}(e);super(t),bt.set(this,void 0),mt.set(this,void 0),vt.set(this,void 0),St.set(this,void 0),kt(this,mt,t,"f"),kt(this,bt,function(e){return mA(e)&&vA(e,"code")&&"number"==typeof e.code&&Number.isInteger(e.code)?e.code:-32603}(e),"f");const r={...yt(e),...A};Object.keys(r).length>0&&kt(this,vt,r,"f"),kt(this,St,super.stack,"f")}get name(){return"SnapError"}get code(){return Tt(this,bt,"f")}get message(){return Tt(this,mt,"f")}get data(){return Tt(this,vt,"f")}get stack(){return Tt(this,St,"f")}toJSON(){return{code:-31002,message:"Snap Error",data:{cause:{code:this.code,message:this.message,stack:this.stack,...this.data?{data:this.data}:{}}}}}serialize(){return this.toJSON()}}function xt(e){return class extends Pt{constructor(A,t){if("object"==typeof A){const t=e();return void super({code:t.code,message:t.message,data:A})}const r=e(A);super({code:r.code,message:r.message,data:t})}}}bt=new WeakMap,mt=new WeakMap,vt=new WeakMap,St=new WeakMap;const Rt=xt(at),Ot=xt(gt),Ut=xt(ot),Dt=xt(it),Ft=xt(Bt),Lt=xt(st),Nt=xt(ft),Mt=xt(nt),Ht=xt(ct),Kt=xt(ut),Gt=xt(Et),jt=xt(lt),Jt=xt(ht),Yt=xt(Ct),zt=xt(Qt),Vt=xt(It);var Xt,Wt,qt,Zt;!function(e){e.Fast="fast",e.Medium="medium",e.Slow="slow"}(Xt||(Xt={})),function(e){e.Confirmed="confirmed",e.Pending="pending",e.Failed="failed"}(Wt||(Wt={})),function(e){e.Mainnet="bip122:000000000019d6689c085ae165831e93",e.Testnet="bip122:000000000933ea01ad0ee984209779ba"}(qt||(qt={})),function(e){e.Btc="bip122:000000000019d6689c085ae165831e93/slip44:0",e.TBtc="bip122:000000000933ea01ad0ee984209779ba/slip44:0"}(Zt||(Zt={}));const _t={[qt.Mainnet]:"Bitcoin Mainnet",[qt.Testnet]:"Bitcoin Testnet"};var $t,er;!function(e){e.Mainnet="https://blockstream.info/address",e.Testnet="https://blockstream.info/testnet/address"}($t||($t={})),function(e){e.QuickNode="QuickNode",e.SimpleHash="SimpleHash"}(er||(er={}));const Ar={onChainService:{apiClient:{[er.QuickNode]:{options:{testnetEndpoint:"https://omniscient-sleek-firefly.btc-testnet.quiknode.pro/83b710634b28363c42bdcd3dcb0049125f62b561",mainnetEndpoint:"https://bitter-young-county.btc.quiknode.pro/409be0f403ce52458280f6e00adf6263ee206cf7"}},[er.SimpleHash]:{options:{apiKey:"consensys_sk_7keqx6i04vf2aklzvusttobtay9gt9r0"}}}},wallet:{defaultAccountIndex:0,defaultAccountType:"bip122:p2wpkh"},availableNetworks:Object.values(qt),availableAssets:Object.values(Zt),defaultFeeRate:Xt.Medium,unit:"BTC",explorer:{[qt.Mainnet]:"https://blockstream.info/address/${address}",[qt.Testnet]:"https://blockstream.info/testnet/address/${address}"},logLevel:"0",defaultConfirmationThreshold:6,defaultSatsProtectionEnabled:!0},tr=6e4;class rr extends TypeError{constructor(e,A){let t;const{message:r,explanation:n,...i}=e,{path:o}=e,s=0===o.length?r:`At path: ${o.join(".")} -- ${r}`;super(n??s),null!=n&&(this.cause=s),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>t??(t=[e,...A()])}}function nr(e){return"object"==typeof e&&null!=e}function ir(e){return"symbol"==typeof e?e.toString():"string"==typeof e?JSON.stringify(e):`${e}`}function or(e,A,t,r){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:n,branch:i}=A,{type:o}=t,{refinement:s,message:a=`Expected a value of type \\`${o}\\`${s?` with refinement \\`${s}\\``:""}, but received: \\`${ir(r)}\\``}=e;return{value:r,type:o,refinement:s,key:n[n.length-1],path:n,branch:i,...e,message:a}}function*sr(e,A,t,r){(function(e){return nr(e)&&"function"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const n of e){const e=or(n,A,t,r);e&&(yield e)}}function*ar(e,A,t={}){const{path:r=[],branch:n=[e],coerce:i=!1,mask:o=!1}=t,s={path:r,branch:n};if(i&&(e=A.coercer(e,s),o&&"type"!==A.type&&nr(A.schema)&&nr(e)&&!Array.isArray(e)))for(const t in e)void 0===A.schema[t]&&delete e[t];let a="valid";for(const r of A.validator(e,s))r.explanation=t.message,a="not_valid",yield[r,void 0];for(let[g,c,u]of A.entries(e,s)){const A=ar(c,u,{path:void 0===g?r:[...r,g],branch:void 0===g?n:[...n,c],coerce:i,mask:o,message:t.message});for(const t of A)t[0]?(a=null!=t[0].refinement?"not_refined":"not_valid",yield[t[0],void 0]):i&&(c=t[1],void 0===g?e=c:e instanceof Map?e.set(g,c):e instanceof Set?e.add(c):nr(e)&&(void 0!==c||g in e)&&(e[g]=c))}if("not_valid"!==a)for(const r of A.refiner(e,s))r.explanation=t.message,a="not_refined",yield[r,void 0];"valid"===a&&(yield[void 0,e])}class gr{constructor(e){const{type:A,schema:t,validator:r,refiner:n,coercer:i=(e=>e),entries:o=function*(){}}=e;this.type=A,this.schema=t,this.entries=o,this.coercer=i,this.validator=r?(e,A)=>sr(r(e,A),A,this,e):()=>[],this.refiner=n?(e,A)=>sr(n(e,A),A,this,e):()=>[]}assert(e,A){return cr(e,this,A)}create(e,A){return function(e,A,t){const r=fr(e,A,{coerce:!0,message:t});if(r[0])throw r[0];return r[1]}(e,this,A)}is(e){return Er(e,this)}mask(e,A){return ur(e,this,A)}validate(e,A={}){return fr(e,this,A)}}function cr(e,A,t){const r=fr(e,A,{message:t});if(r[0])throw r[0]}function ur(e,A,t){const r=fr(e,A,{coerce:!0,mask:!0,message:t});if(r[0])throw r[0];return r[1]}function Er(e,A){return!fr(e,A)[0]}function fr(e,A,t={}){const r=ar(e,A,t),n=function(e){const{done:A,value:t}=e.next();return A?void 0:t}(r);if(n[0]){const e=new rr(n[0],(function*(){for(const e of r)e[0]&&(yield e[0])}));return[e,void 0]}return[void 0,n[1]]}function Br(e,A){return new gr({type:e,schema:null,validator:A})}function Ir(e){return new gr({type:"array",schema:e,*entries(A){if(e&&Array.isArray(A))for(const[t,r]of A.entries())yield[t,r,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${ir(e)}`})}function Cr(){return Br("boolean",(e=>"boolean"==typeof e))}function Qr(e){const A={},t=e.map((e=>ir(e))).join();for(const t of e)A[t]=t;return new gr({type:"enums",schema:A,validator:A=>e.includes(A)||`Expected one of \\`${t}\\`, but received: ${ir(A)}`})}function hr(){return Br("never",(()=>!1))}function lr(){return Br("number",(e=>"number"==typeof e&&!isNaN(e)||`Expected a number, but received: ${ir(e)}`))}function dr(e){const A=e?Object.keys(e):[],t=hr();return new gr({type:"object",schema:e||null,*entries(r){if(e&&nr(r)){const n=new Set(Object.keys(r));for(const t of A)n.delete(t),yield[t,r[t],e[t]];for(const e of n)yield[e,r[e],t]}},validator:e=>nr(e)||`Expected an object, but received: ${ir(e)}`,coercer:e=>nr(e)?{...e}:e})}function pr(e){return new gr({...e,validator:(A,t)=>void 0===A||e.validator(A,t),refiner:(A,t)=>void 0===A||e.refiner(A,t)})}function wr(e,A){return new gr({type:"record",schema:null,*entries(t){if(nr(t))for(const r in t){const n=t[r];yield[r,r,e],yield[r,n,A]}},validator:e=>nr(e)||`Expected an object, but received: ${ir(e)}`})}function yr(){return Br("string",(e=>"string"==typeof e||`Expected a string, but received: ${ir(e)}`))}function br(e){return e instanceof Map||e instanceof Set?e.size:e.length}function mr(e){return Sr(e,"nonempty",(A=>br(A)>0||`Expected a nonempty ${e.type} but received an empty one`))}function vr(e,A){return Sr(e,"pattern",(t=>A.test(t)||`Expected a ${e.type} matching \\`/${A.source}/\\` but received "${t}"`))}function Sr(e,A,t){return new gr({...e,*refiner(r,n){yield*e.refiner(r,n);const i=sr(t(r,n),n,e,r);for(const e of i)yield{...e,refinement:A}}})}const kr={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Tr;const Pr=new Uint8Array(16);function xr(){if(!Tr&&(Tr="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Tr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Tr(Pr)}const Rr=[];for(let e=0;e<256;++e)Rr.push((e+256).toString(16).slice(1));function Or(e,A=0){return Rr[e[A+0]]+Rr[e[A+1]]+Rr[e[A+2]]+Rr[e[A+3]]+"-"+Rr[e[A+4]]+Rr[e[A+5]]+"-"+Rr[e[A+6]]+Rr[e[A+7]]+"-"+Rr[e[A+8]]+Rr[e[A+9]]+"-"+Rr[e[A+10]]+Rr[e[A+11]]+Rr[e[A+12]]+Rr[e[A+13]]+Rr[e[A+14]]+Rr[e[A+15]]}const Ur=function(e,A,t){if(kr.randomUUID&&!A&&!e)return kr.randomUUID();const r=(e=e||{}).random||(e.rng||xr)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,A){t=t||0;for(let e=0;e<16;++e)A[t+e]=r[e];return A}return Or(r)};class Dr extends Error{name;constructor(e){super(e),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace(this,this.constructor)}}function Fr(e,A){return e instanceof A?e:new A(e.message)}function Lr(e){return[Pt,Lt,Vt,Nt,Lt,Mt,Ht,Kt,Gt,jt,Jt,Yt,zt,Rt,Ot,Ut,Dt,Ft].some((A=>e instanceof A))}const Nr=ne(m(),/^(?:0x)?[0-9a-f]+$/iu);ne(m(),/^0x[0-9a-f]+$/iu),ne(m(),/^0x[0-9a-f]{40}$/u),ne(m(),/^0x[0-9a-fA-F]{40}$/u);function Mr(e){return e.startsWith("0x")||e.startsWith("0X")?e.substring(2):e}var Hr=n(1048);function Kr(e,A=!0){try{return cr(e,Nr),Hr.Buffer.from(A?Mr(e):e,"hex")}catch(e){throw new Error("Unable to convert hex string to buffer")}}function Gr(e,A){try{return e.toString(A)}catch(e){throw new Error("Unable to convert buffer to string")}}function jr(e){return function(e,A,t,r="..."){if(!e)return e;if(A<0||t<0)throw new Error("Indexes must be positives");if(A+t>e.length)throw new Error("Indexes out of bounds");return`${e.substring(0,A)}${r}${e.substring(e.length-t)}`}(e,7,5)}async function Jr(e,A,t=50){let r=0,n=t;for(;r<e.length;){const i=[];for(let t=r;t<Math.min(n,e.length);t++)i.push(A(e[t]));await Promise.all(i),r+=t,n+=t}}var Yr=function(){return Yr=Object.assign||function(e){for(var A,t=1,r=arguments.length;t<r;t++)for(var n in A=arguments[t])Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n]);return e},Yr.apply(this,arguments)},zr="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";(()=>{const e=Array(256).fill(-1);for(let A=0;A<58;++A)e[zr.charCodeAt(A)]=A})();var Vr,Xr,Wr,qr=e=>{if(!e||"string"!=typeof e)throw new Error(`Expected base58 string but got “${e}”`);if(e.match(/[IOl0]/gmu))throw new Error(`Invalid base58 character “${e.match(/[IOl0]/gmu)}”`);const A=e.match(/^1+/gmu),t=A?A[0].length:0,r=(e.length-t)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(t),...e.match(/.{1}/gmu).map((e=>zr.indexOf(e))).reduce(((e,A)=>e.map((e=>{const t=58*e+A;return A=t>>8,t}))),new Uint8Array(r)).reverse().filter((n=!1,e=>n=n||e))]);var n},Zr=(Vr=function(e,A){Object.defineProperty(A,"__esModule",{value:!0}),A.bech32m=A.bech32=void 0;const t="qpzry9x8gf2tvdw0s3jn54khce6mua7l",r={};for(let e=0;e<32;e++){const A=t.charAt(e);r[A]=e}function n(e){const A=e>>25;return(33554431&e)<<5^996825010&-(A>>0&1)^642813549&-(A>>1&1)^513874426&-(A>>2&1)^1027748829&-(A>>3&1)^705979059&-(A>>4&1)}function i(e){let A=1;for(let t=0;t<e.length;++t){const r=e.charCodeAt(t);if(r<33||r>126)return"Invalid prefix ("+e+")";A=n(A)^r>>5}A=n(A);for(let t=0;t<e.length;++t){const r=e.charCodeAt(t);A=n(A)^31&r}return A}function o(e,A,t,r){let n=0,i=0;const o=(1<<t)-1,s=[];for(let r=0;r<e.length;++r)for(n=n<<A|e[r],i+=A;i>=t;)i-=t,s.push(n>>i&o);if(r)i>0&&s.push(n<<t-i&o);else{if(i>=A)return"Excess padding";if(n<<t-i&o)return"Non-zero padding"}return s}function s(e){return o(e,8,5,!0)}function a(e){const A=o(e,5,8,!1);if(Array.isArray(A))return A}function g(e){const A=o(e,5,8,!1);if(Array.isArray(A))return A;throw new Error(A)}function c(e){let A;function o(e,t){if(t=t||90,e.length<8)return e+" too short";if(e.length>t)return"Exceeds length limit";const o=e.toLowerCase(),s=e.toUpperCase();if(e!==o&&e!==s)return"Mixed-case string "+e;const a=(e=o).lastIndexOf("1");if(-1===a)return"No separator character for "+e;if(0===a)return"Missing prefix for "+e;const g=e.slice(0,a),c=e.slice(a+1);if(c.length<6)return"Data too short";let u=i(g);if("string"==typeof u)return u;const E=[];for(let e=0;e<c.length;++e){const A=c.charAt(e),t=r[A];if(void 0===t)return"Unknown character "+A;u=n(u)^t,e+6>=c.length||E.push(t)}return u!==A?"Invalid checksum for "+e:{prefix:g,words:E}}return A="bech32"===e?1:734539939,{decodeUnsafe:function(e,A){const t=o(e,A);if("object"==typeof t)return t},decode:function(e,A){const t=o(e,A);if("object"==typeof t)return t;throw new Error(t)},encode:function(e,r,o){if(o=o||90,e.length+7+r.length>o)throw new TypeError("Exceeds length limit");let s=i(e=e.toLowerCase());if("string"==typeof s)throw new Error(s);let a=e+"1";for(let e=0;e<r.length;++e){const A=r[e];if(A>>5!=0)throw new Error("Non 5-bit word");s=n(s)^A,a+=t.charAt(A)}for(let e=0;e<6;++e)s=n(s);s^=A;for(let e=0;e<6;++e)a+=t.charAt(s>>5*(5-e)&31);return a},toWords:s,fromWordsUnsafe:a,fromWords:g}}A.bech32=c("bech32"),A.bech32m=c("bech32m")},Vr(Xr={exports:{}},Xr.exports),Xr.exports);(Wr=Zr)&&Wr.__esModule&&Object.prototype.hasOwnProperty.call(Wr,"default")&&Wr.default;var _r=Zr.bech32m,$r=Zr.bech32;const en=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998];class An{constructor(){this.A=1779033703,this.B=-1150833019,this.C=1013904242,this.D=-1521486534,this.E=1359893119,this.F=-1694144372,this.G=528734635,this.H=1541459225,this._size=0,this._sp=0,(!rn||nn>=8e3)&&(rn=new ArrayBuffer(8e3),nn=0),this._byte=new Uint8Array(rn,nn,80),this._word=new Int32Array(rn,nn,20),nn+=80}update(e){if("string"==typeof e)return this._utf8(e);if(null==e)throw new TypeError("Invalid type: "+typeof e);const A=e.byteOffset,t=e.byteLength;let r=t/64|0,n=0;if(r&&!(3&A)&&!(this._size%64)){const t=new Int32Array(e.buffer,A,16*r);for(;r--;)this._int32(t,n>>2),n+=64;this._size+=n}if(1!==e.BYTES_PER_ELEMENT&&e.buffer){const r=new Uint8Array(e.buffer,A+n,t-n);return this._uint8(r)}return n===t?this:this._uint8(e,n)}_uint8(e,A){const{_byte:t,_word:r}=this,n=e.length;for(A|=0;A<n;){const i=this._size%64;let o=i;for(;A<n&&o<64;)t[o++]=e[A++];o>=64&&this._int32(r),this._size+=o-i}return this}_utf8(e){const{_byte:A,_word:t}=this,r=e.length;let n=this._sp;for(let i=0;i<r;){const o=this._size%64;let s=o;for(;i<r&&s<64;){let t=0|e.charCodeAt(i++);t<128?A[s++]=t:t<2048?(A[s++]=192|t>>>6,A[s++]=128|63&t):t<55296||t>57343?(A[s++]=224|t>>>12,A[s++]=128|t>>>6&63,A[s++]=128|63&t):n?(t=((1023&n)<<10)+(1023&t)+65536,A[s++]=240|t>>>18,A[s++]=128|t>>>12&63,A[s++]=128|t>>>6&63,A[s++]=128|63&t,n=0):n=t}s>=64&&(this._int32(t),t[0]=t[16]),this._size+=s-o}return this._sp=n,this}_int32(e,A){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:g}=this,c=0;for(A|=0;c<16;)tn[c++]=sn(e[A++]);for(c=16;c<64;c++)tn[c]=fn(tn[c-2])+tn[c-7]+En(tn[c-15])+tn[c-16]|0;for(c=0;c<64;c++){const e=g+un(o)+an(o,s,a)+en[c]+tn[c]|0,A=cn(t)+gn(t,r,n)|0;g=a,a=s,s=o,o=i+e|0,i=n,n=r,r=t,t=e+A|0}this.A=t+this.A|0,this.B=r+this.B|0,this.C=n+this.C|0,this.D=i+this.D|0,this.E=o+this.E|0,this.F=s+this.F|0,this.G=a+this.G|0,this.H=g+this.H|0}digest(e){const{_byte:A,_word:t}=this;let r=this._size%64|0;for(A[r++]=128;3&r;)A[r++]=0;if(r>>=2,r>14){for(;r<16;)t[r++]=0;r=0,this._int32(t)}for(;r<16;)t[r++]=0;const n=8*this._size,i=(4294967295&n)>>>0,o=(n-i)/4294967296;return o&&(t[14]=sn(o)),i&&(t[15]=sn(i)),this._int32(t),"hex"===e?this._hex():this._bin()}_hex(){const{A:e,B:A,C:t,D:r,E:n,F:i,G:o,H:s}=this;return on(e)+on(A)+on(t)+on(r)+on(n)+on(i)+on(o)+on(s)}_bin(){const{A:e,B:A,C:t,D:r,E:n,F:i,G:o,H:s,_byte:a,_word:g}=this;return g[0]=sn(e),g[1]=sn(A),g[2]=sn(t),g[3]=sn(r),g[4]=sn(n),g[5]=sn(i),g[6]=sn(o),g[7]=sn(s),a.slice(0,32)}}const tn=new Int32Array(64);let rn,nn=0;const on=e=>(e+4294967296).toString(16).substr(-8),sn=254===new Uint8Array(new Uint16Array([65279]).buffer)[0]?e=>e:e=>e<<24&4278190080|e<<8&16711680|e>>8&65280|e>>24&255,an=(e,A,t)=>t^e&(A^t),gn=(e,A,t)=>e&A|t&(e|A),cn=e=>(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),un=e=>(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7),En=e=>(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3,fn=e=>(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10;var Bn,In,Cn=function(e){return(new An).update(e).digest()};!function(e){e.mainnet="mainnet",e.testnet="testnet",e.regtest="regtest"}(Bn||(Bn={})),function(e){e.p2pkh="p2pkh",e.p2sh="p2sh",e.p2wpkh="p2wpkh",e.p2wsh="p2wsh",e.p2tr="p2tr"}(In||(In={}));var Qn={0:{type:In.p2pkh,network:Bn.mainnet},111:{type:In.p2pkh,network:Bn.testnet},5:{type:In.p2sh,network:Bn.mainnet},196:{type:In.p2sh,network:Bn.testnet}},hn=function(e){var A,t=e.substr(0,2).toLowerCase();if("bc"===t||"tb"===t)return function(e){var A;try{A=e.startsWith("bc1p")||e.startsWith("tb1p")||e.startsWith("bcrt1p")?_r.decode(e):$r.decode(e)}catch(e){throw new Error("Invalid address")}var t={bc:Bn.mainnet,tb:Bn.testnet,bcrt:Bn.regtest}[A.prefix];if(void 0===t)throw new Error("Invalid address");var r=A.words[0];if(r<0||r>16)throw new Error("Invalid address");return{bech32:!0,network:t,address:e,type:20===$r.fromWords(A.words.slice(1)).length?In.p2wpkh:1===r?In.p2tr:In.p2wsh}}(e);try{A=qr(e)}catch(e){throw new Error("Invalid address")}var r=A.length;if(25!==r)throw new Error("Invalid address");var n=A[0],i=A.slice(r-4,r),o=A.slice(0,r-4),s=Cn(Cn(o)).slice(0,4);if(i.some((function(e,A){return e!==s[A]})))throw new Error("Invalid address");if(!Object.keys(Qn).map(Number).includes(n))throw new Error("Invalid address");return Yr(Yr({},Qn[n]),{address:e,bech32:!1})},ln=function(e,A){try{var t=hn(e);return!A||A===t.network}catch(e){return!1}},dn=/^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,pn=Math.ceil,wn=Math.floor,yn="[BigNumber Error] ",bn=yn+"Number primitive has more than 15 significant digits: ",mn=1e14,vn=14,Sn=9007199254740991,kn=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Tn=1e7,Pn=1e9;function xn(e){var A=0|e;return e>0||e===A?A:A-1}function Rn(e){for(var A,t,r=1,n=e.length,i=e[0]+"";r<n;){for(A=e[r++]+"",t=vn-A.length;t--;A="0"+A);i+=A}for(n=i.length;48===i.charCodeAt(--n););return i.slice(0,n+1||1)}function On(e,A){var t,r,n=e.c,i=A.c,o=e.s,s=A.s,a=e.e,g=A.e;if(!o||!s)return null;if(t=n&&!n[0],r=i&&!i[0],t||r)return t?r?0:-s:o;if(o!=s)return o;if(t=o<0,r=a==g,!n||!i)return r?0:!n^t?1:-1;if(!r)return a>g^t?1:-1;for(s=(a=n.length)<(g=i.length)?a:g,o=0;o<s;o++)if(n[o]!=i[o])return n[o]>i[o]^t?1:-1;return a==g?0:a>g^t?1:-1}function Un(e,A,t,r){if(e<A||e>t||e!==wn(e))throw Error(yn+(r||"Argument")+("number"==typeof e?e<A||e>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function Dn(e){var A=e.c.length-1;return xn(e.e/vn)==A&&e.c[A]%2!=0}function Fn(e,A){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(A<0?"e":"e+")+A}function Ln(e,A,t){var r,n;if(A<0){for(n=t+".";++A;n+=t);e=n+e}else if(++A>(r=e.length)){for(n=t,A-=r;--A;n+=t);e+=n}else A<r&&(e=e.slice(0,A)+"."+e.slice(A));return e}var Nn=function e(A){var t,r,n,i,o,s,a,g,c,u,E=v.prototype={constructor:v,toString:null,valueOf:null},f=new v(1),B=20,I=4,C=-7,Q=21,h=-1e7,l=1e7,d=!1,p=1,w=0,y={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},b="0123456789abcdefghijklmnopqrstuvwxyz",m=!0;function v(e,A){var t,i,o,s,a,g,c,u,E=this;if(!(E instanceof v))return new v(e,A);if(null==A){if(e&&!0===e._isBigNumber)return E.s=e.s,void(!e.c||e.e>l?E.c=E.e=null:e.e<h?E.c=[E.e=0]:(E.e=e.e,E.c=e.c.slice()));if((g="number"==typeof e)&&0*e==0){if(E.s=1/e<0?(e=-e,-1):1,e===~~e){for(s=0,a=e;a>=10;a/=10,s++);return void(s>l?E.c=E.e=null:(E.e=s,E.c=[e]))}u=String(e)}else{if(!dn.test(u=String(e)))return n(E,u,g);E.s=45==u.charCodeAt(0)?(u=u.slice(1),-1):1}(s=u.indexOf("."))>-1&&(u=u.replace(".","")),(a=u.search(/e/i))>0?(s<0&&(s=a),s+=+u.slice(a+1),u=u.substring(0,a)):s<0&&(s=u.length)}else{if(Un(A,2,b.length,"Base"),10==A&&m)return P(E=new v(e),B+E.e+1,I);if(u=String(e),g="number"==typeof e){if(0*e!=0)return n(E,u,g,A);if(E.s=1/e<0?(u=u.slice(1),-1):1,v.DEBUG&&u.replace(/^0\\.0*|\\./,"").length>15)throw Error(bn+e)}else E.s=45===u.charCodeAt(0)?(u=u.slice(1),-1):1;for(t=b.slice(0,A),s=a=0,c=u.length;a<c;a++)if(t.indexOf(i=u.charAt(a))<0){if("."==i){if(a>s){s=c;continue}}else if(!o&&(u==u.toUpperCase()&&(u=u.toLowerCase())||u==u.toLowerCase()&&(u=u.toUpperCase()))){o=!0,a=-1,s=0;continue}return n(E,String(e),g,A)}g=!1,(s=(u=r(u,A,10,E.s)).indexOf("."))>-1?u=u.replace(".",""):s=u.length}for(a=0;48===u.charCodeAt(a);a++);for(c=u.length;48===u.charCodeAt(--c););if(u=u.slice(a,++c)){if(c-=a,g&&v.DEBUG&&c>15&&(e>Sn||e!==wn(e)))throw Error(bn+E.s*e);if((s=s-a-1)>l)E.c=E.e=null;else if(s<h)E.c=[E.e=0];else{if(E.e=s,E.c=[],a=(s+1)%vn,s<0&&(a+=vn),a<c){for(a&&E.c.push(+u.slice(0,a)),c-=vn;a<c;)E.c.push(+u.slice(a,a+=vn));a=vn-(u=u.slice(a)).length}else a-=c;for(;a--;u+="0");E.c.push(+u)}}else E.c=[E.e=0]}function S(e,A,t,r){var n,i,o,s,a;if(null==t?t=I:Un(t,0,8),!e.c)return e.toString();if(n=e.c[0],o=e.e,null==A)a=Rn(e.c),a=1==r||2==r&&(o<=C||o>=Q)?Fn(a,o):Ln(a,o,"0");else if(i=(e=P(new v(e),A,t)).e,s=(a=Rn(e.c)).length,1==r||2==r&&(A<=i||i<=C)){for(;s<A;a+="0",s++);a=Fn(a,i)}else if(A-=o,a=Ln(a,i,"0"),i+1>s){if(--A>0)for(a+=".";A--;a+="0");}else if((A+=i-s)>0)for(i+1==s&&(a+=".");A--;a+="0");return e.s<0&&n?"-"+a:a}function k(e,A){for(var t,r,n=1,i=new v(e[0]);n<e.length;n++)(!(r=new v(e[n])).s||(t=On(i,r))===A||0===t&&i.s===A)&&(i=r);return i}function T(e,A,t){for(var r=1,n=A.length;!A[--n];A.pop());for(n=A[0];n>=10;n/=10,r++);return(t=r+t*vn-1)>l?e.c=e.e=null:t<h?e.c=[e.e=0]:(e.e=t,e.c=A),e}function P(e,A,t,r){var n,i,o,s,a,g,c,u=e.c,E=kn;if(u){e:{for(n=1,s=u[0];s>=10;s/=10,n++);if((i=A-n)<0)i+=vn,o=A,a=u[g=0],c=wn(a/E[n-o-1]%10);else if((g=pn((i+1)/vn))>=u.length){if(!r)break e;for(;u.length<=g;u.push(0));a=c=0,n=1,o=(i%=vn)-vn+1}else{for(a=s=u[g],n=1;s>=10;s/=10,n++);c=(o=(i%=vn)-vn+n)<0?0:wn(a/E[n-o-1]%10)}if(r=r||A<0||null!=u[g+1]||(o<0?a:a%E[n-o-1]),r=t<4?(c||r)&&(0==t||t==(e.s<0?3:2)):c>5||5==c&&(4==t||r||6==t&&(i>0?o>0?a/E[n-o]:0:u[g-1])%10&1||t==(e.s<0?8:7)),A<1||!u[0])return u.length=0,r?(A-=e.e+1,u[0]=E[(vn-A%vn)%vn],e.e=-A||0):u[0]=e.e=0,e;if(0==i?(u.length=g,s=1,g--):(u.length=g+1,s=E[vn-i],u[g]=o>0?wn(a/E[n-o]%E[o])*s:0),r)for(;;){if(0==g){for(i=1,o=u[0];o>=10;o/=10,i++);for(o=u[0]+=s,s=1;o>=10;o/=10,s++);i!=s&&(e.e++,u[0]==mn&&(u[0]=1));break}if(u[g]+=s,u[g]!=mn)break;u[g--]=0,s=1}for(i=u.length;0===u[--i];u.pop());}e.e>l?e.c=e.e=null:e.e<h&&(e.c=[e.e=0])}return e}function x(e){var A,t=e.e;return null===t?e.toString():(A=Rn(e.c),A=t<=C||t>=Q?Fn(A,t):Ln(A,t,"0"),e.s<0?"-"+A:A)}return v.clone=e,v.ROUND_UP=0,v.ROUND_DOWN=1,v.ROUND_CEIL=2,v.ROUND_FLOOR=3,v.ROUND_HALF_UP=4,v.ROUND_HALF_DOWN=5,v.ROUND_HALF_EVEN=6,v.ROUND_HALF_CEIL=7,v.ROUND_HALF_FLOOR=8,v.EUCLID=9,v.config=v.set=function(e){var A,t;if(null!=e){if("object"!=typeof e)throw Error(yn+"Object expected: "+e);if(e.hasOwnProperty(A="DECIMAL_PLACES")&&(Un(t=e[A],0,Pn,A),B=t),e.hasOwnProperty(A="ROUNDING_MODE")&&(Un(t=e[A],0,8,A),I=t),e.hasOwnProperty(A="EXPONENTIAL_AT")&&((t=e[A])&&t.pop?(Un(t[0],-Pn,0,A),Un(t[1],0,Pn,A),C=t[0],Q=t[1]):(Un(t,-Pn,Pn,A),C=-(Q=t<0?-t:t))),e.hasOwnProperty(A="RANGE"))if((t=e[A])&&t.pop)Un(t[0],-Pn,-1,A),Un(t[1],1,Pn,A),h=t[0],l=t[1];else{if(Un(t,-Pn,Pn,A),!t)throw Error(yn+A+" cannot be zero: "+t);h=-(l=t<0?-t:t)}if(e.hasOwnProperty(A="CRYPTO")){if((t=e[A])!==!!t)throw Error(yn+A+" not true or false: "+t);if(t){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw d=!t,Error(yn+"crypto unavailable");d=t}else d=t}if(e.hasOwnProperty(A="MODULO_MODE")&&(Un(t=e[A],0,9,A),p=t),e.hasOwnProperty(A="POW_PRECISION")&&(Un(t=e[A],0,Pn,A),w=t),e.hasOwnProperty(A="FORMAT")){if("object"!=typeof(t=e[A]))throw Error(yn+A+" not an object: "+t);y=t}if(e.hasOwnProperty(A="ALPHABET")){if("string"!=typeof(t=e[A])||/^.?$|[+\\-.\\s]|(.).*\\1/.test(t))throw Error(yn+A+" invalid: "+t);m="0123456789"==t.slice(0,10),b=t}}return{DECIMAL_PLACES:B,ROUNDING_MODE:I,EXPONENTIAL_AT:[C,Q],RANGE:[h,l],CRYPTO:d,MODULO_MODE:p,POW_PRECISION:w,FORMAT:y,ALPHABET:b}},v.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!v.DEBUG)return!0;var A,t,r=e.c,n=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(r)){if((1===i||-1===i)&&n>=-Pn&&n<=Pn&&n===wn(n)){if(0===r[0]){if(0===n&&1===r.length)return!0;break e}if((A=(n+1)%vn)<1&&(A+=vn),String(r[0]).length==A){for(A=0;A<r.length;A++)if((t=r[A])<0||t>=mn||t!==wn(t))break e;if(0!==t)return!0}}}else if(null===r&&null===n&&(null===i||1===i||-1===i))return!0;throw Error(yn+"Invalid BigNumber: "+e)},v.maximum=v.max=function(){return k(arguments,-1)},v.minimum=v.min=function(){return k(arguments,1)},v.random=(i=9007199254740992,o=Math.random()*i&2097151?function(){return wn(Math.random()*i)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var A,t,r,n,i,s=0,a=[],g=new v(f);if(null==e?e=B:Un(e,0,Pn),n=pn(e/vn),d)if(crypto.getRandomValues){for(A=crypto.getRandomValues(new Uint32Array(n*=2));s<n;)(i=131072*A[s]+(A[s+1]>>>11))>=9e15?(t=crypto.getRandomValues(new Uint32Array(2)),A[s]=t[0],A[s+1]=t[1]):(a.push(i%1e14),s+=2);s=n/2}else{if(!crypto.randomBytes)throw d=!1,Error(yn+"crypto unavailable");for(A=crypto.randomBytes(n*=7);s<n;)(i=281474976710656*(31&A[s])+1099511627776*A[s+1]+4294967296*A[s+2]+16777216*A[s+3]+(A[s+4]<<16)+(A[s+5]<<8)+A[s+6])>=9e15?crypto.randomBytes(7).copy(A,s):(a.push(i%1e14),s+=7);s=n/7}if(!d)for(;s<n;)(i=o())<9e15&&(a[s++]=i%1e14);for(n=a[--s],e%=vn,n&&e&&(i=kn[vn-e],a[s]=wn(n/i)*i);0===a[s];a.pop(),s--);if(s<0)a=[r=0];else{for(r=-1;0===a[0];a.splice(0,1),r-=vn);for(s=1,i=a[0];i>=10;i/=10,s++);s<vn&&(r-=vn-s)}return g.e=r,g.c=a,g}),v.sum=function(){for(var e=1,A=arguments,t=new v(A[0]);e<A.length;)t=t.plus(A[e++]);return t},r=function(){var e="0123456789";function A(e,A,t,r){for(var n,i,o=[0],s=0,a=e.length;s<a;){for(i=o.length;i--;o[i]*=A);for(o[0]+=r.indexOf(e.charAt(s++)),n=0;n<o.length;n++)o[n]>t-1&&(null==o[n+1]&&(o[n+1]=0),o[n+1]+=o[n]/t|0,o[n]%=t)}return o.reverse()}return function(r,n,i,o,s){var a,g,c,u,E,f,C,Q,h=r.indexOf("."),l=B,d=I;for(h>=0&&(u=w,w=0,r=r.replace(".",""),f=(Q=new v(n)).pow(r.length-h),w=u,Q.c=A(Ln(Rn(f.c),f.e,"0"),10,i,e),Q.e=Q.c.length),c=u=(C=A(r,n,i,s?(a=b,e):(a=e,b))).length;0==C[--u];C.pop());if(!C[0])return a.charAt(0);if(h<0?--c:(f.c=C,f.e=c,f.s=o,C=(f=t(f,Q,l,d,i)).c,E=f.r,c=f.e),h=C[g=c+l+1],u=i/2,E=E||g<0||null!=C[g+1],E=d<4?(null!=h||E)&&(0==d||d==(f.s<0?3:2)):h>u||h==u&&(4==d||E||6==d&&1&C[g-1]||d==(f.s<0?8:7)),g<1||!C[0])r=E?Ln(a.charAt(1),-l,a.charAt(0)):a.charAt(0);else{if(C.length=g,E)for(--i;++C[--g]>i;)C[g]=0,g||(++c,C=[1].concat(C));for(u=C.length;!C[--u];);for(h=0,r="";h<=u;r+=a.charAt(C[h++]));r=Ln(r,c,a.charAt(0))}return r}}(),t=function(){function e(e,A,t){var r,n,i,o,s=0,a=e.length,g=A%Tn,c=A/Tn|0;for(e=e.slice();a--;)s=((n=g*(i=e[a]%Tn)+(r=c*i+(o=e[a]/Tn|0)*g)%Tn*Tn+s)/t|0)+(r/Tn|0)+c*o,e[a]=n%t;return s&&(e=[s].concat(e)),e}function A(e,A,t,r){var n,i;if(t!=r)i=t>r?1:-1;else for(n=i=0;n<t;n++)if(e[n]!=A[n]){i=e[n]>A[n]?1:-1;break}return i}function t(e,A,t,r){for(var n=0;t--;)e[t]-=n,n=e[t]<A[t]?1:0,e[t]=n*r+e[t]-A[t];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(r,n,i,o,s){var a,g,c,u,E,f,B,I,C,Q,h,l,d,p,w,y,b,m=r.s==n.s?1:-1,S=r.c,k=n.c;if(!(S&&S[0]&&k&&k[0]))return new v(r.s&&n.s&&(S?!k||S[0]!=k[0]:k)?S&&0==S[0]||!k?0*m:m/0:NaN);for(C=(I=new v(m)).c=[],m=i+(g=r.e-n.e)+1,s||(s=mn,g=xn(r.e/vn)-xn(n.e/vn),m=m/vn|0),c=0;k[c]==(S[c]||0);c++);if(k[c]>(S[c]||0)&&g--,m<0)C.push(1),u=!0;else{for(p=S.length,y=k.length,c=0,m+=2,(E=wn(s/(k[0]+1)))>1&&(k=e(k,E,s),S=e(S,E,s),y=k.length,p=S.length),d=y,h=(Q=S.slice(0,y)).length;h<y;Q[h++]=0);b=k.slice(),b=[0].concat(b),w=k[0],k[1]>=s/2&&w++;do{if(E=0,(a=A(k,Q,y,h))<0){if(l=Q[0],y!=h&&(l=l*s+(Q[1]||0)),(E=wn(l/w))>1)for(E>=s&&(E=s-1),B=(f=e(k,E,s)).length,h=Q.length;1==A(f,Q,B,h);)E--,t(f,y<B?b:k,B,s),B=f.length,a=1;else 0==E&&(a=E=1),B=(f=k.slice()).length;if(B<h&&(f=[0].concat(f)),t(Q,f,h,s),h=Q.length,-1==a)for(;A(k,Q,y,h)<1;)E++,t(Q,y<h?b:k,h,s),h=Q.length}else 0===a&&(E++,Q=[0]);C[c++]=E,Q[0]?Q[h++]=S[d]||0:(Q=[S[d]],h=1)}while((d++<p||null!=Q[0])&&m--);u=null!=Q[0],C[0]||C.splice(0,1)}if(s==mn){for(c=1,m=C[0];m>=10;m/=10,c++);P(I,i+(I.e=c+g*vn-1)+1,o,u)}else I.e=g,I.r=+u;return I}}(),s=/^(-?)0([xbo])(?=\\w[\\w.]*$)/i,a=/^([^.]+)\\.$/,g=/^\\.([^.]+)$/,c=/^-?(Infinity|NaN)$/,u=/^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g,n=function(e,A,t,r){var n,i=t?A:A.replace(u,"");if(c.test(i))e.s=isNaN(i)?null:i<0?-1:1;else{if(!t&&(i=i.replace(s,(function(e,A,t){return n="x"==(t=t.toLowerCase())?16:"b"==t?2:8,r&&r!=n?e:A})),r&&(n=r,i=i.replace(a,"$1").replace(g,"0.$1")),A!=i))return new v(i,n);if(v.DEBUG)throw Error(yn+"Not a"+(r?" base "+r:"")+" number: "+A);e.s=null}e.c=e.e=null},E.absoluteValue=E.abs=function(){var e=new v(this);return e.s<0&&(e.s=1),e},E.comparedTo=function(e,A){return On(this,new v(e,A))},E.decimalPlaces=E.dp=function(e,A){var t,r,n,i=this;if(null!=e)return Un(e,0,Pn),null==A?A=I:Un(A,0,8),P(new v(i),e+i.e+1,A);if(!(t=i.c))return null;if(r=((n=t.length-1)-xn(this.e/vn))*vn,n=t[n])for(;n%10==0;n/=10,r--);return r<0&&(r=0),r},E.dividedBy=E.div=function(e,A){return t(this,new v(e,A),B,I)},E.dividedToIntegerBy=E.idiv=function(e,A){return t(this,new v(e,A),0,1)},E.exponentiatedBy=E.pow=function(e,A){var t,r,n,i,o,s,a,g,c=this;if((e=new v(e)).c&&!e.isInteger())throw Error(yn+"Exponent not an integer: "+x(e));if(null!=A&&(A=new v(A)),o=e.e>14,!c.c||!c.c[0]||1==c.c[0]&&!c.e&&1==c.c.length||!e.c||!e.c[0])return g=new v(Math.pow(+x(c),o?e.s*(2-Dn(e)):+x(e))),A?g.mod(A):g;if(s=e.s<0,A){if(A.c?!A.c[0]:!A.s)return new v(NaN);(r=!s&&c.isInteger()&&A.isInteger())&&(c=c.mod(A))}else{if(e.e>9&&(c.e>0||c.e<-1||(0==c.e?c.c[0]>1||o&&c.c[1]>=24e7:c.c[0]<8e13||o&&c.c[0]<=9999975e7)))return i=c.s<0&&Dn(e)?-0:0,c.e>-1&&(i=1/i),new v(s?1/i:i);w&&(i=pn(w/vn+2))}for(o?(t=new v(.5),s&&(e.s=1),a=Dn(e)):a=(n=Math.abs(+x(e)))%2,g=new v(f);;){if(a){if(!(g=g.times(c)).c)break;i?g.c.length>i&&(g.c.length=i):r&&(g=g.mod(A))}if(n){if(0===(n=wn(n/2)))break;a=n%2}else if(P(e=e.times(t),e.e+1,1),e.e>14)a=Dn(e);else{if(0===(n=+x(e)))break;a=n%2}c=c.times(c),i?c.c&&c.c.length>i&&(c.c.length=i):r&&(c=c.mod(A))}return r?g:(s&&(g=f.div(g)),A?g.mod(A):i?P(g,w,I,undefined):g)},E.integerValue=function(e){var A=new v(this);return null==e?e=I:Un(e,0,8),P(A,A.e+1,e)},E.isEqualTo=E.eq=function(e,A){return 0===On(this,new v(e,A))},E.isFinite=function(){return!!this.c},E.isGreaterThan=E.gt=function(e,A){return On(this,new v(e,A))>0},E.isGreaterThanOrEqualTo=E.gte=function(e,A){return 1===(A=On(this,new v(e,A)))||0===A},E.isInteger=function(){return!!this.c&&xn(this.e/vn)>this.c.length-2},E.isLessThan=E.lt=function(e,A){return On(this,new v(e,A))<0},E.isLessThanOrEqualTo=E.lte=function(e,A){return-1===(A=On(this,new v(e,A)))||0===A},E.isNaN=function(){return!this.s},E.isNegative=function(){return this.s<0},E.isPositive=function(){return this.s>0},E.isZero=function(){return!!this.c&&0==this.c[0]},E.minus=function(e,A){var t,r,n,i,o=this,s=o.s;if(A=(e=new v(e,A)).s,!s||!A)return new v(NaN);if(s!=A)return e.s=-A,o.plus(e);var a=o.e/vn,g=e.e/vn,c=o.c,u=e.c;if(!a||!g){if(!c||!u)return c?(e.s=-A,e):new v(u?o:NaN);if(!c[0]||!u[0])return u[0]?(e.s=-A,e):new v(c[0]?o:3==I?-0:0)}if(a=xn(a),g=xn(g),c=c.slice(),s=a-g){for((i=s<0)?(s=-s,n=c):(g=a,n=u),n.reverse(),A=s;A--;n.push(0));n.reverse()}else for(r=(i=(s=c.length)<(A=u.length))?s:A,s=A=0;A<r;A++)if(c[A]!=u[A]){i=c[A]<u[A];break}if(i&&(n=c,c=u,u=n,e.s=-e.s),(A=(r=u.length)-(t=c.length))>0)for(;A--;c[t++]=0);for(A=mn-1;r>s;){if(c[--r]<u[r]){for(t=r;t&&!c[--t];c[t]=A);--c[t],c[r]+=mn}c[r]-=u[r]}for(;0==c[0];c.splice(0,1),--g);return c[0]?T(e,c,g):(e.s=3==I?-1:1,e.c=[e.e=0],e)},E.modulo=E.mod=function(e,A){var r,n,i=this;return e=new v(e,A),!i.c||!e.s||e.c&&!e.c[0]?new v(NaN):!e.c||i.c&&!i.c[0]?new v(i):(9==p?(n=e.s,e.s=1,r=t(i,e,0,3),e.s=n,r.s*=n):r=t(i,e,0,p),(e=i.minus(r.times(e))).c[0]||1!=p||(e.s=i.s),e)},E.multipliedBy=E.times=function(e,A){var t,r,n,i,o,s,a,g,c,u,E,f,B,I,C,Q=this,h=Q.c,l=(e=new v(e,A)).c;if(!(h&&l&&h[0]&&l[0]))return!Q.s||!e.s||h&&!h[0]&&!l||l&&!l[0]&&!h?e.c=e.e=e.s=null:(e.s*=Q.s,h&&l?(e.c=[0],e.e=0):e.c=e.e=null),e;for(r=xn(Q.e/vn)+xn(e.e/vn),e.s*=Q.s,(a=h.length)<(u=l.length)&&(B=h,h=l,l=B,n=a,a=u,u=n),n=a+u,B=[];n--;B.push(0));for(I=mn,C=Tn,n=u;--n>=0;){for(t=0,E=l[n]%C,f=l[n]/C|0,i=n+(o=a);i>n;)t=((g=E*(g=h[--o]%C)+(s=f*g+(c=h[o]/C|0)*E)%C*C+B[i]+t)/I|0)+(s/C|0)+f*c,B[i--]=g%I;B[i]=t}return t?++r:B.splice(0,1),T(e,B,r)},E.negated=function(){var e=new v(this);return e.s=-e.s||null,e},E.plus=function(e,A){var t,r=this,n=r.s;if(A=(e=new v(e,A)).s,!n||!A)return new v(NaN);if(n!=A)return e.s=-A,r.minus(e);var i=r.e/vn,o=e.e/vn,s=r.c,a=e.c;if(!i||!o){if(!s||!a)return new v(n/0);if(!s[0]||!a[0])return a[0]?e:new v(s[0]?r:0*n)}if(i=xn(i),o=xn(o),s=s.slice(),n=i-o){for(n>0?(o=i,t=a):(n=-n,t=s),t.reverse();n--;t.push(0));t.reverse()}for((n=s.length)-(A=a.length)<0&&(t=a,a=s,s=t,A=n),n=0;A;)n=(s[--A]=s[A]+a[A]+n)/mn|0,s[A]=mn===s[A]?0:s[A]%mn;return n&&(s=[n].concat(s),++o),T(e,s,o)},E.precision=E.sd=function(e,A){var t,r,n,i=this;if(null!=e&&e!==!!e)return Un(e,1,Pn),null==A?A=I:Un(A,0,8),P(new v(i),e,A);if(!(t=i.c))return null;if(r=(n=t.length-1)*vn+1,n=t[n]){for(;n%10==0;n/=10,r--);for(n=t[0];n>=10;n/=10,r++);}return e&&i.e+1>r&&(r=i.e+1),r},E.shiftedBy=function(e){return Un(e,-9007199254740991,Sn),this.times("1e"+e)},E.squareRoot=E.sqrt=function(){var e,A,r,n,i,o=this,s=o.c,a=o.s,g=o.e,c=B+4,u=new v("0.5");if(1!==a||!s||!s[0])return new v(!a||a<0&&(!s||s[0])?NaN:s?o:1/0);if(0==(a=Math.sqrt(+x(o)))||a==1/0?(((A=Rn(s)).length+g)%2==0&&(A+="0"),a=Math.sqrt(+A),g=xn((g+1)/2)-(g<0||g%2),r=new v(A=a==1/0?"5e"+g:(A=a.toExponential()).slice(0,A.indexOf("e")+1)+g)):r=new v(a+""),r.c[0])for((a=(g=r.e)+c)<3&&(a=0);;)if(i=r,r=u.times(i.plus(t(o,i,c,1))),Rn(i.c).slice(0,a)===(A=Rn(r.c)).slice(0,a)){if(r.e<g&&--a,"9999"!=(A=A.slice(a-3,a+1))&&(n||"4999"!=A)){+A&&(+A.slice(1)||"5"!=A.charAt(0))||(P(r,r.e+B+2,1),e=!r.times(r).eq(o));break}if(!n&&(P(i,i.e+B+2,0),i.times(i).eq(o))){r=i;break}c+=4,a+=4,n=1}return P(r,r.e+B+1,I,e)},E.toExponential=function(e,A){return null!=e&&(Un(e,0,Pn),e++),S(this,e,A,1)},E.toFixed=function(e,A){return null!=e&&(Un(e,0,Pn),e=e+this.e+1),S(this,e,A)},E.toFormat=function(e,A,t){var r,n=this;if(null==t)null!=e&&A&&"object"==typeof A?(t=A,A=null):e&&"object"==typeof e?(t=e,e=A=null):t=y;else if("object"!=typeof t)throw Error(yn+"Argument not an object: "+t);if(r=n.toFixed(e,A),n.c){var i,o=r.split("."),s=+t.groupSize,a=+t.secondaryGroupSize,g=t.groupSeparator||"",c=o[0],u=o[1],E=n.s<0,f=E?c.slice(1):c,B=f.length;if(a&&(i=s,s=a,a=i,B-=i),s>0&&B>0){for(i=B%s||s,c=f.substr(0,i);i<B;i+=s)c+=g+f.substr(i,s);a>0&&(c+=g+f.slice(i)),E&&(c="-"+c)}r=u?c+(t.decimalSeparator||"")+((a=+t.fractionGroupSize)?u.replace(new RegExp("\\\\d{"+a+"}\\\\B","g"),"$&"+(t.fractionGroupSeparator||"")):u):c}return(t.prefix||"")+r+(t.suffix||"")},E.toFraction=function(e){var A,r,n,i,o,s,a,g,c,u,E,B,C=this,Q=C.c;if(null!=e&&(!(a=new v(e)).isInteger()&&(a.c||1!==a.s)||a.lt(f)))throw Error(yn+"Argument "+(a.isInteger()?"out of range: ":"not an integer: ")+x(a));if(!Q)return new v(C);for(A=new v(f),c=r=new v(f),n=g=new v(f),B=Rn(Q),o=A.e=B.length-C.e-1,A.c[0]=kn[(s=o%vn)<0?vn+s:s],e=!e||a.comparedTo(A)>0?o>0?A:c:a,s=l,l=1/0,a=new v(B),g.c[0]=0;u=t(a,A,0,1),1!=(i=r.plus(u.times(n))).comparedTo(e);)r=n,n=i,c=g.plus(u.times(i=c)),g=i,A=a.minus(u.times(i=A)),a=i;return i=t(e.minus(r),n,0,1),g=g.plus(i.times(c)),r=r.plus(i.times(n)),g.s=c.s=C.s,E=t(c,n,o*=2,I).minus(C).abs().comparedTo(t(g,r,o,I).minus(C).abs())<1?[c,n]:[g,r],l=s,E},E.toNumber=function(){return+x(this)},E.toPrecision=function(e,A){return null!=e&&Un(e,1,Pn),S(this,e,A,2)},E.toString=function(e){var A,t=this,n=t.s,i=t.e;return null===i?n?(A="Infinity",n<0&&(A="-"+A)):A="NaN":(null==e?A=i<=C||i>=Q?Fn(Rn(t.c),i):Ln(Rn(t.c),i,"0"):10===e&&m?A=Ln(Rn((t=P(new v(t),B+i+1,I)).c),t.e,"0"):(Un(e,2,b.length,"Base"),A=r(Ln(Rn(t.c),i,"0"),10,e,n,!0)),n<0&&t.c[0]&&(A="-"+A)),A},E.valueOf=E.toJSON=function(){return x(this)},E._isBigNumber=!0,E[Symbol.toStringTag]="BigNumber",E[Symbol.for("nodejs.util.inspect.custom")]=E.valueOf,null!=A&&v.set(A),v}();const Mn=Nn,Hn=21e14,Kn=1e8;function Gn(e,A=!1){if("number"==typeof e&&!Number.isInteger(e))throw new Error("satsToBtc must be called on an integer number");const t=new Mn(e.toString()).div(Kn).toFixed(8);return A?`${t} ${Ar.unit}`:t}function jn(e){const A=new Mn(e).times(Kn);if(!A.isInteger())throw new Error("BTC amount is out of range");if(A.lt(0)||A.gt(Hn))throw new Error("BTC amount is out of range");return BigInt(A.toFixed(0))}const Jn=Sr(yr(),"BitcoinAddressStruct",(e=>ln(e,Bn.mainnet)||ln(e,Bn.testnet))),Yn=Qr(Ar.availableAssets),zn=Qr(Ar.availableNetworks),Vn=vr(yr(),/^(?!0\\d)(\\d+(\\.\\d+)?)$/u),Xn=vr(yr(),/^[0-9a-fA-F]{64}$/u),Wn=Sr(yr(),"AmountStruct",(e=>{const A=parseFloat(e);if(Number.isNaN(A)||A<=0||!Number.isFinite(A))return"Invalid amount, must be a positive finite number";try{jn(e)}catch(e){return"Invalid amount, out of bounds"}return!0})),qn=(new Error("timeout while waiting for mutex to become available"),new Error("mutex already locked"),new Error("request for lock canceled"));var Zn=function(e,A,t,r){return new(t||(t=Promise))((function(n,i){function o(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var A;e.done?n(e.value):(A=e.value,A instanceof t?A:new t((function(e){e(A)}))).then(o,s)}a((r=r.apply(e,A||[])).next())}))};class _n{constructor(e,A=qn){if(this._maxConcurrency=e,this._cancelError=A,this._queue=[],this._waiters=[],e<=0)throw new Error("semaphore must be initialized to a positive value");this._value=e}acquire(){const e=this.isLocked(),A=new Promise(((e,A)=>this._queue.push({resolve:e,reject:A})));return e||this._dispatch(),A}runExclusive(e){return Zn(this,void 0,void 0,(function*(){const[A,t]=yield this.acquire();try{return yield e(A)}finally{t()}}))}waitForUnlock(){return Zn(this,void 0,void 0,(function*(){if(!this.isLocked())return Promise.resolve();return new Promise((e=>this._waiters.push({resolve:e})))}))}isLocked(){return this._value<=0}release(){if(this._maxConcurrency>1)throw new Error("this method is unavailable on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){const e=this._currentReleaser;this._currentReleaser=void 0,e()}}cancel(){this._queue.forEach((e=>e.reject(this._cancelError))),this._queue=[]}_dispatch(){const e=this._queue.shift();if(!e)return;let A=!1;this._currentReleaser=()=>{A||(A=!0,this._value++,this._resolveWaiters(),this._dispatch())},e.resolve([this._value--,this._currentReleaser])}_resolveWaiters(){this._waiters.forEach((e=>e.resolve())),this._waiters=[]}}var $n=function(e,A,t,r){return new(t||(t=Promise))((function(n,i){function o(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var A;e.done?n(e.value):(A=e.value,A instanceof t?A:new t((function(e){e(A)}))).then(o,s)}a((r=r.apply(e,A||[])).next())}))};class ei{constructor(e){this._semaphore=new _n(1,e)}acquire(){return $n(this,void 0,void 0,(function*(){const[,e]=yield this._semaphore.acquire();return e}))}runExclusive(e){return this._semaphore.runExclusive((()=>e()))}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.release()}cancel(){return this._semaphore.cancel()}}const Ai=new ei;function ti(e=!1){return e?new ei:Ai}async function ri(e){return await snap.request({method:"snap_dialog",params:{id:e}})}var ni;!function(e){e[e.ERROR=1]="ERROR",e[e.WARN=2]="WARN",e[e.INFO=3]="INFO",e[e.DEBUG=4]="DEBUG",e[e.TRACE=5]="TRACE",e[e.ALL=6]="ALL",e[e.OFF=0]="OFF"}(ni||(ni={}));const ii=(e,...A)=>{};const oi=new class{log;warn;error;debug;info;trace;#e=ni.OFF;set logLevel(e){this.#e=e,this.init()}get logLevel(){return this.#e}init(){this.error=console.error.bind(console),this.warn=console.warn.bind(console),this.info=console.info.bind(console),this.debug=console.debug.bind(console),this.trace=console.trace.bind(console),this.log=console.log.bind(console),this.#e<ni.ERROR&&(this.error=ii),this.#e<ni.WARN&&(this.warn=ii),this.#e<ni.INFO&&(this.info=ii),this.#e<ni.DEBUG&&(this.debug=ii),this.#e<ni.TRACE&&(this.trace=ii),this.#e<ni.ALL&&(this.log=ii)}};class si{mtx;#A;#t;constructor({createLock:e=!1,encrypted:A=!0}={}){this.mtx=ti(e),this.#A={id:void 0,orgState:void 0,current:void 0,isRollingBack:!1,hasCommitted:!1},this.#t=A}async get(){return async function(e){return await snap.request({method:"snap_manageState",params:{operation:"get",encrypted:e}})}(this.#t)}async set(e){return async function({data:e,encrypted:A}){await snap.request({method:"snap_manageState",params:{operation:"update",newState:e,encrypted:A}})}({data:e,encrypted:this.#t})}async update(e){if(this.mtx.isLocked()){if(this.#A.current)return oi.info(`SnapStateManager.update [${this.#r}]: transaction is processing, use existing state`),void await e(this.#A.current);oi.info("SnapStateManager.update: transaction is not exist, create lock after prev lock is released")}await this.mtx.runExclusive((async()=>{const A=await this.get();await e(A),await this.set(A)}))}async withTransaction(e){await this.mtx.runExclusive((async()=>{if(await this.#n(),!this.#A.current||!this.#A.orgState||!this.#A.id)throw new Error("Failed to begin transaction");oi.info(`SnapStateManager.withTransaction [${this.#r}]: begin transaction`);try{await e(this.#A.current),await this.set(this.#A.current)}catch(e){throw oi.info(`SnapStateManager.withTransaction [${this.#r}]: error : ${JSON.stringify(e.message)}`),await this.#i(),e}finally{this.#o()}}))}async commit(){if(!this.#A.current||!this.#A.orgState)throw new Error("Failed to commit transaction");this.#A.hasCommitted=!0,await this.set(this.#A.current)}async#n(){this.#A={id:Ur(),orgState:await this.get(),current:await this.get(),isRollingBack:!1,hasCommitted:!1}}async#i(){try{this.#A.hasCommitted&&!this.#A.isRollingBack&&this.#A.orgState&&(oi.info(`SnapStateManager.rollback [${this.#r}]: attempt to rollback state`),this.#A.isRollingBack=!0,await this.set(this.#A.orgState))}catch(e){throw oi.info(`SnapStateManager.rollback [${this.#r}]: error : ${JSON.stringify(e)}`),new Error("Failed to rollback state")}}#o(){this.#A.orgState=void 0,this.#A.current=void 0,this.#A.id=void 0,this.#A.isRollingBack=!1,this.#A.hasCommitted=!1}get#r(){return this.#A.id??""}}function ai(e,A){try{cr(e,A)}catch(e){throw new Ut(e.message)}}function gi(e,A){try{cr(e,A)}catch(e){throw new Pt("Invalid Response")}}class ci extends Dr{constructor(e){super(e??"Account not found")}}class ui extends Dr{constructor(e){super(e??"Method not implemented")}}class Ei extends Dr{constructor(e){super(e??"No fee rates available")}}class fi extends Dr{constructor(e){super(e??"Send flow request not found")}}class Bi extends Dr{constructor(e){super(e??"Currency rates not available")}}function Ii(e,A=Ar.defaultFeeRate){cr(A,Qr(Object.values(Xt)));const t=e.find((e=>e.type===A));if(!t)throw new Ei;return Math.max(Number(t.rate),1)}function Ci(e,A){if(!e||!A)throw new ci;if(e.address!==A.address)throw new ci("Inconsistent account found")}class Qi extends Dr{}class hi extends Dr{}class li extends hi{}class di extends li{constructor(e){super(e??"Transaction amount too small")}}class pi extends li{constructor(e){super(e??"Insufficient funds")}}class wi extends Dr{}var yi;!function(e){e.P2pkh="p2pkh",e.P2shP2wkh="p2sh-p2wpkh",e.P2wpkh="p2wpkh"}(yi||(yi={}));const bi={[Pe.P2wpkh]:yi.P2wpkh},mi={p2pkh:546,"p2sh-p2wpkh":540,p2wpkh:294},vi=1e-4;var Si=n(7612);function ki(e){const A=Object.values(qt);if(!A.includes(e))throw new Error(`Invalid scope, must be one of: ${A.join(", ")}`)}function Ti(e){switch(e){case qt.Mainnet:return Si.o8.bitcoin;case qt.Testnet:return Si.o8.testnet;default:throw new Error("Invalid network")}}function Pi(e){switch(e){case Si.o8.bitcoin:return qt.Mainnet;case Si.o8.testnet:return qt.Testnet;default:throw new Error("Invalid network")}}function xi(e,A){return"number"==typeof e?e<mi[A]:e<BigInt(mi[A])}class Ri{#s;#a;network;scriptType;mfp;index;hdPath;pubkey;type;signer;constructor(e,A,t,r,n,i,o,s){this.mfp=e,this.index=A,this.hdPath=t,this.pubkey=r,this.network=n,this.scriptType=i,this.signer=s,this.type=o}get script(){return this.payment.output}get address(){if(!this.#s){if(!this.payment.address)throw new Error("Payment address is missing");this.#s=this.payment.address}return this.#s}get payment(){return this.#a||(this.#a=function(e,A,t){switch(e){case yi.P2pkh:return Si.KT.p2pkh({pubkey:A,network:t});case yi.P2shP2wkh:return Si.KT.p2sh({redeem:Si.KT.p2wpkh({pubkey:A,network:t}),network:t});case yi.P2wpkh:return Si.KT.p2wpkh({pubkey:A,network:t});default:throw new Error("Invalid script type")}}(this.scriptType,Kr(this.pubkey),this.network)),this.#a}}class Oi extends Ri{static path=["m","84\'","0\'"];static scriptType=yi.P2wpkh}class Ui extends Oi{static path=["m","84\'","1\'"]}var Di=n(242),Fi=n(3553);function Li(e,A){let t=A;return"m"===t[0]&&(t=t.slice(1)),t.reduce(((e,A)=>{const t=A.endsWith("\'");let r=A;if(t&&(r=r.slice(0,-1)),!/^\\d+$/u.test(r))throw new Error("Invalid index");const n=parseInt(r,10);return t?e.deriveHardened(n):e.derive(n)}),e)}class Ni{_network;_bip32Api;curve="secp256k1";constructor(e){this._bip32Api=(0,Fi.Pr)(Di),this._network=e}async getRoot(e){try{const A=await async function(e,A){return await snap.request({method:"snap_getBip32Entropy",params:{path:e,curve:A}})}(e,this.curve);if(!A.privateKey)throw new Qi("Deriver private key is missing");const t=Kr(A.privateKey),r=Kr(A.chainCode),n=this.createBip32FromPrivateKey(t,r);return n.__DEPTH=A.depth,n.__INDEX=A.index,n}catch(e){throw Fr(e,Qi)}}createBip32FromPrivateKey(e,A){try{return this._bip32Api.fromPrivateKey(e,A,this._network)}catch(e){throw new Qi("Unable to construct BIP32 node from private key")}}async getChild(e,A){return Promise.resolve(Li(e,A))}}var Mi=n(2803),Hi=n.n(Mi);class Ki{_feeRate;constructor(e){this._feeRate=Math.round(e)}selectCoins(e,A,t){const r=Hi()(e,A,this._feeRate),n={fee:r.fee,inputs:r.inputs??[],outputs:[]};if(r.outputs)for(const e of r.outputs)if(e.address)n.outputs.push(e);else{if(void 0!==n.change)throw new Error("Unexpected error: found more than 1 change output");t.value=e.value,n.change=t}return n}}const Gi=(0,n(1075).Ay)(Di);class ji{_psbt;_network;get psbt(){return this._psbt}constructor(e,A){this._psbt=void 0===A?new Si.iL({network:e}):A,this._network=e}static fromBase64(e,A){const t=Si.iL.fromBase64(A,{network:e});return new ji(e,t)}addInput(e,A,t,r,n){try{this._psbt.addInput({hash:e.txHash,index:e.index,witnessUtxo:{script:e.script,value:e.value},bip32Derivation:[{masterFingerprint:n,path:t,pubkey:r}],sequence:A?Si.ZX.DEFAULT_SEQUENCE-2:Si.ZX.DEFAULT_SEQUENCE})}catch(e){throw oi.error("Failed to add input",e),new wi("Failed to add input in PSBT")}}addInputs(e,A,t,r,n){for(const i of e)this.addInput(i,A,t,r,n)}addOutput(e){try{this._psbt.addOutput({script:e.script,value:e.value})}catch(e){throw oi.error("Failed to add output",e),new wi("Failed to add output in PSBT")}}addOutputs(e){for(const A of e)this.addOutput(A)}getFee(){try{return this._psbt.getFee()}catch(e){throw oi.error("Failed to get fee",e),new wi("Failed to get fee from PSBT")}}async signDummy(e){try{const A=this._psbt.clone();return await A.signAllInputsHDAsync(e),A.finalizeAllInputs(),new ji(this._network,A)}catch(e){throw oi.error("Failed to sign dummy",e),new wi("Failed to sign dummy in PSBT")}}toBase64(){try{return this._psbt.toBase64()}catch(e){throw oi.error("Failed to convert to base64",e),new wi("Failed to output PSBT string")}}async signNVerify(e){try{if(await this._psbt.signAllInputsHDAsync(e),!this._psbt.validateSignaturesOfAllInputs(((e,A,t)=>this.validateInputs(e,A,t))))throw new wi("Invalid signature to sign the PSBT\'s inputs")}catch(e){throw Fr(e,wi)}}finalize(){try{this._psbt.finalizeAllInputs();const e=this._psbt.extractTransaction().toHex();if(this._psbt.extractTransaction().weight()>4e5)throw new wi("Transaction is too large");return e}catch(e){throw Fr(e,wi)}}validateInputs(e,A,t){return Gi.fromPublicKey(e).verify(A,t)}}class Ji{publicKey;fingerprint;_node;constructor(e,A){this._node=e,this.publicKey=this._node.publicKey,this.fingerprint=A??this._node.fingerprint}derivePath(e){try{const A=Li(this._node,e.split("/"));return new Ji(A,this.fingerprint)}catch(e){throw new Error("Unable to derive path")}}async sign(e){return this._node.sign(e)}verify(e,A){return this._node.verify(e,A)}}class Yi{sender;_change;_recipients;_outputTotal;_txFee;_feeRate;constructor(e,A){this.feeRate=A,this.txFee=0,this.sender=e,this._recipients=[],this._outputTotal=BigInt(0)}addRecipients(e){for(const A of e)this.addRecipient(A)}addRecipient(e){this._outputTotal+=e.bigIntValue,this._recipients.push({address:e.address,value:e.bigIntValue})}addChange(e){this._change={address:e.address,value:e.bigIntValue}}set txFee(e){this._txFee="number"==typeof e?BigInt(e):e}get txFee(){return this._txFee}set feeRate(e){this._feeRate="number"==typeof e?BigInt(e):e}get feeRate(){return this._feeRate}get total(){return this._outputTotal+(this.change?BigInt(this.change.value):BigInt(0))+this.txFee}get recipients(){return this._recipients}get change(){return this._change}}class zi{_value;script;txHash;index;block;constructor(e,A){this.script=A,this._value=BigInt(e.value),this.index=e.index,this.txHash=e.txHash,this.block=e.block}get value(){return Number(this._value)}get bigIntValue(){return this._value}}class Vi{_value;script;address;constructor(e,A,t){this.value=e,this.address=A,this.script=t}get value(){return Number(this._value)}set value(e){this._value="number"==typeof e?BigInt(e):e}get bigIntValue(){return this._value}}class Xi{_deriver;_network;constructor(e,A){this._deriver=e,this._network=A}async unlock(e,A){try{const t=this.getAccountCtor(A??yi.P2wpkh),r=["m","0\'","0",`${e}`],n=await this._deriver.getRoot(t.path),i=await this._deriver.getChild(n,r);return new t(Gr(n.fingerprint,"hex"),e,r.join("/"),Gr(i.publicKey,"hex"),this._network,t.scriptType,`bip122:${t.scriptType.toLowerCase()}`,this.getHdSigner(n))}catch(e){throw Fr(e,hi)}}async createTransaction(e,A,t){const{scriptType:r,script:n,address:i,hdPath:o,pubkey:s,mfp:a,signer:g}=e,c=this.createTxInput(t.utxos,n),u=this.createTxOutput(A,r),E=this.getFeeRate(t.fee),f=this.selectCoins(c,u,new Vi(0,i,n),E);if(0===f.inputs.length||0===f.outputs.length)throw new pi;const B=new ji(this._network);B.addInputs(f.inputs,t.replaceable??!0,o,Kr(s,!1),Kr(a,!1));const I=new Yi(i,E);for(const e of f.outputs)B.addOutput(e),I.addRecipient(e);f.change&&(xi(f.change.value,r)?oi.warn("[BtcWallet.createTransaction] Change is too small, adding to fees"):(B.addOutput(f.change),I.addChange(f.change)));const C=await B.signDummy(g);return I.txFee=C.getFee(),{tx:B.toBase64(),txInfo:I}}async estimateFee(e,A,t){const{scriptType:r,script:n}=e,i=this.createTxInput(t.utxos,n),o=this.createTxOutput(A,r),s=this.getFeeRate(t.fee);return this.selectCoins(i,o,new Vi(0,e.address,n),s)}async signTransaction(e,A){const t=ji.fromBase64(this._network,A);return await t.signNVerify(e),t.finalize()}getHdSigner(e){return new Ji(e,e.fingerprint)}getAccountCtor(e){let A=e;if(e.includes("bip122:")&&(A=e.split(":")[1]),A.toLowerCase()===yi.P2wpkh.toLowerCase())return this.getP2WPKHAccountCtorByNetwork();throw new hi("Invalid script type")}createTxInput(e,A){return e.map((e=>new zi(e,A)))}createTxOutput(e,A){return e.map((e=>{if(xi(e.value,A))throw new di;const t=function(e,A){try{return Si.hl.toOutputScript(e,A)}catch(e){throw new Error("Destination address has no matching Script")}}(e.address,this._network);return new Vi(e.value,e.address,t)}))}selectCoins(e,A,t,r){return new Ki(r).selectCoins(e,A,t)}getP2WPKHAccountCtorByNetwork(){switch(this._network){case Si.o8.bitcoin:return Oi;case Si.o8.testnet:return Ui;default:throw new hi("Invalid network")}}getFeeRate(e){return Math.max(e,1)}}class Wi extends Dr{}class qi extends Dr{}function Zi(e){return Ar.defaultSatsProtectionEnabled&&e===Si.o8.bitcoin}class _i{_dataClient;_satsProtectionDataClient;_cacheStateManager;_options;constructor({dataClient:e,satsProtectionDataClient:A,cacheStateManager:t},r){this._dataClient=e,this._satsProtectionDataClient=A,this._cacheStateManager=t,this._options=r}get network(){return this._options.network}async getBalances(e,A){try{if(A.length>1)throw new qi("Only one asset is supported");const t=A[0];if(this.network===Si.o8.testnet&&t!==Zt.TBtc||this.network===Si.o8.bitcoin&&t!==Zt.Btc)throw new qi("Invalid asset");return{balances:{[t]:{amount:await this.getSpendableBalance(e)}}}}catch(e){throw Fr(e,qi)}}async getFeeRates(){const e=await this._cacheStateManager.getFeeRate(Pi(this.network));if(e&&!e.isExpired())return e.value.valueOf();try{const e=await this._dataClient.getFeeRates(),A={fees:Object.entries(e).map((([e,A])=>({type:e,rate:BigInt(A)})))};return await this._cacheStateManager.setFeeRate(Pi(this.network),A),A}catch(e){throw Fr(e,qi)}}async getTransactionStatus(e){try{return await this._dataClient.getTransactionStatus(e)}catch(e){throw new qi(e)}}async getDataForTransaction(e){try{return{data:{utxos:await this.getSpendableUtxos(e)}}}catch(e){throw Fr(e,qi)}}async getSpendableUtxos(e){return this.isSatsProtectionEnabled()?await this._satsProtectionDataClient.filterUtxos(e,[]):await this._dataClient.getUtxos(e)}async getSpendableBalance(e){if(this.isSatsProtectionEnabled()){return(await this.getSpendableUtxos(e)).reduce(((e,A)=>e+BigInt(A.value)),BigInt(0))}const A=await this._dataClient.getBalances(e);return Object.values(A).reduce(((e,A)=>e+BigInt(A)),BigInt(0))}isSatsProtectionEnabled(){return Zi(this.network)}async broadcastTransaction(e){try{return{transactionId:await this._dataClient.sendTransaction(e)}}catch(e){throw Fr(e,qi)}}listTransactions(){throw new Error("Method not implemented.")}}var $i;!function(e){e.Get="GET",e.Post="POST"}($i||($i={}));class eo{async getResponse(e){try{return await e.json()}catch(e){throw new Error("API response error: response body can not be deserialised.")}}buildHttpRequest({method:e,headers:A={},url:t,body:r}){return{url:t,method:e,headers:{"Content-Type":"application/json",...A},body:e===$i.Post&&r?JSON.stringify(r):void 0}}async submitHttpRequest({requestName:e="",request:A,responseStruct:t}){const r=`[${this.apiClientName}.${e}]`;try{oi.debug(`${r} request: ${A.method}`);const e={method:A.method,headers:A.headers,body:A.body},n=await fetch(A.url,e),i=await this.getResponse(n);return oi.debug(`${r} response:`,JSON.stringify(i)),ur(i,t,"Unexpected response from API client"),i}catch(e){throw oi.info(`${r} error: ${e.message}`),Fr(e,Wi)}}}const Ao=dr({result:dr({address:yr(),balance:yr(),totalReceived:yr(),totalSent:yr(),unconfirmedBalance:yr(),unconfirmedTxs:lr(),txs:lr()})}),to=dr({result:Ir(dr({txid:yr(),vout:lr(),value:yr(),height:lr(),confirmations:lr()}))}),ro=dr({result:yr()}),no=dr({result:dr({blocks:lr(),feerate:pr(lr()),errors:pr(Ir(yr()))})}),io=dr({result:dr({txid:yr(),hash:yr(),version:lr(),size:lr(),vsize:lr(),weight:lr(),locktime:lr(),hex:yr(),blockhash:pr(yr()),confirmations:pr(lr()),time:pr(lr()),blocktime:pr(lr())})}),oo=dr({result:dr({loaded:Cr(),size:lr(),bytes:lr(),usage:lr(),maxmempool:lr(),mempoolminfee:lr(),minrelaytxfee:lr(),unbroadcastcount:lr(),incrementalrelayfee:lr(),fullrbf:Cr()})}),so={[Xt.Fast]:1,[Xt.Medium]:2,[Xt.Slow]:3},ao={[Xt.Fast]:21,[Xt.Medium]:22,[Xt.Slow]:23};class go extends eo{apiClientName="QuickNodeClient";_options;_priorityMap;constructor(e){super();const A=e.network===Si.o8.bitcoin;this._options=e,this._priorityMap=A?so:ao}get baseUrl(){switch(this._options.network){case Si.o8.bitcoin:return this._options.mainnetEndpoint;case Si.o8.testnet:return this._options.testnetEndpoint;default:throw new Error("Invalid network")}}isErrorResponse(e){return!e.result||Object.prototype.hasOwnProperty.call(e.result,"error")}formatError(e){return JSON.stringify(e.error)}async getResponse(e){const A=await super.getResponse(e);if(200!==e.status)throw new Error(`API response error: ${this.formatError(A)}`);if(this.isErrorResponse(A))throw new Error("Error response from quicknode");return A}async submitJsonRPCRequest({request:e,responseStruct:A}){return await this.submitHttpRequest({request:this.buildHttpRequest({method:$i.Post,url:this.baseUrl,body:e}),responseStruct:A,requestName:e.method})}async getBalances(e){cr(e,Ir(qe));const A=new Map;return await Jr(e,(async e=>{const t=await this.submitJsonRPCRequest({request:{method:"bb_getaddress",params:[e,{details:"basic"}]},responseStruct:Ao});A.set(e,parseInt(t.result.balance,10))})),e.reduce(((e,t)=>(e[t]=A.get(t)??0,e)),{})}async getUtxos(e,A){cr(e,Ir(qe));const t=[];return await Jr(e,(async e=>{(await this.submitJsonRPCRequest({request:{method:"bb_getutxos",params:[e,{confirmed:!A}]},responseStruct:to})).result.forEach((e=>{t.push({block:e.height,txHash:e.txid,index:e.vout,value:parseInt(e.value,10)})}))})),t}async getFeeRates(){const e={[Ar.defaultFeeRate]:this._priorityMap[Ar.defaultFeeRate]},A={},{result:{mempoolminfee:t,minrelaytxfee:r}}=await this.getMempoolInfo();return await Jr(Object.entries(e),(async([e,n])=>{const{result:{feerate:i,errors:o}}=await this.submitJsonRPCRequest({request:{method:"estimatesmartfee",params:[n]},responseStruct:no});if(Array.isArray(o)&&1===o.length&&"Insufficient data or no feerate found"===o[0])oi.warn(`The feerate is unavailable on target block ${n}, use mempool data \'mempoolminfee\' instead`);else if(o)throw new Wi(`Failed to get fee rate from quicknode: ${JSON.stringify(o)}`);const s=function(e,A,t){const r=Math.max(e,A);return Math.max(r,t,vi)}(i??0,t,r);A[e]=Number(function(e){if(e<1e3)throw new Error(`Unable to convert kvB to vB: "${e}" is too small`);const A=Mn(e.toString()),t=Mn(1e3),r=A.div(t).toFixed(0,Mn.ROUND_HALF_UP);return BigInt(r.toString())}(jn(s.toString())))})),A}async getMempoolInfo(){return await this.submitJsonRPCRequest({request:{method:"getmempoolinfo",params:[]},responseStruct:oo})}async sendTransaction(e){return(await this.submitJsonRPCRequest({request:{method:"sendrawtransaction",params:[e]},responseStruct:ro})).result}async getTransactionStatus(e){const A=await this.submitJsonRPCRequest({request:{method:"getrawtransaction",params:[e,1]},responseStruct:io});return{status:A.result.confirmations&&A.result.confirmations>=Ar.defaultConfirmationThreshold?Wt.Confirmed:Wt.Pending}}}const co=dr({count:lr(),utxos:Ir(dr({output:yr(),value:lr(),block_number:lr()}))});class uo extends eo{apiClientName="SimpleHashClient";baseUrl="https://api.simplehash.com/api/v0";_options;constructor(e){super(),this._options=e}getApiUrl(e){return new URL(`${this.baseUrl}${e}`).toString()}getHttpHeaders(){return{"X-API-KEY":this._options.apiKey}}async getResponse(e){if(200!==e.status)throw new Error("API response error");return await super.getResponse(e)}async submitGetApiRequest({endpoint:e,responseStruct:A,requestName:t}){return await super.submitHttpRequest({request:this.buildHttpRequest({method:$i.Get,url:this.getApiUrl(e),headers:this.getHttpHeaders()}),responseStruct:A,requestName:t})}outputToTxHashAndVout(e){const[A,t]=e.split(":");return[A,parseInt(t,10)]}async filterUtxos(e,A){const t=Array.from(new Set(e));cr(t,Ir(qe));const r=[];return await Jr(t,(async e=>{const A=await this.submitGetApiRequest({endpoint:`/custom/wallet_assets_by_utxo/${e}?without_inscriptions_runes_raresats=1`,responseStruct:co,requestName:"wallet_assets_by_utxo"});for(const e of A.utxos){const[A,t]=this.outputToTxHashAndVout(e.output);r.push({txHash:A,index:t,value:e.value,block:e.block_number})}})),r}}class Eo{data={fees:[],expiration:0};constructor(e={fees:[]},A=6e4){this.data={fees:e.fees,expiration:A??Date.now()+tr}}static fromSerialized(e){const A=new Eo;return A.deserialize(e),A}valueOf(){return this.data}serialize(){return{fees:this.data.fees.map((e=>({...e,rate:e.rate.toString()}))),expiration:this.data.expiration}}deserialize(e){Object.entries(e.fees).forEach((([A,t])=>{const r=t;this.data.fees[A]={type:r.type,rate:BigInt(r.rate),expiration:e.expiration}}))}}class fo{value;expiredAt;constructor(e,A){this.value=e,this.expiredAt=A??Date.now()+tr}isExpired(){return this.expiredAt<=Date.now()}}class Bo extends si{constructor(){super({encrypted:!1})}async get(){return super.get().then((e=>e||{feeRate:{[qt.Mainnet]:{fees:[],expiration:0},[qt.Testnet]:{fees:[],expiration:0}}}))}async getFeeRate(e){try{const A=(await this.get()).feeRate[e];return new fo(Eo.fromSerialized(A),A.expiration)}catch(e){return oi.warn("Failed to get fee rate",e),null}}async setFeeRate(e,A){try{await this.update((async t=>{t.feeRate[e]=new Eo(A).serialize()}))}catch(e){throw Fr(e,Error)}}}class Io{static createOnChainServiceProvider(e){const A=Ti(e),t=Io.createQuickNodeClient(e),r=Io.createSimpleHashClient(),n=Io.createCachedStateManager();return new _i({dataClient:t,satsProtectionDataClient:r,cacheStateManager:n},{network:A})}static createQuickNodeClient(e){const A=Ti(e),{mainnetEndpoint:t,testnetEndpoint:r}=Ar.onChainService.apiClient[er.QuickNode].options;if(!t||!r)throw new Error("QuickNode endpoints have not been configured");return new go({network:A,mainnetEndpoint:t,testnetEndpoint:r})}static createSimpleHashClient(){const{apiKey:e}=Ar.onChainService.apiClient[er.SimpleHash].options;if(!e)throw new Error("Simplehash API key has not been configured");return new uo({apiKey:e})}static createWallet(e){const A=Ti(e);return new Xi(new Ni(A),A)}static createCachedStateManager(){return new Bo}}const Co=dr({assets:Ir(Yn),scope:zn}),Qo=wr(Yn,dr({amount:Vn,unit:Qr([Ar.unit])}));async function ho(e,A){try{ai(A,Co);const{assets:t,scope:r}=A,n=Io.createOnChainServiceProvider(r),i=[e.address],o=await n.getBalances(i,t),s={};return t.forEach((e=>{var A;const t=(null===(A=o.balances[e])||void 0===A?void 0:A.amount)??BigInt(0);s[e]={amount:Gn(t),unit:Ar.unit}})),gi(s,Qo),s}catch(e){if(oi.error("Failed to get balances",e),Lr(e))throw e;throw new Error("Fail to get the balances")}}const lo=dr({transactionId:mr(Xn),scope:zn}),po=dr({status:Qr(Object.values(Wt))});const wo=dr({recipients:Sr(wr(Jn,yr()),"RecipientsStruct",(e=>{if(0===Object.entries(e).length)return"Recipients object must have at least one recipient";for(const A of Object.values(e))cr(A,Wn);return!0})),replaceable:Cr(),dryrun:pr(Cr())}),yo=dr({...wo.schema,scope:zn}),bo=dr({txId:mr(yr()),signedTransaction:pr(yr())});async function mo(e,A,t){try{ai(t,yo);const{dryrun:A,scope:r,replaceable:n}=t,i=Io.createOnChainServiceProvider(r),o=Io.createWallet(r),s=Ii((await i.getFeeRates()).fees),a=Object.entries(t.recipients).map((([e,A])=>({address:e,value:jn(A)}))),{data:{utxos:g}}=await i.getDataForTransaction([e.address]),c=await o.createTransaction(e,a,{utxos:g,fee:s,replaceable:n}),u=await o.signTransaction(e.signer,c.tx);if(A){return{txId:"",signedTransaction:u}}const E={txId:(await i.broadcastTransaction(u)).transactionId};return oi.debug(`Submitted transaction ID: ${E.txId}`),gi(E,bo),E}catch(e){if(oi.error("Failed to send the transaction",e),Lr(e))throw e;if(e instanceof li)throw e;throw new Error("Failed to send the transaction")}}var vo;!function(e){e.Draft="draft",e.Review="review",e.Signed="signed",e.Rejected="rejected",e.Confirmed="confirmed",e.Pending="pending",e.Failure="failure"}(vo||(vo={}));class So extends si{async get(){return super.get().then((e=>(e||(e={walletIds:[],wallets:{},requests:{}}),e.walletIds||(e.walletIds=[]),e.wallets||(e.wallets={}),e.requests||(e.requests={}),e)))}async listAccounts(){try{const e=await this.get();return e.walletIds.map((A=>e.wallets[A].account))}catch(e){throw Fr(e,Error)}}async addWallet(e){try{await this.update((async A=>{const{id:t,address:r}=e.account;if(this.isAccountExist(A,t)||this.getAccountByAddress(A,r))throw new Error(`Account address ${r} already exists`);A.wallets[t]=e,A.walletIds.push(t)}))}catch(e){throw Fr(e,Error)}}async updateAccount(e){try{await this.update((async A=>{if(!this.isAccountExist(A,e.id))throw new Error(`Account id ${e.id} does not exist`);const t=A.wallets[e.id].account;if(t.address.toLowerCase()!==e.address.toLowerCase()||t.type!==e.type)throw new Error("Account address or type is immutable");A.wallets[e.id].account=e}))}catch(e){throw Fr(e,Error)}}async removeAccounts(e){try{await this.update((async A=>{const t=new Set;for(const r of e){if(!this.isAccountExist(A,r))throw new Error(`Account id ${r} does not exist`);t.add(r)}t.forEach((e=>delete A.wallets[e])),A.walletIds=A.walletIds.filter((e=>!t.has(e)))}))}catch(e){throw Fr(e,Error)}}async getAccount(e){try{var A;return(null===(A=(await this.get()).wallets[e])||void 0===A?void 0:A.account)??null}catch(e){throw Fr(e,Error)}}async getWallet(e){try{return(await this.get()).wallets[e]??null}catch(e){throw Fr(e,Error)}}async getRequest(e){try{return(await this.get()).requests[e]??null}catch(e){throw Fr(e,Error)}}async upsertRequest(e){try{await this.update((async A=>{A.requests[e.id]={...A.requests[e.id],...e}}))}catch(e){throw Fr(e,Error)}}async removeRequest(e){try{await this.update((async A=>{A.requests[e]&&delete A.requests[e]}))}catch(e){throw Fr(e,Error)}}getAccountByAddress(e,A){var t;return(null===(t=Object.values(e.wallets).find((e=>e.account.address.toString()===A.toLowerCase())))||void 0===t?void 0:t.account)??null}isAccountExist(e,A){return Object.prototype.hasOwnProperty.call(e.wallets,A)}isRequestExist(e,A){return Object.prototype.hasOwnProperty.call(e.requests,A)}}const ko=dr({account:mr(yr()),amount:Wn}),To=dr({fee:dr({amount:mr(Vn),unit:Qr([Ar.unit])})});async function Po(e){try{ai(e,ko);const{account:A,amount:t}=e,r=new So,n=await r.getWallet(A);if(!n)throw new ci;const i=Io.createWallet(n.scope),o=await i.unlock(n.index,n.account.type);Ci(o,n.account);const s=Io.createOnChainServiceProvider(n.scope),a=Ii((await s.getFeeRates()).fees),{data:{utxos:g}}=await s.getDataForTransaction([o.address]),c=[{address:o.address,value:jn(t)}],u=await i.estimateFee(o,c,{utxos:g,fee:a});0!==u.inputs.length&&0!==u.outputs.length||oi.warn("No input or output found, fee estimation might be inaccurate");const E={fee:{amount:Gn(u.fee),unit:Ar.unit}};return gi(E,To),E}catch(e){if(oi.error("Failed to estimate fee",e),Lr(e))throw e;if(e instanceof li||e instanceof ci)throw e;throw new Error("Failed to estimate fee")}}const xo=dr({account:mr(yr())}),Ro=dr({fee:dr({amount:mr(Vn),unit:Qr([Ar.unit])}),balance:dr({amount:mr(Vn),unit:Qr([Ar.unit])})});async function Oo(e){try{ai(e,xo);const{account:A}=e,t=new So,r=await t.getWallet(A);if(!r)throw new ci;const n=Io.createWallet(r.scope),i=await n.unlock(r.index,r.account.type);Ci(i,r.account);const o=Io.createOnChainServiceProvider(r.scope),s=Ii((await o.getFeeRates()).fees),{data:{utxos:a}}=await o.getDataForTransaction([i.address]);let g=BigInt(0),c=BigInt(0),u=BigInt(0),E=a.reduce(((e,A)=>e+BigInt(A.value)),BigInt(0));for(;u<=E;){const e=(u+E)/BigInt(2);try{const A=await n.estimateFee(i,[{address:i.address,value:e}],{utxos:a,fee:s});A.outputs&&A.outputs.length>0?(u=e+BigInt(1),e>g&&(g=e,c=BigInt(A.fee))):E=e-BigInt(1)}catch(A){if(!(A instanceof di))throw A;u=e+BigInt(1)}}const f={fee:{amount:Gn(c),unit:Ar.unit},balance:{amount:Gn(g),unit:Ar.unit}};return gi(f,Ro),f}catch(e){if(oi.error("Failed to get max spendable balance",e),Lr(e))throw e;if(e instanceof li||e instanceof ci)throw e;throw new Error("Failed to get max spendable balance")}}const Uo=async e=>{const A=await async function(e){return await snap.request({method:"snap_getCurrencyRate",params:{currency:e}})}("btc");if(!A)throw new Bi;return A.conversionRate.toString()};async function Do({asset:e,scope:A,btcAccount:t}){const r={balances:""};let n,i;const[o,s]=await Promise.allSettled([Uo(e),ho(t,{scope:A,assets:[e]})]);var a;("fulfilled"===o.status&&(n=o.value??""),"fulfilled"===s.status)?(i=null===(a=s.value[e])||void 0===a?void 0:a.amount,void 0===i&&(r.balances=`Balances error: no balance found for "${e}"`)):r.balances=`Balances error: ${s.reason.message}`;return{rates:{value:n},balances:{value:i,error:r.balances}}}var Fo,Lo;!function(e){e.InvalidAddress="Invalid address",e.InvalidAmount="Invalid amount",e.ZeroAmount="Amount must be greater than 0",e.InsufficientFunds="Insufficient funds",e.TotalExceedsBalance="Amount and fees exceeds balance",e.InvalidTotal="Invalid total",e.InvalidFees="Invalid fees"}(Fo||(Fo={})),function(e){e.BTC="BTC",e.FIAT="$"}(Lo||(Lo={}));const No=e=>({selectedCurrency:Lo.BTC,recipient:{address:"",error:"",valid:!1},fees:{amount:"",fiat:"",loading:!1,error:""},amount:{amount:"",fiat:"",error:"",valid:!1},rates:"",balance:{amount:"",fiat:""},total:{amount:"",fiat:"",error:"",valid:!1},scope:e}),Mo=(e,A,t,r)=>({id:t,interfaceId:r,account:e,transaction:Ts(A),status:vo.Draft,...No(A)});function Ho(e,A,t){if("string"==typeof e)throw new Error(`An HTML element ("${String(e)}") was used in a Snap component, which is not supported by Snaps UI. Please use one of the supported Snap components.`);if(!e)throw new Error("A JSX fragment was used in a Snap component, which is not supported by Snaps UI. Please use one of the supported Snap components.");return e({...A,key:t})}function Ko(e,A,t){return Ho(e,A,t)}function Go(e){return Object.fromEntries(Object.entries(e).filter((([,e])=>void 0!==e)))}function jo(e){return A=>{const{key:t=null,...r}=A;return{type:e,props:Go(r),key:t}}}const Jo=jo("Container"),Yo=jo("Box"),zo=ti(!0);let Vo;async function Xo(){await zo.runExclusive((async()=>{Vo=await async function(){try{const{locale:e}=await snap.request({method:"snap_getPreferences"});return(await n(967)(`./${e}.json`)).messages}catch{return(await Promise.resolve().then(n.t.bind(n,517,19))).messages}}()}))}function Wo(){const e=Vo;return A=>{var t;return(null===(t=e[A])||void 0===t?void 0:t.message)??`{${A}}`}}const qo=jo("Footer"),Zo=jo("Button"),_o=jo("Form"),$o=jo("Field"),es=jo("Image"),As=jo("Input"),ts=jo("Text");var rs;!function(e){e.AddSquare="add-square",e.Add="add",e.Arrow2Down="arrow-2-down",e.Arrow2Left="arrow-2-left",e.Arrow2Right="arrow-2-right",e.Arrow2Up="arrow-2-up",e.Arrow2UpRight="arrow-2-up-right",e.ArrowDoubleLeft="arrow-double-left",e.ArrowDoubleRight="arrow-double-right",e.ArrowDown="arrow-down",e.ArrowLeft="arrow-left",e.ArrowRight="arrow-right",e.ArrowUp="arrow-up",e.BankToken="bank-token",e.Bank="bank",e.Book="book",e.Bookmark="bookmark",e.Bridge="bridge",e.Calculator="calculator",e.CardPos="card-pos",e.CardToken="card-token",e.Card="card",e.Category="category",e.Chart="chart",e.CheckBold="check-bold",e.Check="check",e.Clock="clock",e.Close="close",e.CodeCircle="code-circle",e.Coin="coin",e.Confirmation="confirmation",e.Connect="connect",e.CopySuccess="copy-success",e.Copy="copy",e.Customize="customize",e.Danger="danger",e.Dark="dark",e.Data="data",e.Diagram="diagram",e.DocumentCode="document-code",e.DragDrop="drag-drop",e.DraggingAnimation="dragging-animation",e.PinningAnimation="pinning-animation",e.Edit="edit",e.Eraser="eraser",e.Ethereum="ethereum",e.Expand="expand",e.Explore="explore",e.Export="export",e.EyeSlash="eye-slash",e.Eye="eye",e.Filter="filter",e.Flag="flag",e.FlashSlash="flash-slash",e.Flash="flash",e.FullCircle="full-circle",e.Gas="gas",e.GlobalSearch="global-search",e.Global="global",e.Graph="graph",e.Hardware="hardware",e.Heart="heart",e.Hierarchy="hierarchy",e.Home="home",e.Import="import",e.Info="info",e.Key="key",e.Light="light",e.Link="link",e.Loading="loading",e.LockCircle="lock-circle",e.LockSlash="lock-slash",e.Lock="lock",e.Login="login",e.Logout="logout",e.Menu="menu",e.MessageQuestion="message-question",e.Messages="messages",e.MinusBold="minus-bold",e.MinusSquare="minus-square",e.Minus="minus",e.Mobile="mobile",e.Money="money",e.Monitor="monitor",e.MoreHorizontal="more-horizontal",e.MoreVertical="more-vertical",e.NotificationCircle="notification-circle",e.Notification="notification",e.PasswordCheck="password-check",e.People="people",e.Pin="pin",e.ProgrammingArrows="programming-arrows",e.Custody="custody",e.Question="question",e.Received="received",e.Refresh="refresh",e.Save="save",e.ScanBarcode="scan-barcode",e.ScanFocus="scan-focus",e.Scan="scan",e.Scroll="scroll",e.Search="search",e.SecurityCard="security-card",e.SecurityCross="security-cross",e.SecurityKey="security-key",e.SecuritySearch="security-search",e.SecuritySlash="security-slash",e.SecurityTick="security-tick",e.SecurityTime="security-time",e.SecurityUser="security-user",e.Security="security",e.Send1="send-1",e.Send2="send-2",e.Setting="setting",e.Slash="slash",e.SnapsMobile="snaps-mobile",e.SnapsPlus="snaps-plus",e.Snaps="snaps",e.Speedometer="speedometer",e.Star="star",e.Stake="stake",e.Student="student",e.SwapHorizontal="swap-horizontal",e.SwapVertical="swap-vertical",e.Tag="tag",e.Tilde="tilde",e.Timer="timer",e.Trash="trash",e.TrendDown="trend-down",e.TrendUp="trend-up",e.UserCircleAdd="user-circle-add",e.UserCircleLink="user-circle-link",e.UserCircleRemove="user-circle-remove",e.UserCircle="user-circle",e.User="user",e.WalletCard="wallet-card",e.WalletMoney="wallet-money",e.Wallet="wallet",e.Warning="warning",e.Twitter="twitter",e.QrCode="qr-code",e.UserCheck="user-check",e.Unpin="unpin",e.Ban="ban",e.Bold="bold",e.CircleX="circle-x",e.Download="download",e.FileIcon="file",e.Flask="flask",e.Plug="plug",e.Share="share",e.Square="square",e.Tint="tint",e.Upload="upload",e.Usb="usb",e.Wifi="wifi",e.PlusMinus="plus-minus"}(rs||(rs={}));const ns=jo("Icon"),is=jo("Selector"),os=jo("SelectorOption"),ss=jo("Card"),as=({selectedAccount:e,accounts:A,balance:t})=>{const r=Wo();return Ho($o,{label:r("fromAccount"),children:Ho(is,{name:"accountSelector",title:r("fromAccount"),value:e,children:A.map((({address:e})=>{var A,n;return Ho(os,{value:e,children:Ho(ss,{image:\'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\\n<circle cx="12" cy="12" r="12" fill="#F2F4F6"/>\\n<circle cx="12" cy="12" r="11.5" stroke="#BBC0C5" stroke-opacity="0.4"/>\\n<rect width="24" height="24" fill="url(#pattern0_3776_7766)"/>\\n<defs>\\n<pattern id="pattern0_3776_7766" patternContentUnits="objectBoundingBox" width="1" height="1">\\n<use xlink:href="#image0_3776_7766" transform="translate(-0.00625) scale(0.0125)"/>\\n</pattern>\\n<image id="image0_3776_7766" width="81" height="80" xlink:href="data:image/png;base64,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"/>\\n</defs>\\n</svg>\\n\',description:jr(e),value:(null===(A=t)||void 0===A?void 0:A.amount)?`${t.amount.toString()} BTC`:r("loading"),extra:(null===(n=t)||void 0===n?void 0:n.fiat)?`${Ls(t.fiat,"$")}`:r("loading"),title:"Bitcoin Account"})})}))})})},gs=jo("Tooltip"),cs=()=>{const e=Wo();return Ho(gs,{content:Ho(ts,{children:e("satProtectionTooltip")}),children:Ho(ns,{name:"question",size:"md"})})};var us;!function(e){e.Amount="amount",e.To="to",e.SwapCurrencyDisplay="swap",e.AccountSelector="accountSelector",e.Clear="clear",e.Close="close",e.Review="review",e.Cancel="cancel",e.Send="send",e.HeaderBack="headerBack",e.SetMax="max"}(us||(us={}));const Es=({selectedAccount:e,accounts:A,selectedCurrency:t,flushToAddress:r,balance:n,amount:i,recipient:o,total:s,rates:a,currencySwitched:g,backEventTriggered:c,scope:u})=>{const E=Wo(),f=o.address.length>0&&!o.error,B=g||c?((e,A)=>e===Lo.BTC?A.amount:A.fiat)(t,i):void 0;let I;c?I=o.address:r&&(I="");const C=Fs(n.fiat);return Ko(_o,{name:"sendForm",children:[Ho(as,{selectedAccount:e,accounts:A,balance:n}),Ko($o,{label:E("sendAmount"),error:i.error||s.error,children:[Ho(Yo,{direction:"horizontal",center:!0,children:Ho(es,{src:\'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\\n<g clip-path="url(#clip0_4255_46943)">\\n<rect width="24" height="24" fill="url(#pattern0_4255_46943)"/>\\n</g>\\n<defs>\\n<pattern id="pattern0_4255_46943" patternContentUnits="objectBoundingBox" width="1" height="1">\\n<use xlink:href="#image0_4255_46943" transform="scale(0.0123457)"/>\\n</pattern>\\n<clipPath id="clip0_4255_46943">\\n<rect width="24" height="24" fill="white"/>\\n</clipPath>\\n<image id="image0_4255_46943" width="81" height="81" xlink:href="data:image/png;base64,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"/>\\n</defs>\\n</svg>\\n\'})}),Ho(As,{name:us.Amount,type:"number",min:0,step:1e-8,placeholder:E("amountToSendPlaceholder"),value:B}),Boolean(a)&&Ko(Yo,{direction:"horizontal",center:!0,children:[Ho(ts,{color:"alternative",children:t===Lo.FIAT?"USD":t}),Ho(Zo,{name:us.SwapCurrencyDisplay,children:Ho(ns,{name:"swap-vertical",color:"primary",size:"md"})})]})]}),Ko(Yo,{direction:"horizontal",alignment:n.fiat?"space-between":"end",children:[Ko(Yo,{direction:"horizontal",children:[Ko(ts,{color:"muted",children:[E("balance"),""+(C?`${n.amount} BTC`:`$${n.fiat}`)]}),Boolean(Zi(Ti(u)))&&Ho(cs,{})]}),Ho(Zo,{name:us.SetMax,disabled:Boolean(!n.amount),children:E("max")})]}),Ko($o,{label:E("toAccount"),error:o.error,children:[o.valid&&Ho(Yo,{children:Ho(es,{src:\'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\\n<circle cx="12" cy="12" r="12" fill="#F2F4F6"/>\\n<circle cx="12" cy="12" r="11.5" stroke="#BBC0C5" stroke-opacity="0.4"/>\\n<rect width="24" height="24" fill="url(#pattern0_3776_7761)"/>\\n<defs>\\n<pattern id="pattern0_3776_7761" patternContentUnits="objectBoundingBox" width="1" height="1">\\n<use xlink:href="#image0_3776_7761" transform="translate(-0.00625) scale(0.0125)"/>\\n</pattern>\\n<image id="image0_3776_7761" width="81" height="80" xlink:href="data:image/png;base64,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"/>\\n</defs>\\n</svg>\\n\'})}),Ho(As,{name:us.To,placeholder:E("receivingAddressPlaceholder"),value:I}),Boolean(o.address)&&Ho(Yo,{children:Ho(Zo,{name:us.Clear,children:Ho(ns,{name:us.Close,color:"primary"})})})]}),f&&Ho(ts,{color:"success",children:E("validAddress")})]})},fs=({disabled:e})=>{const A=Wo();return Ko(qo,{children:[Ho(Zo,{name:us.Cancel,children:A("cancel")}),Ho(Zo,{name:us.Review,disabled:e,children:A("review")})]})},Bs=jo("Heading"),Is=({heading:e})=>Ko(Yo,{direction:"horizontal",alignment:"space-between",center:!0,children:[Ho(Zo,{name:us.HeaderBack,children:Ho(ns,{name:"arrow-left",color:"primary",size:"md"})}),Ho(Bs,{size:"sm",children:e}),Ho(es,{src:\'<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg">\\n <rect width="20" height="20" fill="none"/>\\n</svg>\'})]}),Cs=jo("Section"),Qs=jo("Spinner"),hs=jo("Row"),ls=jo("Value"),ds=({fees:e,total:A})=>{const t=Wo();return e.loading?Ho(Cs,{children:Ko(Yo,{direction:"vertical",alignment:"center",center:!0,children:[Ho(Qs,{}),Ho(ts,{children:t("preparingTransaction")})]})}):e.error?Ho(Cs,{children:Ho(hs,{label:t("error"),children:Ho(ts,{children:e.error})})}):Ko(Cs,{children:[Ho(hs,{label:t("networkFee"),tooltip:t("networkFeeTooltip"),children:Ho(ls,{value:`${e.amount.toString()} BTC`,extra:Ls(e.fiat)})}),Ho(hs,{label:t("transactionSpeed"),tooltip:t("transactionSpeedTooltip"),children:Ho(ts,{children:t("estimatedTransactionSpeed")})}),Ho(hs,{label:t("total"),children:Ho(ls,{value:`${A.amount.toString()} BTC`,extra:Ls(A.fiat)})})]})},ps=({account:e,sendFlowParams:A,flushToAddress:t=!1,currencySwitched:r=!1,backEventTriggered:n=!1})=>{const i=Wo(),{amount:o,recipient:s,fees:a,total:g}=A,c=Boolean(!o.valid||!s.valid||!g.valid||a.loading||a.error),u=Boolean(!o.error&&o.amount)||a.loading;return Ko(Jo,{children:[Ko(Yo,{children:[Ho(Is,{heading:i("send")}),Ho(Es,{selectedAccount:e.address,accounts:[e],flushToAddress:t,currencySwitched:r,backEventTriggered:n,...A}),u&&Ho(ds,{fees:A.fees,total:A.total})]}),Ho(fs,{disabled:c})]})},ws=jo("Link"),ys=jo("Address"),bs=(e,A)=>`${e===qt.Mainnet?$t.Mainnet:$t.Testnet}/${A}`,ms=({account:e,amount:A,total:t,recipient:r,scope:n,txSpeed:i,fees:o})=>{const s=Wo(),a=function(e){return _t[e]??"Unknown Network"}(n),g=Boolean(A.error||r.error||t.error||o.error);return Ko(Jo,{children:[Ko(Yo,{children:[Ho(Is,{heading:s("review")}),Ko(Yo,{alignment:"center",center:!0,children:[Ho(Yo,{direction:"horizontal",center:!0,children:Ho(es,{src:\'<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\\n<circle cx="18" cy="18" r="18" transform="matrix(1 0 0 -1 0 36)" fill="#F2F4F6"/>\\n<g clip-path="url(#clip0_3959_4060)">\\n<g opacity="0.5" filter="url(#filter0_f_3959_4060)">\\n<g clip-path="url(#clip1_3959_4060)">\\n<rect width="36" height="36" rx="18" transform="matrix(1 0 0 -1 0 36)" fill="white"/>\\n<rect width="36" height="36" fill="url(#pattern0_3959_4060)"/>\\n</g>\\n</g>\\n<g clip-path="url(#clip2_3959_4060)">\\n<rect width="22.5" height="22.5" rx="11.25" transform="matrix(1 0 0 -1 6.75 29.25)" fill="white"/>\\n<rect x="6.75" y="6.75" width="22.5" height="22.5" fill="url(#pattern1_3959_4060)"/>\\n</g>\\n</g>\\n<defs>\\n<filter id="filter0_f_3959_4060" x="-20" y="-20" width="76" height="76" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">\\n<feFlood flood-opacity="0" result="BackgroundImageFix"/>\\n<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>\\n<feGaussianBlur stdDeviation="10" result="effect1_foregroundBlur_3959_4060"/>\\n</filter>\\n<pattern id="pattern0_3959_4060" patternContentUnits="objectBoundingBox" width="1" height="1">\\n<use xlink:href="#image0_3959_4060" transform="scale(0.000488281)"/>\\n</pattern>\\n<pattern id="pattern1_3959_4060" patternContentUnits="objectBoundingBox" width="1" height="1">\\n<use xlink:href="#image0_3959_4060" transform="scale(0.000488281)"/>\\n</pattern>\\n<clipPath id="clip0_3959_4060">\\n<rect width="36" height="36" rx="18" transform="matrix(1 0 0 -1 0 36)" fill="white"/>\\n</clipPath>\\n<clipPath id="clip1_3959_4060">\\n<rect width="36" height="36" rx="18" transform="matrix(1 0 0 -1 0 36)" fill="white"/>\\n</clipPath>\\n<clipPath id="clip2_3959_4060">\\n<rect width="22.5" height="22.5" rx="11.25" transform="matrix(1 0 0 -1 6.75 29.25)" fill="white"/>\\n</clipPath>\\n<image id="image0_3959_4060" width="2048" height="2048" xlink:href="data:image/png;base64,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tJ1Aytf5H93S+9v5H9wrUwgntF2CEiJAgAABAgQIECBAgAABAgQIzFggfSCfFnFx94ad355xFw0JECBAgACBWQkoAJgVl8YECBAgQGDmAiObVq0JHcV1uccvzryXlgQIECBAgAABAgQIECBAgACBthYYTjH8cfepQ2+Mzw1TbZ2p5AgQIECAwCIIKABYBHRTEiBAgEB7C0yf9T+2teelKcW/yJkub+9sZUeAAAECBAgQIECAAAECBAgQmL1APjjxpamiduGy9bs+N/veehAgQIAAAQJHE1AAcDQZ2wkQIECAwBwExgZXnVmLxVty1yfOobsuBAgQIECAAAECBAgQIECAAIEyCUzmgxRXdU0UA/Gy7SNlSlyuBAgQIECgXgIKAOola1wCBAgQKJVAGggdIyf3/m5M4TU58a5SJS9ZAgQIECBAgAABAgQIECBAgMC8BOJtuftLu/t3fHxew+hMgAABAgQIBAUA3gQECBAgQGCeAuODfT9RK9Jb86X/185zKN0JECBAgAABAgQIECBAgAABAmUVSCHEN1fTyOVx4959ZUWQNwECBAgQmK+AAoD5CupPgAABAqUVSG9bUx09MP57GeBV+dFZWgiJEyBAgAABAgQIECBAgAABAgQWTmCoiOHirg1D71u4IY1EgAABAgTKI6AAoDxrLVMCBAgQWECB4at7fyYW4a15yEcv4LCGIkCAAAECBAgQIECAAAECBAgQyAL54MWN40vCxcetG9oDhAABAgQIEJi5gAKAmVtpSYAAAQIEQtrWu3RsLPxhiuHyzFEgIUCAAAECBAgQIECAAAECBAgQqJvA7pDiK7o37ri+bjMYmAABAgQItJmAAoA2W1DpECBAgED9BEY39zw9hbgtz/CI+s1iZAIECBAgQIAAAQIECBAgQIAAgUMFUgg35UKAi5Zu3LH90O2eEyBAgAABAg8WUADwYBNbCBAgQIDAYQL3XrX6xCWdU5vyxededNgOLwgQIECAAAECBAgQIECAAAECBBoikA9m3J1iuqR7w853NGRCkxAgQIAAgRYVUADQogsnbAIECBBojMDoYO+5+XL/1+bZ+hozo1kIECBAgAABAgQIECBAgAABAgSOLhA/mDriS5detH3H0dvYQ4AAAQIEyiugAKC8ay9zAgQIEDiGwIG/PHVlR0dlS0rx2cdoZhcBAgQIECBAgAABAgQIECBAgECDBfItAe4pYrqiumHndQ2e2nQECBAgQKDpBRQANP0SCZAAAQIEGi0wMtj34hjTVfmPyRMaPbf5CBAgQIAAAQIECBAgQIAAAQIEZiaQUnhfrTLxsuXr79w1sx5aESBAgACB9hdQAND+ayxDAgQIEJihwP5rV57aOVnZlg/8nzfDLpoRIECAAAECBAgQIECAAAECBAgsooCrASwivqkJECBAoCkFFAA05bIIigABAgQaLTC8uedZMcU3hRhObvTc5iNAgAABAgQIECBAgAABAgQIEJivQPpA6qhcuPSi7TvmO5L+BAgQIECglQUUALTy6omdAAECBOYtkLad/rDR8bE3hJAunPdgBiBAgAABAgQIECBAgAABAgQIEFg0AVcDWDR6ExMgQIBAEwkoAGiixRAKAQIECDRWYHRzz9NTiG/Ns/Y1dmazESBAgAABAgQIECBAgAABAgQI1EsghvjuiTR10YqNu+6s1xzGJUCAAAECzSqgAKBZV0ZcBAgQIFA3gXTV6u6xjtofpRguz5MUdZvIwAQIECBAgAABAgQIECBAgAABAoslcEcthHXL+ofeu1gBmJcAAQIECCyGgAKAxVA3JwECBAgsmsDwYN8TYkxvzwH8yKIFYWICBAgQIECAAAECBAgQIECAAIGGCOSDIDeOVjrWHX/xd+5uyIQmIUCAAAECiyygAGCRF8D0BAgQINAYgbRtbefo+M7fz7P9QX5UGjOrWQgQIECAAAECBAgQIECAAAECBJpA4NuhFi/ovmTHJ5ogFiEQIECAAIG6CigAqCuvwQkQIECgGQTGrl75Y6moXJ9C+MlmiEcMBAgQIECAAAECBAgQIECAAAECDRfIXw3FN1eXpEvjuqHhhs9uQgIECBAg0CABBQANgjYNAQIECDReIN0QKiN39P7vmMJr8uxdjY/AjAQIECBAgAABAgQIECBAgAABAk0m8LVaSC9a1r/z800Wl3AIECBAgMCCCCgAWBBGgxAgQIBAswmMXrPy9DRV+esc1882W2ziIUCAAAECBAgQIECAAAECBAgQWFSByXzCyF907T3hD+PALeOLGonJCRAgQIDAAgsoAFhgUMMRIECAwOIKpBTi2Obe9SmG1+dIli5uNGYnQIAAAQIECBAgQIAAAQIECBBoWoEUPxeL8ILqhh1fb9oYBUaAAAECBGYpoABglmCaEyBAgEDzChzc9IieomPizTnCZzRvlCIjQIAAAQIECBAgQIAAAQIECBBoIoGRGNIruzbsHIz5SRPFJRQCBAgQIDAnAQUAc2LTiQABAgSaTWB4c99z8t9ob8pxndhssYmHAAECBAgQIECAAAECBAgQIECg6QU+XJvsvGDZpd/e2fSRCpAAAQIECBxDQAHAMXDsIkCAAIHmF9i3rffkJePhulye/czmj1aEBAgQIECAAAECBAgQIECAAAECTSywK8biJdUN2z/QxDEKjQABAgQIHFNAAcAxeewkQIAAgWYWGNnc97QQ0vU5xr5mjlNsBAgQIECAAAECBAgQIECAAAECLSOQzzOJb66OTl4WL999sGWiFigBAgQIELhfQAGAtwIBAgQItJxAGggdoyf1/kEO/NX5UbRcAgImQIAAAQIECBAgQIAAAQIECBBodoH/rsXwW8s2DH2h2QMVHwECBAgQOFRAAcChGp4TIECAQNMLjGxatSZ0Fn8bUviZpg9WgAQIECBAgAABAgQIECBAgAABAq0sMJmDf2115dCfxOeGqVZOROwECBAgUB4BBQDlWWuZEiBAoOUFRrb0/a98yf/N+eD/ipZPRgIECBAgQIAAAQIECBAgQIAAAQItIpA+mVLxwqUbd2xvkYCFSYAAAQIlFlAAUOLFlzoBAgRaRSANnnjcaOzemg/+v6BVYhYnAQIECBAgQIAAAQIECBAgQIBAWwncm2J42dINQ+9qq6wkQ4AAAQJtJ6AAoO2WVEIECBBoL4HhwdWPj7H2zpzVD7VXZrIhQIAAAQIECBAgQIAAAQIECBBoOYEU31Edm7woXr77YMvFLmACBAgQKIWAAoBSLLMkCRAg0HoCaSAUYyf19KcQr8zRd7ZeBiImQIAAAQIECBAgQIAAAQIECBBoU4H/niri85ev3/GlNs1PWgQIECDQwgIKAFp48YROgACBdhUY3tp7WqzFd+RL/j+lXXOUFwECBAgQIECAAAECBAgQIECAQEsLjMWQrujasHMw5ictnYngCRAgQKCtBBQAtNVySoYAAQKtLzC8peeZMcW35ExObP1sZECAAAECBAgQIECAAAECBAgQINDmAv8yVUz8r+Xr79zV5nlKjwABAgRaREABQIsslDAJECDQ7gLpqtXdI0tqr4spbGz3XOVHgAABAgQIECBAgAABAgQIECDQVgJ3xFB7cbV/1wfbKivJECBAgEBLCigAaMllEzQBAgTaS+DA1r7HVmrpnTmrH22vzGRDgAABAgQIECBAgAABAgQIECBQEoFaPrHlyq6unlfHdTdPlCRnaRIgQIBAEwooAGjCRRESAQIEyiKQUohjW3temlL8y5xzd1nylicBAgQIECBAgAABAgQIECBAgECbCqT4udgx+bzqxbtva9MMpUWAAAECTS6gAKDJF0h4BAgQaFeB/YOrTqnE4q/yP0TntGuO8iJAgAABAgQIECBAgAABAgQIECilwL4U40uXbthxQymzlzQBAgQILKqAAoBF5Tc5AQIEyikwOth7dorh7Tn73nIKyJoAAQIECBAgQIAAAQIECBAgQKD9BeJ11dS9MW785lj75ypDAgQIEGgWAQUAzbIS4iBAgEAJBNINoTK6u/fVOdXpOwuJ/gAAQABJREFUR1GClKVIgAABAgQIECBAgAABAgQIECBQYoF8EOYLoSjOr67f/s0SM0idAAECBBoooACggdimIkCAQJkF9l+78tSOycrfZoOzy+wgdwIECBAgQIAAAQIECBAgQIAAgZIJxLA/pPCy7v6hd5Ysc+kSIECAwCIIKABYBHRTEiBAoGwCI1f3PTUUafoPnFVly12+BAgQIECAAAECBAgQIECAAAECBO4TSPEd1a70srhuaJgIAQIECBCol4ACgHrJGpcAAQIEQkohjmztfUVM4bWZo4KEAAECBAgQIECAAAECBAgQIECAQMkFvlaE4vyu/u1fKbmD9AkQIECgTgIKAOoEa1gCBAiUXcAl/8v+DpA/AQIECBAgQIAAAQIECBAgQIDAUQQOhpDyLQF2/s1R9ttMgAABAgTmLKAAYM50OhIgQIDA0QRGtvT8XEjx7/L+3qO1sZ0AAQIECBAgQIAAAQIECBAgQIBAqQXcEqDUyy95AgQI1EtAAUC9ZI1LgACBEgpMX/J/bEvPxvzrypx+ZwkJpEyAAAECBAgQIECAAAECBAgQIEBgxgL5IM0XQ1E8t7p++zdn3ElDAgQIECBwDAEFAMfAsYsAAQIEZi6wb0vfSZ2pdn0I8Vdn3ktLAgQIECBAgAABAgQIECBAgAABAqUX2JdPqPmdpf07biy9BAACBAgQmLeAAoB5ExqAAAECBA5u7nlcEeINWeKRNAgQIECAAAECBAgQIECAAAECBAgQmItAvK561/H9ceCW8bn01ocAAQIECEwLKADwPiBAgACBeQmMbum5MKW4OQ+yZF4D6UyAAAECBAgQIECAAAECBAgQIECg7AIpfi5MTT23+9Jdt5edQv4ECBAgMDcBBQBzc9OLAAECpRdIgyceNxarb0khPKf0GAAIECBAgAABAgQIECBAgAABAgQILJzAXTHUXljt3/XBhRvSSAQIECBQFgEFAGVZaXkSIEBgAQUObun9qSLFfE+ydPoCDmsoAgQIECBAgAABAgQIECBAgAABAgS+J1DLv15bXTn0mvjcMAWFAAECBAjMVEABwEyltCNAgACB+wRGBvteFGJ6U37RjYQAAQIECBAgQIAAAQIECBAgQIAAgXoKpE9OTU09b/nL79hdz1mMTYAAAQLtI6AAoH3WUiYECBCoq0Daesry0VrndXmS59d1IoMTIECAAAECBAgQIECAAAECBAgQIHCowPYUi2cv3bD9Pw/d6DkBAgQIEDiSgAKAI6nYRoAAAQKHCYxtXv2YWqzdGFJ41GE7vCBAgAABAgQIECBAgAABAgQIECBAoBECoyGG/u4NQ29pxGTmIECAAIHWFVAA0LprJ3ICBAg0RGB4c+/5+R+Lt+bJljVkQpMQIECAAAECBAgQIECAAAECBAgQIHBkgRTfUe1KL4vrhoaP3MBWAgQIECi7gAKAsr8D5E+AAIGjCKQbQmVsV+9rUwyvyE38e3EUJ5sJECBAgAABAgQIECBAgAABAgQINFIgf1H3xRSmntXdv/tbjZzXXAQIECDQGgIO6LTGOomSAAECDRXYt6XvpM6U/i5P+osNndhkBAgQIECAAAECBAgQIECAAAECBAjMROCuWKQXVNfv/NBMGmtDgAABAuURUABQnrWWKQECBGYkcGBr32MrtfSe3PiRM+qgEQECBAgQIECAAAECBAgQIECAAAECiyGQYgpv6No79Ko4EGqLEYA5CRAgQKD5BBQANN+aiIgAAQKLJjCyuecF+Wr/1+UAuhctCBMTIECAAAECBAgQIECAAAECBAgQIDBjgXwLz/d3d1ZfGNfddu+MO2lIgAABAm0roACgbZdWYgQIEJi5QBoIHWMn9v5p/mPhipn30pIAAQIECBAgQIAAAQIECBAgQIAAgSYR+EYRa8/s2rDrliaJRxgECBAgsEgCCgAWCd60BAgQaBaBfdt6T+4cC+8KMfxCs8QkDgIECBAgQIAAAQIECBAgQIAAAQIEZi1wIIX04qX9O9896546ECBAgEDbCCgAaJullAgBAgRmL3BwsPcniyK8J6SwZva99SBAgAABAgQIECBAgAABAgQIECBAoMkEUkzhDV17h14VB0KtyWITDgECBAg0QEABQAOQTUGAAIFmFBjZ3POCEOJ1ObbuZoxPTAQIECBAgAABAgQIECBAgAABAgQIzFUgfWB0suu3Trj09nvmOoJ+BAgQINCaAgoAWnPdRE2AAIE5C6SB0DF2Yu+fphiumPMgOhIgQIAAAQIECBAgQIAAAQIECBAg0OwC3yhi7ZldG3bd0uyBio8AAQIEFk5AAcDCWRqJAAECTS+wf3DVKR1F8ff5kv9PbfpgBUiAAAECBAgQIECAAAECBAgQIECAwPwEYtifaunFSzfufM/8BtKbAAECBFpFQAFAq6yUOAkQIDBPgYNX96wtijj9Qf/h8xxKdwIECBAgQIAAAQIECBAgQIAAAQIEWkcgxRTe0LV36FVxINRaJ2yREiBAgMBcBBQAzEVNHwIECLSYwMhgz0tDjJtz2F0tFrpwCRAgQIAAAQIECBAgQIAAAQIECBBYAIGUwvu6R8ZfGK/Ys38BhjMEAQIECDSpgAKAJl0YYREgQGAhBNLgGV2jcWQwhHThQoxnDAIECBAgQIAAAQIECBAgQIAAAQIEWlkg/lesTP569eLdt7VyFmInQIAAgaMLKAA4uo09BAgQaGmBg5tP6y3C1D/kJJ7Y0okIngABAgQIECBAgAABAgQIECBAgACBhRTYG0J8Tnf/jo8v5KDGIkCAAIHmECiaIwxRECBAgMBCCgxvWf3T+eD/5/OYDv4vJKyxCBAgQIAAAQIECBAgQIAAAQIECLS+wIn5iqEfGt3Sd1HrpyIDAgQIEHiggCsAPFDEawIECLS4wPCWvufGlP46p9Hd4qkInwABAgQIECBAgAABAgQIECBAgACBugrE66p3Hd8fB24Zr+s0BidAgACBhgkoAGgYtYkIECBQX4GUQhzZ2vuKmMKf55n8/72+3EYnQIAAAQIECBAgQIAAAQIECBAg0B4CKXxmsnPqWSsu2n1HeyQkCwIECJRbwAGicq+/7AkQaBOB9LY11dED42/N6fxmm6QkDQIECBAgQIAAAQIECBAgQIAAAQIEGifw3VoM5y3bMPSFxk1pJgIECBCoh4ACgHqoGpMAAQINFBi+dnVfMVV7X74CwNoGTmsqAgQIECBAgAABAgQIECBAgAABAgTaS+BALYQXLusfem97pSUbAgQIlEugKFe6siVAgEB7CRzY2vfYOFn7Nwf/22tdZUOAAAECBAgQIECAAAECBAgQIEBgEQSW54NG7xnZ3DuwCHObkgABAgQWSMAVABYI0jAECBBotMDwYN+zY0xvz/MubfTc5iNAgAABAgQIECBAgAABAgQIECBAoK0F3lWdKH47XrZ9pK2zlBwBAgTaUMAVANpwUaVEgEB7C+Sz/ePwlt4r8sH/v8+ZOvjf3sstOwIECBAgQIAAAQIECBAgQIAAAQKLIfC80c7ax/Zfu/LUxZjcnAQIECAwdwFXAJi7nZ4ECBBouEAaPKNrNI68JYT0goZPbkICBAgQIECAAAECBAgQIECAAAECBMom8K0i1s7t2rDrlrIlLl8CBAi0qoACgFZdOXETIFA6gYObHtFTdIy/N4T4+NIlL2ECBAgQIECAAAECBAgQIECAAAECBBZHIIb9McTfrG7YcdPiBGBWAgQIEJiNgFsAzEZLWwIECCySwNg1q3+86Jj4Dwf/F2kBTEuAAAECBAgQIECAAAECBAgQIECgrAIprEgpvXf6tqRlJZA3AQIEWknAFQBaabXESoBAKQVGB/uekYr0dyF/0C4lgKQJECBAgAABAgQIECBAgAABAgQIEGgSgXhddcmqDXHdzRNNEpAwCBAgQOABAgoAHgDiJQECBJpFIKUQRzf3vDLE+Kc5Jv+/bpaFEQcBAgQIECBAgAABAgQIECBAgACBcgv8y+jkkvNPuPT2e8rNIHsCBAg0p4ADSs25LqIiQKDkAmnwjK7RePC6fNz/RSWnkD4BAgQIECBAgAABAgQIECBAgAABAs0n8I1YK55RvWT7N5ovNBERIECg3AIKAMq9/rInQKAJBfZt6z25czy8O4f2c00YnpAIECBAgAABAgQIECBAgAABAgQIECAQ8i1L96QYzlvaP/RZHAQIECDQPAJF84QiEgIECBAY27z6MZ0T4XNZwsF/bwcCBAgQIECAAAECBAgQIECAAAECBJpXIIaT81mmHx3e0vu85g1SZAQIECifgAKA8q25jAkQaFKB0cHes2uh9plcObumSUMUFgECBAgQIECAAAECBAgQIECAAAECBA4VqMYU3jmyuXfg0I2eEyBAgMDiCbgFwOLZm5kAAQLfFxgZ7HtxiOm6vKHz+xs9IUCAAAECBAgQIECAAAECBAgQIECAQKsIpPCW6t6hi+JAmGyVkMVJgACBdhRQANCOqyonAgRaRiClEEe39P5RDnj64YcAAQIECBAgQIAAAQIECBAgQIAAAQKtLPAv1TT6nLhx775WTkLsBAgQaGUBBQCtvHpiJ0CgpQXSQOgYPan3mpzES1s6EcETIECAAAECBAgQIECAAAECBAgQIEDgBwJfCbVwTvclQ9/5wSbPCBAgQKBRAgoAGiVtHgIECBwikLaesny0tuSGENKvHLLZUwIECBAgQIAAAQIECBAgQIAAAQIECLSDwFAthnOXbRj6QjskIwcCBAi0koACgFZaLbESINAWAsPXru4Lk7V/zv8D/om2SEgSBAgQIECAAAECBAgQIECAAAECBAgQeKBADPtjLTy7unHoXx64y2sCBAgQqJ9AUb+hjUyAAAECDxQY27LqrDhZ+zcH/x8o4zUBAgQIECBAgAABAgQIECBAgAABAm0lkMKKFMM/jwz2uAVqWy2sZAgQaHYBBQDNvkLiI0CgbQRGNvc9bSoVn8kJPbxtkpIIAQIECBAgQIAAAQIECBAgQIAAAQIEji7QEWLcNrK5d+DoTewhQIAAgYUUcAuAhdQ0FgECBI4iMLy57zkxpOvz7upRmthMgAABAgQIECBAgAABAgQIECBAgACBdhZ4W3VJz7q47uaJdk5SbgQIEFhsAQUAi70C5idAoO0FRjf3XJJCvCon6qorbb/aEiRAgAABAgQIECBAgAABAgQIECBA4BgCH6kOjz8rXrFn/zHa2EWAAAEC8xBQADAPPF0JECBwLIF0Q6iM7urdHGK46Fjt7CNAgAABAgQIECBAgAABAgQIECBAgEBpBFL83FRt4tzlL79jd2lyligBAgQaKKAAoIHYpiJAoDwC6cqVy0aqlXfl/8meU56sZUqAAAECBAgQIECAAAECBAgQIECAAIEZCXwrToVfqb586P/OqLVGBAgQIDBjAQUAM6bSkAABAjMTOLD1lFWVWuf7c+vHzayHVgQIECBAgAABAgQIECBAgAABAgQIECidwN5809Rf714/9JnSZS5hAgQI1FFAAUAdcQ1NgED5BMY29z66FsIHcuaPLF/2MiZAgAABAgQIECBAgAABAgQIECBAgMCsBEbygarnVfuH/mlWvTQmQIAAgaMKFEfdYwcBAgQIzEpgeEvfE2spfDp3cvB/VnIaEyBAgAABAgQIECBAgAABAgQIECBQUoHuFMJ7Rrf0XFjS/KVNgACBBRdQALDgpAYkQKCMAsODPb8RU/pYiOHkMuYvZwIECBAgQIAAAQIECBAgQIAAAQIECMxRoJJSfNPI5t6BOfbXjQABAgQOEXALgEMwPCVAgMBcBEY391ySQrwq91VUNRdAfQgQIECAAAECBAgQIECAAAECBAgQIJAF8tUANnffNfTyOBDynVb9ECBAgMBcBBQAzEVNHwIECNwvMLyl94qYwuuAECBAgAABAgQIECBAgAABAgQIECBAgMD8BfKBq3/sWr7kN+MFt4/OfzQjECBAoHwCCgDKt+YyJkBgAQTSDaEyurtnSwjxZQswnCEIECBAgAABAgQIECBAgAABAgQIECBA4H8EYvhEtTZ6Xty4d9//bPKbAAECBGYmoABgZk5aESBA4PsCaeCsJaMn3X193nD+9zd6QoAAAQIECBAgQIAAAQIECBAgQIAAAQILKfCVWqj88rL+7w4t5KDGIkCAQLsLKABo9xWWHwECCyqQrly5bLSr8g8hhl9e0IENRoAAAQIECBAgQIAAAQIECBAgQIAAAQIPFPhWrBVPr16y/RsP3OE1AQIECBxZQAHAkV1sJUCAwIME9m3pO6kz1T6QL/v/+AfttIEAAQIECBAgQIAAAQIECBAgQIAAAQIE6iGwa6qIv7J8/Y4v1WNwYxIgQKDdBBQAtNuKyocAgboIHNz0iJ6iY+LDefDH1GUCgxIgQIAAAQIECBAgQIAAAQIECBAgQIDA0QTuDSmd271x56eP1sB2AgQIEPieQAGCAAECBI4tMHrNytPzwf/pD5YO/h+byl4CBAgQIECAAAECBAgQIECAAAECBAjUQ+BhIcaPDG/peWY9BjcmAQIE2klAAUA7raZcCBBYcIGDV/esTVOVf88D/9CCD25AAgQIECBAgAABAgQIECBAgAABAgQIEJipQFdM8YaRwb4Xz7SDdgQIECijgAKAMq66nAkQmJHAyObVP18U8eO58akz6qARAQIECBAgQIAAAQIECBAgQIAAAQIECNRToCPE9Ff5SgAvr+ckxiZAgEArCygAaOXVEzsBAnUTGN3c+//Yuxc4O8+6QPzP885kMkna9JI0yZyT0gLlWu4IbQOIchUBXUVQV0QRELVpqy7gXaOigkIvMxOwIBa5qNTVFUR0XfWvFNrScnEV3HUXV0ozk6QFStNm5kySeZ//OymFXpJmzsy5vJfvfD5DJue8z+/yfWampe/vPOc7Qsj/qkiwsW9JBCZAgAABAgQIECBAgAABAgQIECBAgACBbgVicRLAZZ3J1pu6Xeh6AgQINEEgNqFJPRIgQKAbgeIIqVcUU6TvKtaMdrPOtQQIECBAgAABAgQIECBAgAABAgQIECAwOIEUwvS6L89eEneFfHBZZSJAgEC5BQwAlHt/VEeAwIAFOlMTl6QQLyvS+v04YHvpCBAgQIAAAQIECBAgQIAAAQIECBAg0L1AfN/42LYfia/91OHu11pBgACB+gm4wVW/PdURAQIrEEjFXf+F6dabionRN6xguSUECBAgQIAAAQIECBAgQIAAAQIECBAgMCSBFMNfrDuUfW/86T3zQypBWgIECJRGwABAabZCIQQIDEsgXR1GOvtav1u85v/Vw6pBXgIECBAgQIAAAQIECBAgQIAAAQIECBBYjUD8x/G5hRfHn/nSHauJYi0BAgSqLmAAoOo7qH4CBFYlkCbPWbuQHXxfSvF7VhXIYgIECBAgQIAAAQIECBAgQIAAAQIECBAYrkCKNx7Owgs27pz58nALkZ0AAQLDEzAAMDx7mQkQGLJAuvIhp3QOLXwwhPTMIZciPQECBAgQIECAAAECBAgQIECAAAECBAj0QKC48fWZwyl//skX77u1B+GEIECAQOUEDABUbssUTIBALwRuu+zsU8dHD/11Eeu8XsQTgwABAgQIECBAgAABAgQIECBAgAABAgRKI/C/i1Nfn7v+4pk9palIIQQIEBiQgAGAAUFLQ4BAeQTuePvWLSNHRv6m+AX4+PJUpRICBAgQIECAAAECBAgQIECAAAECBAgQ6JlADF+I+chzxi+++d97FlMgAgQIVEDAAEAFNkmJBAj0TuDOy7dsHRlZ87fFsf+P6V1UkQgQIECAAAECBAgQIECAAAECBAgQIECghAJ7s3zxeWsv2f/ZEtamJAIECPRFwABAX1gFJUCgjAJzu1tnxjz8XVHbw8pYn5oIECBAgAABAgQIECBAgAABAgQIECBAoOcCtyxm8fknXTjzTz2PLCABAgRKKGAAoISboiQCBHovMD89cVZIcenm/0N7H11EAgQIECBAgAABAgQIECBAgAABAgQIECirQArhqyHGb1+/c+a6staoLgIECPRKIOtVIHEIECBQVoHOdPvhxc3/jxX1uflf1k1SFwECBAgQIECAAAECBAgQIECAAAECBPokULwa9tQY0n8vXij2zX1KISwBAgRKI+AEgNJshUIIEOiHwMJU65F5OHrsf6sf8cUkQIAAAQIECBAgQIAAAQIECBAgQIAAgcoIzBUnAXzHup0zS6fF+iBAgEAtBZwAUMtt1RQBAksCd+5uP6G4+f/R4ks3/31LECBAgAABAgQIECBAgAABAgQIECBAgMD6kNKHOtOt56IgQIBAXQUMANR1Z/VFoOECB6+YePJInv62YDij4RTaJ0CAAAECBAgQIECAAAECBAgQIECAAIFvCKxPKfxFZ7L14m885CsCBAjUR8BbANRnL3VCgMDXBOamWk8rfrl9pPjrRigECBAgQIAAAQIECBAgQIAAAQIECBAgQOAYAoeK/4780vGLZj90jOc8RIAAgcoKOAGgsluncAIEjiUwPz3xzTGGvyqec/P/WEAeI0CAAAECBAgQIECAAAECBAgQIECAAIElgbEUwp8sTLe+EwcBAgTqJGAAoE67qRcCDRfoTE08P6T41yGFkxtOoX0CBAgQIECAAAECBAgQIECAAAECBAgQOLHAWJ7C1XPTE9914ktdQYAAgWoIGACoxj6pkgCBEwh0JtsvTCH+eXHZuhNc6mkCBAgQIECAAAECBAgQIECAAAECBAgQIHC3wFhM8QNzkxPfffcD/iRAgECVBQwAVHn31E6AwFGBuan2S1NM/634yzgSAgQIECBAgAABAgQIECBAgAABAgQIECDQpcCaGOPV85MTP9DlOpcTIECgdAIGAEq3JQoiQKAbgbnp1vfFkP6wWLOmm3WuJUCAAAECBAgQIECAAAECBAgQIECAAAEC9xAYCTH+wfzUxMvv8ZgvCRAgUDkBAwCV2zIFEyBwt8D8VOtVMYX3F38fvfsxfxIgQIAAAQIECBAgQIAAAQIECBAgQIAAgRUKjIQQ3z0/2X7FCtdbRoAAgaELGAAY+hYogACBlQh0JideW6x7R/Hp99hKAK0hQIAAAQIECBAgQIAAAQIECBAgQIAAgWMJFCcBpN+fn27/0LGe9BgBAgTKLuDGWdl3SH0ECNxPoDPZujjF+PbiCb/D7qfjAQIECBAgQIAAAQIECBAgQIAAAQIECBBYpcBISMUQwFTrlauMYzkBAgQGLhAHnlFCAgQIrEJgfnLiNcX7MF1ZhPD7axWOlhIgQIAAAQIECBAgQIAAAQIECBAgQIDACQVS8R+id45fNPu2E17pAgIECJREwA20kmyEMggQOLFAMW35quIqx/6fmMoVBAgQIECAAAECBAgQIECAAAECBAgQINAbgRRTuHj84tnp3oQThQABAv0VMADQX1/RCRDokcD8ZOtHitf8v7MI59j/HpkKQ4AAAQIECBAgQIAAAQIECBAgQIAAAQLLElg6CeCS4iSAqWVd7SICBAgMUcCNtCHiS02AwPIE5ifbP+zm//KsXEWAAAECBAgQIECAAAECBAgQIECAAAECPRcoDgEIV3SmJi7peWQBCRAg0GMBJwD0GFQ4AgR6K1Dc/H9FiOmqIqqBpd7SikaAAAECBAgQIECAAAECBAgQIECAAAEC3QmkFOJ/WX/RzGXdLXM1AQIEBidgAGBw1jIRINClwNx0+2UxpfcXy0a7XOpyAgQIECBAgAABAgQIECBAgAABAgQIECDQF4HiNIDXr79o9i19CS4oAQIEVilgAGCVgJYTINAfgbnJ9vfEmP6oiO7mf3+IRSVAgAABAgQIECBAgAABAgQIECBAgACBlQmkGOJPjF8087srW24VAQIE+idgAKB/tiITILBCgbmpiZcU//L0x8VyN/9XaGgZAQIECBAgQIAAAQIECBAgQIAAAQIECPRVoDgIILxm3UWz7+prFsEJECDQpYABgC7BXE6AQH8F5qYnvium+IEiy5r+ZhKdAAECBAgQIECAAAECBAgQIECAAAECBAisSmAxpfCD6y+eXTrN1gcBAgRKIWAAoBTboAgCBJYEOlPbXpBC9t+KL9cSIUCAAAECBAgQIECAAAECBAgQIECAAAECFRA4XNxs+57xi2Y/VIFalUiAQAMEDAA0YJO1SKAKAp3dE9+W8vjnRa1u/ldhw9RIgAABAgQIECBAgAABAgQIECBAgAABAncLHCpOtv3u8Ytn/vLuB/xJgACBYQkYABiWvLwECHxdoDPZel6K4YPFA+Nff9AXBAgQIECAAAECBAgQIECAAAECBAgQIECgOgLzIcQXrbto5u+rU7JKCRCoo4ABgDruqp4IVEigM916bvEeSUtHI7n5X6F9UyoBAgQIECBAgAABAgQIECBAgAABAgQI3E9gLsT0gnU79370fs94gAABAgMSMAAwIGhpCBC4v0Dxyv/nFK/8X7r5v+7+z3qEAAECBAgQIECAAAECBAgQIECAAAECBAhUTuBAStlz11+854bKVa5gAgRqIWAAoBbbqAkC1ROYn5x4RojxI0XlJ1WvehUTIECAAAECBAgQIECAAAECBAgQIECAAIHjCtye5+nZGy7Z+6njXuEJAgQI9EnAAECfYIUlQOD4AnNTracVv3z+urjCzf/jM3mGAAECBAgQIECAAAECBAgQIECAAAECBKoqkMKXsiz/lrU7932uqi2omwCBagoYAKjmvqmaQGUF5ne3nh7y8FdFA27+V3YXFU6AAAECBAgQIECAAAECBAgQIECAAAECyxDYF2N85vjOmf+zjGtdQoAAgZ4IZD2JIggBAgSWIXDn7vYTYh4+VFzq5v8yvFxCgAABAgQIECBAgAABAgQIECBAgAABApUW2JZS+rvO27Y+pNJdKJ4AgUoJOAGgUtulWALVFVi4Yutj8mzkH4oONlW3C5UTIECAAAECBAgQIECAAAECBAgQIECAAIGuBb4YjuTPXPdT+77Q9UoLCBAg0KWAAYAuwVxOgED3Ap3d289Jef7RYuVE96utIECAAAECBAgQIECAAAECBAgQIECAAAEClRf4fB5GnrnhoptnK9+JBggQKLWAtwAo9fYojkD1BeYm29tTyv9H0Ymb/9XfTh0QIECAAAECBAgQIECAAAECBAgQIECAwMoEzsni4t/fufuMbStbbhUBAgSWJ2AAYHlOriJAYAUCd7x965YY0/8IKZy9guWWECBAgAABAgQIECBAgAABAgQIECBAgACB+gik8Ihscc1/PzDd9la59dlVnRAonYABgNJtiYII1ENg6V9gRo+M/l3RzSPr0ZEuCBAgQIAAAQIECBAgQIAAAQIECBAgQIDA6gRiDI9bk4e/SpOnb1xdJKsJECBwbAEDAMd28SgBAqsQWPoXl6V/gQkhPWYVYSwlQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1E4jpKZ249oPpqrPH69ecjggQGLaAAYBh74D8BGomkK5sre/E8b8Ixb/A1Kw17RAgQIAAAQIECBAgQIAAAQIECBAgQIAAgR4JxG+Zv/PQB9KuMNqjgMIQIEDgqIABAN8IBAj0TCBNnrO2cyj8tyLgN/csqEAECBAgQIAAAQIECBAgQIAAAQIECBAgQKCGAjGE7+hsbl2ZUii+9EGAAIHeCBgA6I2jKAQaL5CuDiMLce69BcTzGo8BgAABAgQIECBAgAABAgQIECBAgAABAgQILEcghR+Z3926fDmXuoYAAQLLETAAsBwl1xAg8IACS9OJnf2tt6cQXvqAF3qSAAECBAgQIECAAAECBAgQIECAAAECBAgQuJdATOHiuanWG+71oL8QIEBghQIGAFYIZxkBAt8QWJhuvan422u+8YivCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgeUKFO8B8Kb56darl3u96wgQIHA8Ae8pcjwZjxMgsCyBuenWzxTTiUsDAD4IECBAgAABAgQIECBAgAABAgQIECBAgACBlQssFgfufv/6i2b+ZOUhrCRAoOkCBgCa/h2gfwKrEJifbv9QSOmqIoTfJatwtJQAAQIECBAgQIAAAQIECBAgQIAAAQIECHxN4FDxorsXj188+zdECBAgsBIBN+1WomYNAQLh4FTrPxXvIbI0hTiKgwABAgQIECBAgAABAgQIECBAgAABAgQIEOiRQAx35IvpWzdcsvdTPYooDAECDRIwANCgzdYqgV4JzE+1nxVC+kgRb22vYopDgAABAgQIECBAgAABAgQIECBAgAABAgQIfE0ghS9lMTxj7UWz/5sJAQIEuhEwANCNlmsJEAhzk9ufGmP+dwXFSTgIECBAgAABAgQIECBAgAABAgQIECBAgACBvgnsCTE9fd3OvTf1LYPABAjUTqA4wdsHAQIEliewML3t3OLm/9Ir/938Xx6ZqwgQIECAAAECBAgQIECAAAECBAgQIECAwEoFtocUP3Jgur1ppQGsI0CgeQIGAJq35zomsCKBucn29jxlSzf//YvGigQtIkCAAAECBAgQIECAAAECBAgQIECAAAECXQs8ek3KP5J2n+GFeV3TWUCgmQIGAJq577om0JXA0nRhjOlvikUP6mqhiwkQIECAAAECBAgQIECAAAECBAgQIECAAIFVCsSndvI1H0yT56xdZSDLCRBogIABgAZsshYJrEYgXbp93ZqUPljEeNRq4lhLgAABAgQIECBAgAABAgQIECBAgAABAgQIrFjgWQtx7o/T1WFkxREsJECgEQIGABqxzZoksDKBdOWT13TWLP7XYvXTVhbBKgIECBAg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QIAAAQIECNRT4J9mGvG5h6wb+3Y940tNgAABAnUR0ABQl5WWkwABAjUXmNg09PD8j95fZIZfqTmF+AQIECBAgAABAgQIECBAgACBOglM54+JfEv/bUf8cdz43V11Ci4rAQIECNRTQANAPdddagIECNRSII0eeWg7DrwphHRWLQGEJkCAAAECBAgQIECAAAECBAjUSiD+KDTS8wbWtb5cq9jCEiBAgECtBTQA1Hr5hSdAgEA9Bdqb1zwppc47c/pV9RSQmgABAgQIECBAgAABAgQIECBQaYEUQnxHsz390njejTsrnVQ4AgQIECDwcwIaAH4OxI8ECBAgUA+B7W9bcUzf7r7LYgyn1COxlAQIECBAgAABAgQIECBAgACBWgjckC/+nzEwPPbZWqQVkgABAgQI/JyABoCfA/EjAQIECNRLYGLT6tNiSG/LqY+qV3JpCRAgQIAAAQIECBAgQIAAAQLVEsgXPK5u9y05+/C1N9xerWTSECBAgACB2QtoAJi9lSMJECBAoKICOy46ZsWSviVvz3vDPbWiEcUiQIAAAQIECBAgQIAAAQIECFRZ4KYU04sH149/uMohZSNAgAABArMR0AAwGyXHECBAgEAtBOwGUItlFpIAAQIECBAgQIAAAQIECBColED66870shcuP/fH45WKJQwBAgQIEDhIAQ0ABwnnNAIECBCopsDOTccONcLMZTndSdVMKBUBAgQIECBAgAABAgQIECBAoAICKdwSQnrJwMj4eyqQRgQCBAgQILBgAhoAFozSQAQIECBQJYGf7gbw9pzpyCrlkoUAAQIECBAgQIAAAQIECBAgUHaBfGHj6t1LZtbf55wbbyp7FvUTIECAAIGFFtAAsNCixiNAgACBygjs2HL0ysbM0rfHGE6pTChBCBAgQIAAAQIECBAgQIAAAQLlFdiWQlo/ODz+wfJGUDkBAgQIEFhcAQ0Ai+trdAIECBCogMDkpqEzUggX5n80D69AHBEIECBAgAABAgQIECBAgAABAmUTyC/NhD9vTy97+RHnXn9H2YpXLwECBAgQ6KaABoBuapuLAAECBEorsGc3gCWdZVtyl/nTSxtC4QQIECBAgAABAgQIECBAgACB8gn8e96d8ezm+tbflq90FRMgQIAAge4LaADovrkZCRAgQKDEAhObVp8WQ9qSIxxd4hhKJ0CAAAECBAgQIECA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"/>\\n</defs>\\n</svg>\\n\'})}),Ho(Bs,{size:"lg",children:`${s("sending")} ${t.amount} BTC`}),Ho(ts,{color:"muted",children:s("reviewTransactionWarning")})]}),Ko(Cs,{children:[Ho(hs,{label:s("from"),children:Ho(ws,{href:bs(n,e.address),children:Ho(ys,{address:`${e.type}:${e.address}`})})}),Ho(hs,{label:s("amount"),children:Ho(ls,{value:`${A.amount} BTC`,extra:Ls(A.fiat,"$")})}),Ho(hs,{label:s("recipient"),children:Ho(ws,{href:bs(n,r.address),children:Ho(ys,{address:`${e.type}:${r.address}`})})})]}),Ko(Cs,{children:[Ho(hs,{label:s("network"),children:Ho(ts,{children:a})}),Ho(hs,{label:s("transactionSpeed"),tooltip:s("transactionSpeedTooltip"),children:Ho(ts,{children:i})}),Ho(hs,{label:s("networkFee"),tooltip:s("networkFeeToolTip"),children:Ho(ls,{value:`${o.amount} BTC`,extra:Ls(o.fiat,"$")})}),Ho(hs,{label:s("total"),children:Ho(ls,{value:`${t.amount} BTC`,extra:Ls(t.fiat,"$")})})]}),Boolean(r.error)&&Ho(ts,{color:"error",children:r.error}),Boolean(A.error)&&Ho(ts,{color:"error",children:A.error}),Boolean(o.error)&&Ho(ts,{color:"error",children:o.error}),Boolean(t.error)&&Ho(ts,{color:"error",children:t.error})]}),Ho(qo,{children:Ho(Zo,{name:us.Send,type:"submit",disabled:g,children:s("send")})})]})};async function vs({request:e,flushToAddress:A=!1,currencySwitched:t=!1,backEventTriggered:r=!1}){await snap.request({method:"snap_updateInterface",params:{id:e.interfaceId,ui:Ho(ps,{account:e.account,sendFlowParams:e,flushToAddress:A,currencySwitched:t,backEventTriggered:r}),context:{requestId:e.id,accounts:[e.account],scope:e.scope,request:e}}})}function Ss(e,A,t){if(!e||isNaN(Number(e)))return{amount:"",fiat:"",error:Fo.InvalidAmount,valid:!1};const r=Ns(t,e);return new Nn(e).lte(new Nn(0))?{amount:"0",fiat:"0",error:Fo.ZeroAmount,valid:!1}:new Nn(e).gt(new Nn(A))?{amount:e,fiat:r,error:Fo.InsufficientFunds,valid:!1}:{amount:e,fiat:r,error:"",valid:!0}}function ks(e,A,t,r){if([e,A,t].some((e=>isNaN(Number(e)))))return{amount:"",fiat:"",error:"",valid:!1};const n=new Nn(e).plus(new Nn(A)),i=Ns(r,n.toString());return n.gt(new Nn(t))?{amount:n.toString(),fiat:i,error:Fo.TotalExceedsBalance,valid:!1}:{amount:n.toString(),fiat:i,error:"",valid:!0}}function Ts(e,A){return A?{recipients:{[A.recipient.address]:A.amount.amount},replaceable:!0,dryrun:!1,scope:e}:{recipients:{},replaceable:!0,dryrun:!1,scope:e}}function Ps(e,A){const t=new Nn(e),r=new Nn(A);return t.multipliedBy(r).toFixed(2)}function xs(e,A){const t=new Nn(e),r=new Nn(A);return t.dividedBy(r).toFixed(8)}function Rs(e,A){return A===qt.Mainnet&&!ln(e,Bn.mainnet)||A===qt.Testnet&&!ln(e,Bn.testnet)?{address:e??"",error:Fo.InvalidAddress,valid:!1}:{address:e,error:"",valid:!0}}async function Os(e,A,t,r,n){const i=n??Ts(e.scope),o={id:Ur(),account:e.account,transaction:i,interfaceId:"",status:A??vo.Draft,...await Us(i,e.account.id,e.scope,t,r)},s=await async function({request:e}){return await snap.request({method:"snap_createInterface",params:{ui:Ho(ms,{...e,txSpeed:"30m"})}})}({request:o});return o.interfaceId=s,o}async function Us(e,A,t,r,n){const i=No(t),o=Object.keys(e.recipients)[0],s=e.recipients[o];i.rates=r,i.recipient=Rs(o,t),i.balance={amount:n,fiat:Ps(n,r)};try{const e=await Po({account:A,amount:s});i.fees.amount=e.fee.amount,i.fees.fiat=Ps(e.fee.amount,r),i.amount=Ss(s,n,r),i.total=ks(s,e.fee.amount,n,r)}catch(e){i.fees.error=`Error estimating fees: ${e.message}`}return i}function Ds(e){return e===qt.Mainnet?Zt.Btc:Zt.TBtc}function Fs(e){return""===e||isNaN(Number(e))}function Ls(e,A="",t=""){return Fs(e)?"":`${A} ${e} ${t}`.trim()}function Ns(e,A){return e&&!isNaN(Number(e))?Ps(A,e):""}const Ms=dr({scope:zn});class Hs{_stateMgr;_options;_methods=[`${Ze.SendBitcoin}`];constructor(e,A){this._stateMgr=e,this._options=A}async listAccounts(){try{return await this._stateMgr.listAccounts()}catch(e){throw new Error(e)}}async getAccount(e){try{return await this._stateMgr.getAccount(e)??void 0}catch(e){throw new Error(e)}}async createAccount(e){try{cr(e,Ms);const{scope:A}=e;ki(A);const t=this.getBtcWallet(A),r=this._options.defaultIndex,n=Ar.wallet.defaultAccountType,i=await this.discoverAccount(t,r,n);oi.info(`[BtcKeyring.createAccount] Account unlocked: ${i.address}`);const o=this.newKeyringAccount(i,{scope:A,index:r});return oi.info(`[BtcKeyring.createAccount] Keyring account data: ${JSON.stringify(o)}`),await this._stateMgr.withTransaction((async()=>{await this._stateMgr.addWallet({account:o,hdPath:i.hdPath,index:i.index,scope:A}),await this.#g(wA.AccountCreated,{account:o,accountNameSuggestion:this.getKeyringAccountNameSuggestion(e)})})),o}catch(e){if(oi.info(`[BtcKeyring.createAccount] Error: ${e.message}`),e instanceof rr)throw new Error("Invalid params to create an account");throw new Error(e)}}async filterAccountChains(e,A){const t=await this._stateMgr.getWallet(e);return t&&A.includes(t.scope)?[t.scope]:[]}async updateAccount(e){throw new ui}async deleteAccount(e){try{await this._stateMgr.withTransaction((async()=>{await this._stateMgr.removeAccounts([e]),await this.#g(wA.AccountDeleted,{id:e})}))}catch(e){throw oi.info(`[BtcKeyring.deleteAccount] Error: ${e.message}`),new Error(e)}}async submitRequest(e){return{pending:!1,result:await this.handleSubmitRequest(e)}}async handleSubmitRequest(e){const{scope:A,account:t}=e,{method:r,params:n}=e.request,i=await this.getWalletData(t);if(i.scope!==A)throw new Error("Account\'s scope does not match with the request\'s scope");const o=this.getBtcWallet(i.scope),s=await this.discoverAccount(o,i.index,i.account.type);if(Ci(s,i.account),this.verifyIfMethodValid(r,i.account),r===`${Ze.SendBitcoin}`)return await this.handleSendBitcoin({scope:A,walletData:i,account:s,params:n});throw new Lt}async#g(e,A){await async function(e,A,t){await e.request({method:"snap_manageAccounts",params:{method:A,params:{...t}}})}(snap,e,A)}async getAccountBalances(e,A){try{const t=await this.getWalletData(e),r=this.getBtcWallet(t.scope),n=await this.discoverAccount(r,t.index,t.account.type);return Ci(n,t.account),await ho(n,{assets:A,scope:t.scope})}catch(e){throw oi.info(`[BtcKeyring.getAccountBalances] Error: ${e.message}`),new Error(e)}}async getWalletData(e){const A=await this._stateMgr.getWallet(e);if(!A)throw new ci;return A}getBtcWallet(e){return Io.createWallet(e)}async discoverAccount(e,A,t){return await e.unlock(A,t)}verifyIfMethodValid(e,A){if(!A.methods.includes(e))throw new Yt("Permission denied")}newKeyringAccount(e,A){const{scope:t}=A;return ki(t),{type:e.type,id:Ur(),address:e.address,options:A,scopes:[t],methods:this._methods}}getKeyringAccountNameSuggestion(e){var A;switch(null===(A=e)||void 0===A?void 0:A.scope){case qt.Mainnet:return"Bitcoin Account";case qt.Testnet:return"Bitcoin Testnet Account";default:return""}}async handleSendBitcoin({scope:e,walletData:A,account:t,params:r}){const n=Ds(e),{rates:i,balances:o}=await Do({asset:n,scope:e,btcAccount:t});if(o.error)throw new Error(`Error fetching balances: ${o.error}`);const s=await Os(A,vo.Review,i.value,o.value,r);await this._stateMgr.upsertRequest(s);if(!await ri(s.id))throw await this._stateMgr.removeRequest(s.id),new Vt;await this._stateMgr.upsertRequest(s);try{const A=await mo(t,this._options.origin,{...s.transaction,scope:e});return s.txId=A.txId,await this._stateMgr.upsertRequest(s),A}catch(e){throw await this._stateMgr.removeRequest(s.id),e}}}var Ks;!function(e){e.GetTransactionStatus="chain_getTransactionStatus",e.EstimateFee="estimateFee",e.GetMaxSpendableBalance="getMaxSpendableBalance",e.StartSendTransactionFlow="startSendTransactionFlow"}(Ks||(Ks={}));const Gs=new Set([oA.ListAccounts,oA.GetAccount,oA.GetAccountBalances,oA.SubmitRequest,Ks.GetTransactionStatus,Ks.EstimateFee,Ks.GetMaxSpendableBalance]),js=new Set([oA.ListAccounts,oA.GetAccount,oA.CreateAccount,oA.FilterAccountChains,oA.DeleteAccount,oA.GetAccountBalances,oA.SubmitRequest,Ks.GetTransactionStatus,Ks.EstimateFee,Ks.GetMaxSpendableBalance,Ks.StartSendTransactionFlow]),Js=["https://portfolio.metamask.io","https://portfolio-builds.metafi-dev.codefi.network","https://dev.portfolio.metamask.io","https://ramps-dev.portfolio.metamask.io"],Ys=new Map([]);for(const e of Js)Ys.set(e,Gs);Ys.set("metamask",js);const zs=dr({account:mr(yr()),scope:Qr([...Object.values(qt)])});async function Vs(e){ai(e,zs);const{account:A,scope:t}=e;try{const e=new So,r=await e.getWallet(A);if(!r)throw new ci;const n=Io.createWallet(r.scope),i=await n.unlock(r.index,r.account.type);Ci(i,r.account);const o=Ds(t),s=await async function({account:e,scope:A}){const t=Ur(),r=No(A),n=await snap.request({method:"snap_createInterface",params:{ui:Ho(ps,{account:e,sendFlowParams:{...r}}),context:{requestId:t,accounts:[e],scope:A,request:{id:t,interfaceId:"",account:e,transaction:{},status:vo.Draft,...r}}}});return Mo(e,A,t,n)}({account:r.account,scope:t}),a=ri(s.interfaceId),{rates:g,balances:c}=await Do({asset:o,scope:t,btcAccount:i}),u=[];if(c.error&&u.push(c.error),u.length>0)throw new Error(`Error fetching rates and balances: ${u.join(",")}`);s.balance.amount=c.value,s.balance.fiat=Ps(c.value,g.value),s.rates=g.value,await vs({request:{...s}});const E=await a;if(E.status===vo.Rejected)throw new Vt;const f=Ts(r.scope,E);E.transaction=f,E.status=vo.Confirmed;const B=await mo(i,0,{...E.transaction,scope:t});return E.txId=B.txId,await e.upsertRequest(E),B}catch(e){if(oi.error("Failed to start send transaction flow",e),Lr(e))throw e;if(function(e){return[ci,ui,fi,Bi].some((A=>e instanceof A))}(e)||e instanceof li)throw e;throw new Error("Failed to send the transaction")}}var Xs;!function(e){e.ButtonClickEvent="ButtonClickEvent",e.FormSubmitEvent="FormSubmitEvent",e.InputChangeEvent="InputChangeEvent",e.FileUploadEvent="FileUploadEvent"}(Xs||(Xs={}));const Ws=w({type:m(),name:y(m())}),qs=k(Ws,w({type:h(Xs.ButtonClickEvent),name:y(m())})),Zs=w({name:m(),size:p(),contentType:m(),contents:m()}),_s=k(Ws,w({type:h(Xs.FormSubmitEvent),value:b(m(),d(v([m(),Zs,I()]))),name:m()})),$s=k(Ws,w({type:h(Xs.InputChangeEvent),name:m(),value:v([m(),I()])})),ea=(v([qs,_s,$s,k(Ws,w({type:h(Xs.FileUploadEvent),name:m(),file:d(Zs)}))]),e=>{var A;return Object.values(us).includes(null===(A=e)||void 0===A?void 0:A.name)});class Aa{stateManager;context;interfaceId;constructor({context:e,interfaceId:A}){this.context=e,this.interfaceId=A}async handleEvent(e,A,t){if(ea(e))switch(e.type){case Xs.InputChangeEvent:await this.handleInputEvent(e.name,A,t);break;case Xs.ButtonClickEvent:await this.handleButtonEvent(e.name)}}async handleInputEvent(e,A,t){if(this.context.request.interfaceId)switch(function(e,A,t){const{amount:r,to:n}=e;if(r&&r!==t.amount.amount){const A=e.amount??"0",r=t.selectedCurrency===Lo.BTC?A:xs(A,t.rates);t.amount=Ss(r,t.balance.amount,t.rates),t.amount.error&&(t.fees={amount:"",fiat:"",loading:!1,error:""})}n&&n!==t.recipient.address&&(t.recipient=Rs(n,A.scope))}(t,A,this.context.request),e){case us.To:this.context.request.recipient.address=t.to,this.context.request.recipient.valid=Boolean(!this.context.request.recipient.error),await vs({request:this.context.request});break;case us.Amount:if(this.context.request.amount.error)return void await vs({request:this.context.request});this.context.request.amount.valid=Boolean(!this.context.request.amount.error),this.context.request.fees.loading=!0,await vs({request:this.context.request}),this.context.request.selectedCurrency===Lo.BTC?(this.context.request.amount.amount=t.amount,this.context.request.amount.fiat=Ps(t.amount,this.context.request.rates)):(this.context.request.amount.fiat=t.amount,this.context.request.amount.amount=xs(t.amount,this.context.request.rates));try{const e=await Po({account:this.context.accounts[0].id,amount:this.context.request.amount.amount});this.context.request.fees={fiat:Ps(e.fee.amount,this.context.request.rates),amount:e.fee.amount,loading:!1,error:""},this.context.request.total=ks(this.context.request.amount.amount,e.fee.amount,this.context.request.balance.amount,this.context.request.rates)}catch(e){e instanceof di?(this.context.request.amount.error=`Transaction amount is too small. Please provide a value of at least ${function(e){if(e instanceof Ri)return mi[e.scriptType];const A=bi[e.type];return mi[A]}(A.request.account)} SATs.`,this.context.request.fees.loading=!1):this.context.request.fees={fiat:"",amount:"",loading:!1,error:e.message}}await vs({request:this.context.request})}}async handleButtonEvent(e){switch(e){case us.HeaderBack:if(this.context.request.status===vo.Review)return this.context.request.status=vo.Draft,await vs({request:this.context.request,flushToAddress:!1,backEventTriggered:!0});if(this.context.request.status===vo.Draft)return this.context.request.status=vo.Rejected,await this.resolveInterface(this.context.request);throw new Error("Invalid state");case us.Clear:return this.context.request.recipient={address:"",error:"",valid:!1},await vs({request:this.context.request,flushToAddress:!0});case us.Cancel:case us.Close:return this.context.request.status=vo.Rejected,await this.resolveInterface(this.context.request),null;case us.SwapCurrencyDisplay:return this.context.request.selectedCurrency=this.context.request.selectedCurrency===Lo.BTC?Lo.FIAT:Lo.BTC,await vs({request:this.context.request,flushToAddress:!1,currencySwitched:!0});case us.Review:return this.context.request.status=vo.Review,await async function({request:e}){return await snap.request({method:"snap_updateInterface",params:{id:e.interfaceId,ui:Ho(ms,{...e,txSpeed:"30m"}),context:{requestId:e.id,accounts:[e.account],scope:e.scope,request:e}}})}({request:this.context.request}),null;case us.Send:return this.context.request.status=vo.Signed,await this.resolveInterface(this.context.request),null;case us.SetMax:return this.context.request.fees.loading=!0,await vs({request:this.context.request}),await this.handleSetMax();default:return null}}async resolveInterface(e){await snap.request({method:"snap_resolveInterface",params:{id:this.interfaceId,value:e}})}async handleSetMax(){try{const e=await Oo({account:this.context.accounts[0].id});new Nn(e.balance.amount).lte(new Nn(0))?(this.context.request.amount.error="Fees exceed max sendable amount",this.context.request.fees.loading=!1):(this.context.request.amount={amount:e.balance.amount,fiat:Ps(e.balance.amount,this.context.request.rates),error:"",valid:!0},this.context.request.fees={amount:e.fee.amount,fiat:Ps(e.fee.amount,this.context.request.rates),loading:!1,error:""},this.context.request.total=ks(e.balance.amount,e.fee.amount,this.context.request.balance.amount,this.context.request.rates))}catch(e){this.context.request.amount.error=`Error fetching max amount: ${e.message}`,this.context.request.fees.loading=!1}return await vs({request:this.context.request,currencySwitched:!0})}}const ta=(e,A)=>{var t;if(!e)throw new Yt("Origin not found");if(!(null===(t=Ys.get(e))||void 0===t?void 0:t.has(A)))throw new Yt("Permission denied")},ra=async({origin:e,request:A})=>{oi.logLevel=parseInt(Ar.logLevel,10),await Xo();try{const{method:t}=A;switch(ta(e,t),t){case Ks.GetTransactionStatus:return await async function(e){try{ai(e,lo);const{scope:A,transactionId:t}=e,r=Io.createOnChainServiceProvider(A),n={status:(await r.getTransactionStatus(t)).status};return gi(n,po),n}catch(e){if(oi.error("Failed to get transaction status",e),Lr(e))throw e;throw new Error("Fail to get the transaction status")}}(A.params);case Ks.EstimateFee:return await Po(A.params);case Ks.GetMaxSpendableBalance:return await Oo(A.params);case Ks.StartSendTransactionFlow:return await Vs(A.params);default:throw new Lt}}catch(e){let A=e;throw Lr(e)||(A=new Pt(e)),oi.error(`onRpcRequest error: ${JSON.stringify(A.toJSON(),null,2)}`),A}},na=async({origin:e,request:A})=>{oi.logLevel=parseInt(Ar.logLevel,10),await Xo();try{ta(e,A.method);const t=new Hs(new So,{defaultIndex:Ar.wallet.defaultAccountIndex,origin:e});return await bA(t,A)}catch(e){let A=e;throw Lr(e)||(A=new Pt(e)),oi.error(`onKeyringRequest error: ${JSON.stringify(A.toJSON(),null,2)}`),A}},ia=async({id:e,event:A,context:t})=>{await Xo();const r=await snap.request({method:"snap_getInterfaceState",params:{id:e}});if(ea(A)){const n=new Aa({context:t,interfaceId:e});await n.handleEvent(A,t,r.sendForm)}}})();var o=exports;for(var s in i)o[s]=i[s];i.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();'},{path:"locales/en.json",value:'{\n "locale": "en",\n "messages": {\n "snapDescription": {\n "message": "Manage Bitcoin using MetaMask"\n },\n "snapProposedName": {\n "message": "Bitcoin"\n },\n "reviewTransactionWarning": {\n "message": "Review the transaction before proceeding"\n },\n "loading": {\n "message": "Loading"\n },\n "from": {\n "message": "From"\n },\n "toAccount": {\n "message": "To Account"\n },\n "fromAccount": {\n "message": "From Account"\n },\n "review": {\n "message": "Review"\n },\n "cancel": {\n "message": "Cancel"\n },\n "amount": {\n "message": "Amount"\n },\n "balance": {\n "message": "Balance"\n },\n "recipient": {\n "message": "Recipient"\n },\n "network": {\n "message": "Network"\n },\n "estimatedTransactionSpeed": {\n "message": "30 min"\n },\n "transactionSpeed": {\n "message": "Transaction Speed"\n },\n "transactionSpeedTooltip": {\n "message": "The estimated time of the transaction"\n },\n "networkFee": {\n "message": "Network Fee"\n },\n "networkFeeToolTip": {\n "message": "The estimated network fee"\n },\n "total": {\n "message": "Total"\n },\n "send": {\n "message": "Send"\n },\n "sending": {\n "message": "Sending"\n },\n "sendAmount": {\n "message": "Send Amount"\n },\n "amountToSendPlaceholder": {\n "message": "Enter amount to send"\n },\n "max": {\n "message": "Max"\n },\n "receivingAddressPlaceholder": {\n "message": "Enter receiving address"\n },\n "validAddress": {\n "message": "Valid bitcoin address"\n },\n "preparingTransaction": {\n "message": "Preparing transaction"\n },\n "error": {\n "message": "Error"\n },\n "satProtectionTooltip": {\n "message": "MetaMask is protecting your Ordinials, Rare SATs, and Runes to be send in Bitcoin Transactions."\n }\n }\n}\n'}],removable:!1,hideSnapBranding:!0}}}},{package:"@metamask/bitcoin-wallet-snap",file:"node_modules/@metamask/bitcoin-wallet-snap/dist/preinstalled-snap.json"}],[1385,{"./constants/bridge.cjs":1386,"./constants/chains.cjs":1387,"./types.cjs":1391,"./utils/balance.cjs":1392,"./utils/bridge.cjs":1393,"./utils/caip-formatters.cjs":1394,"./utils/fetch.cjs":1395,"./utils/quote.cjs":1396,"@ethersproject/contracts":507,"@ethersproject/providers":545,"@metamask/metamask-eth-abis":2089,"@metamask/polling-controller":1406,"@metamask/snaps-utils":1425,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g,d,f,h,p,m,E=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},C=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.BridgeController=void 0;const I=e("@ethersproject/contracts"),B=e("@ethersproject/providers"),w=e("@metamask/metamask-eth-abis"),y=e("@metamask/polling-controller"),Q=e("@metamask/snaps-utils"),b=e("@metamask/utils"),v=e("./constants/bridge.cjs"),S=e("./constants/chains.cjs"),k=e("./types.cjs"),T=e("./utils/balance.cjs"),P=e("./utils/bridge.cjs"),R=e("./utils/caip-formatters.cjs"),x=e("./utils/fetch.cjs"),N=e("./utils/quote.cjs"),M={bridgeFeatureFlags:{persist:!1,anonymous:!1},quoteRequest:{persist:!1,anonymous:!1},quotes:{persist:!1,anonymous:!1},quotesInitialLoadTime:{persist:!1,anonymous:!1},quotesLastFetched:{persist:!1,anonymous:!1},quotesLoadingStatus:{persist:!1,anonymous:!1},quoteFetchError:{persist:!1,anonymous:!1},quotesRefreshCount:{persist:!1,anonymous:!1}},O="Reset controller state";class D extends((0,y.StaticIntervalPollingController)()){constructor({messenger:e,state:t,clientId:n,getLayer1GasFee:y,fetchFn:D,config:L}){super({name:v.BRIDGE_CONTROLLER_NAME,metadata:M,messenger:e,state:{...(0,P.getDefaultBridgeControllerState)(),...t}}),r.add(this),s.set(this,void 0),i.set(this,void 0),a.set(this,void 0),o.set(this,void 0),A.set(this,void 0),c.set(this,void 0),this._executePoll=async e=>{await C(this,g,"f").call(this,e)},this.updateBridgeQuoteRequestParams=async e=>{this.stopAllPolling(),C(this,s,"f")?.abort("Quote request updated");const t={...v.DEFAULT_BRIDGE_CONTROLLER_STATE.quoteRequest,...e};if(this.update((e=>{e.quoteRequest=t,e.quotes=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotes,e.quotesLastFetched=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesLastFetched,e.quotesLoadingStatus=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesLoadingStatus,e.quoteFetchError=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quoteFetchError,e.quotesRefreshCount=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesRefreshCount,e.quotesInitialLoadTime=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesInitialLoadTime})),(0,N.isValidQuoteRequest)(t)){E(this,i,Date.now(),"f");const n=C(this,r,"m",m).call(this)?.configuration;let s;s=(0,P.isSolanaChainId)(t.srcChainId)?e.insufficientBal:!!n?.rpcUrl?.includes("tenderly")||(e.insufficientBal??!await C(this,u,"f").call(this,t));const a=C(this,r,"m",p).call(this);C(this,l,"f").call(this),this.startPolling({networkClientId:a,updatedQuoteRequest:{...t,insufficientBal:s}})}},u.set(this,(async e=>{const t=C(this,r,"m",h).call(this)?.address,n=(0,R.formatChainIdToHex)(e.srcChainId),s=C(this,r,"m",m).call(this)?.provider,i=(0,R.formatAddressToCaipReference)(e.srcTokenAddress);return s&&t&&i&&e.srcTokenAmount&&n&&await(0,T.hasSufficientBalance)(s,t,i,e.srcTokenAmount,n)})),this.resetState=()=>{this.stopAllPolling(),C(this,s,"f")?.abort(O),this.update((e=>{e.quoteRequest=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quoteRequest,e.quotesInitialLoadTime=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesInitialLoadTime,e.quotes=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotes,e.quotesLastFetched=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesLastFetched,e.quotesLoadingStatus=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesLoadingStatus,e.quoteFetchError=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quoteFetchError,e.quotesRefreshCount=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotesRefreshCount;const t=e.bridgeFeatureFlags;e.bridgeFeatureFlags=t}))},this.setBridgeFeatureFlags=async()=>{const e=await(0,x.fetchBridgeFeatureFlags)(C(this,a,"f"),C(this,A,"f"),C(this,c,"f").customBridgeApiBaseUrl??v.BRIDGE_PROD_API_BASE_URL);this.update((t=>{t.bridgeFeatureFlags=e})),C(this,l,"f").call(this)},l.set(this,(()=>{const{state:e}=this,{srcChainId:t}=e.quoteRequest,n=t?e.bridgeFeatureFlags[k.BridgeFeatureFlagsKey.EXTENSION_CONFIG].chains[(0,R.formatChainIdToCaip)(t)]?.refreshRate:undefined,r=e.bridgeFeatureFlags[k.BridgeFeatureFlagsKey.EXTENSION_CONFIG].refreshRate;this.setIntervalLength(n??r)})),g.set(this,(async({networkClientId:e,updatedQuoteRequest:t})=>{const{bridgeFeatureFlags:n,quotesInitialLoadTime:r,quotesRefreshCount:o}=this.state;C(this,s,"f")?.abort("New quote request"),E(this,s,new AbortController,"f"),this.update((e=>{e.quotesLoadingStatus=k.RequestStatus.LOADING,e.quoteRequest=t,e.quoteFetchError=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quoteFetchError}));try{const e=await(0,x.fetchBridgeQuotes)(t,C(this,s,"f").signal,C(this,a,"f"),C(this,A,"f"),C(this,c,"f").customBridgeApiBaseUrl??v.BRIDGE_PROD_API_BASE_URL),n=await C(this,d,"f").call(this,e),r=await C(this,f,"f").call(this,e);this.update((t=>{t.quotes=n??r??e,t.quotesLoadingStatus=k.RequestStatus.FETCHED}))}catch(e){const t="AbortError"===e.name;if(e===O||t)return;this.update((t=>{t.quoteFetchError=e instanceof Error?e.message:"Unknown error",t.quotesLoadingStatus=k.RequestStatus.ERROR,t.quotes=v.DEFAULT_BRIDGE_CONTROLLER_STATE.quotes})),console.log("Failed to fetch bridge quotes",e)}finally{const{maxRefreshCount:e}=n[k.BridgeFeatureFlagsKey.EXTENSION_CONFIG],s=o+1;(t.insufficientBal||!t.insufficientBal&&s>=e)&&this.stopAllPolling();const a=Date.now();this.update((e=>{e.quotesInitialLoadTime=1===s&&C(this,i,"f")?a-C(this,i,"f"):r,e.quotesLastFetched=a,e.quotesRefreshCount=s}))}})),d.set(this,(async e=>e.some((({quote:e})=>{const t=(0,R.formatChainIdToCaip)(e.srcChainId);return![S.CHAIN_IDS.OPTIMISM,S.CHAIN_IDS.BASE].map(R.formatChainIdToCaip).includes(t)}))?undefined:await Promise.all(e.map((async e=>{const{quote:t,trade:n,approval:r}=e,s=(0,b.numberToHex)(t.srcChainId),i=e=>({from:e.from,to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit?.toString()}),a=r?await C(this,o,"f").call(this,{transactionParams:i(r),chainId:s}):"0",A=await C(this,o,"f").call(this,{transactionParams:i(n),chainId:s});return{...e,l1GasFeesInHexWei:(0,P.sumHexes)(a,A)}}))))),f.set(this,(async e=>e.some((({quote:{srcChainId:e}})=>!(0,P.isSolanaChainId)(e)))?undefined:await Promise.all(e.map((async e=>{const{trade:t}=e,n=C(this,r,"m",h).call(this);if(n?.metadata?.snap?.id&&"string"==typeof t){const{value:r}=await this.messagingSystem.call("SnapController:handleRequest",{snapId:n.metadata.snap.id,origin:"metamask",handler:Q.HandlerType.OnRpcRequest,request:{method:"getFeeForTransaction",params:{transaction:t,scope:n.options.scope}}});return{...e,solanaFeesInLamports:r}}return e}))))),this.getBridgeERC20Allowance=async(e,t)=>{const n=C(this,r,"m",m).call(this)?.provider;if(!n)throw new Error("No provider found");const s=new B.Web3Provider(n),i=new I.Contract(e,w.abiERC20,s),{address:a}=C(this,r,"m",h).call(this)??{};return(await i.allowance(a,v.METABRIDGE_CHAIN_TO_ADDRESS_MAP[t])).toString()},this.setIntervalLength(v.REFRESH_INTERVAL_MS),E(this,s,new AbortController,"f"),E(this,o,y,"f"),E(this,a,n,"f"),E(this,A,D,"f"),E(this,c,L??{},"f"),this.messagingSystem.registerActionHandler(`${v.BRIDGE_CONTROLLER_NAME}:setBridgeFeatureFlags`,this.setBridgeFeatureFlags.bind(this)),this.messagingSystem.registerActionHandler(`${v.BRIDGE_CONTROLLER_NAME}:updateBridgeQuoteRequestParams`,this.updateBridgeQuoteRequestParams.bind(this)),this.messagingSystem.registerActionHandler(`${v.BRIDGE_CONTROLLER_NAME}:resetState`,this.resetState.bind(this)),this.messagingSystem.registerActionHandler(`${v.BRIDGE_CONTROLLER_NAME}:getBridgeERC20Allowance`,this.getBridgeERC20Allowance.bind(this))}}n.BridgeController=D,s=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,A=new WeakMap,c=new WeakMap,u=new WeakMap,l=new WeakMap,g=new WeakMap,d=new WeakMap,f=new WeakMap,r=new WeakSet,h=function(){return this.messagingSystem.call("AccountsController:getSelectedMultichainAccount")},p=function(){const{selectedNetworkClientId:e}=this.messagingSystem.call("NetworkController:getState");return e},m=function(){const e=C(this,r,"m",p).call(this);return this.messagingSystem.call("NetworkController:getNetworkClientById",e)}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/bridge-controller.cjs"}],[1386,{"../types.cjs":1391,"./chains.cjs":1387,"@ethersproject/constants":504,"@metamask/keyring-api":1983},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.METABRIDGE_CHAIN_TO_ADDRESS_MAP=n.DEFAULT_BRIDGE_CONTROLLER_STATE=n.DEFAULT_FEATURE_FLAG_CONFIG=n.BRIDGE_CONTROLLER_NAME=n.DEFAULT_MAX_REFRESH_COUNT=n.REFRESH_INTERVAL_MS=n.BRIDGE_MM_FEE_RATE=n.BRIDGE_DEFAULT_SLIPPAGE=n.BRIDGE_PREFERRED_GAS_ESTIMATE=n.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE=n.BRIDGE_QUOTE_MAX_ETA_SECONDS=n.METABRIDGE_ETHEREUM_ADDRESS=n.ETH_USDT_ADDRESS=n.BridgeClientId=n.BRIDGE_PROD_API_BASE_URL=n.BRIDGE_DEV_API_BASE_URL=n.ALLOWED_BRIDGE_CHAIN_IDS=void 0;const r=e("@ethersproject/constants"),s=e("@metamask/keyring-api"),i=e("./chains.cjs"),a=e("../types.cjs");var o;n.ALLOWED_BRIDGE_CHAIN_IDS=[i.CHAIN_IDS.MAINNET,i.CHAIN_IDS.BSC,i.CHAIN_IDS.POLYGON,i.CHAIN_IDS.ZKSYNC_ERA,i.CHAIN_IDS.AVALANCHE,i.CHAIN_IDS.OPTIMISM,i.CHAIN_IDS.ARBITRUM,i.CHAIN_IDS.LINEA_MAINNET,i.CHAIN_IDS.BASE,s.SolScope.Mainnet],n.BRIDGE_DEV_API_BASE_URL="https://bridge.dev-api.cx.metamask.io",n.BRIDGE_PROD_API_BASE_URL="https://bridge.api.cx.metamask.io",function(e){e.EXTENSION="extension",e.MOBILE="mobile"}(o||(n.BridgeClientId=o={})),n.ETH_USDT_ADDRESS="0xdac17f958d2ee523a2206206994597c13d831ec7",n.METABRIDGE_ETHEREUM_ADDRESS="0x0439e60F02a8900a951603950d8D4527f400C3f1",n.BRIDGE_QUOTE_MAX_ETA_SECONDS=3600,n.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE=.5,n.BRIDGE_PREFERRED_GAS_ESTIMATE="high",n.BRIDGE_DEFAULT_SLIPPAGE=.5,n.BRIDGE_MM_FEE_RATE=.875,n.REFRESH_INTERVAL_MS=3e4,n.DEFAULT_MAX_REFRESH_COUNT=5,n.BRIDGE_CONTROLLER_NAME="BridgeController",n.DEFAULT_FEATURE_FLAG_CONFIG={refreshRate:n.REFRESH_INTERVAL_MS,maxRefreshCount:n.DEFAULT_MAX_REFRESH_COUNT,support:!1,chains:{}},n.DEFAULT_BRIDGE_CONTROLLER_STATE={bridgeFeatureFlags:{[a.BridgeFeatureFlagsKey.EXTENSION_CONFIG]:n.DEFAULT_FEATURE_FLAG_CONFIG,[a.BridgeFeatureFlagsKey.MOBILE_CONFIG]:n.DEFAULT_FEATURE_FLAG_CONFIG},quoteRequest:{srcTokenAddress:r.AddressZero},quotesInitialLoadTime:null,quotes:[],quotesLastFetched:null,quotesLoadingStatus:null,quoteFetchError:null,quotesRefreshCount:0},n.METABRIDGE_CHAIN_TO_ADDRESS_MAP={[i.CHAIN_IDS.MAINNET]:n.METABRIDGE_ETHEREUM_ADDRESS}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/constants/bridge.cjs"}],[1387,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.NETWORK_TO_NAME_MAP=n.MODE_DISPLAY_NAME=n.MODE_SEPOLIA_DISPLAY_NAME=n.SONEIUM_DISPLAY_NAME=n.INK_DISPLAY_NAME=n.INK_SEPOLIA_DISPLAY_NAME=n.LISK_SEPOLIA_DISPLAY_NAME=n.LISK_DISPLAY_NAME=n.METACHAIN_ONE_DISPLAY_NAME=n.BERACHAIN_DISPLAY_NAME=n.OP_BNB_DISPLAY_NAME=n.SCROLL_SEPOLIA_DISPLAY_NAME=n.SCROLL_DISPLAY_NAME=n.MOONRIVER_DISPLAY_NAME=n.MOONBEAM_DISPLAY_NAME=n.POLYGON_ZKEVM_DISPLAY_NAME=n.CRONOS_DISPLAY_NAME=n.AURORA_DISPLAY_NAME=n.BASE_DISPLAY_NAME=n.ZK_SYNC_ERA_DISPLAY_NAME=n.GNOSIS_DISPLAY_NAME=n.CELO_DISPLAY_NAME=n.PALM_DISPLAY_NAME=n.HARMONY_DISPLAY_NAME=n.FANTOM_DISPLAY_NAME=n.OPTIMISM_DISPLAY_NAME=n.BNB_DISPLAY_NAME=n.ARBITRUM_DISPLAY_NAME=n.AVALANCHE_DISPLAY_NAME=n.POLYGON_DISPLAY_NAME=n.BSC_DISPLAY_NAME=n.LOCALHOST_DISPLAY_NAME=n.LINEA_MAINNET_DISPLAY_NAME=n.LINEA_SEPOLIA_DISPLAY_NAME=n.LINEA_GOERLI_DISPLAY_NAME=n.SEPOLIA_DISPLAY_NAME=n.GOERLI_DISPLAY_NAME=n.MAINNET_DISPLAY_NAME=n.NETWORK_TYPES=n.CHAIN_IDS=void 0,n.CHAIN_IDS={MAINNET:"0x1",GOERLI:"0x5",LOCALHOST:"0x539",BSC:"0x38",BSC_TESTNET:"0x61",OPTIMISM:"0xa",OPTIMISM_TESTNET:"0xaa37dc",OPTIMISM_GOERLI:"0x1a4",BASE:"0x2105",BASE_TESTNET:"0x14a33",OPBNB:"0xcc",OPBNB_TESTNET:"0x15eb",POLYGON:"0x89",POLYGON_TESTNET:"0x13881",AVALANCHE:"0xa86a",AVALANCHE_TESTNET:"0xa869",FANTOM:"0xfa",FANTOM_TESTNET:"0xfa2",CELO:"0xa4ec",ARBITRUM:"0xa4b1",HARMONY:"0x63564c40",PALM:"0x2a15c308d",SEPOLIA:"0xaa36a7",HOLESKY:"0x4268",LINEA_GOERLI:"0xe704",LINEA_SEPOLIA:"0xe705",AMOY:"0x13882",BASE_SEPOLIA:"0x14a34",BLAST_SEPOLIA:"0xa0c71fd",OPTIMISM_SEPOLIA:"0xaa37dc",PALM_TESTNET:"0x2a15c3083",CELO_TESTNET:"0xaef3",ZK_SYNC_ERA_TESTNET:"0x12c",MANTA_SEPOLIA:"0x138b",UNICHAIN_SEPOLIA:"0x515",LINEA_MAINNET:"0xe708",AURORA:"0x4e454152",MOONBEAM:"0x504",MOONBEAM_TESTNET:"0x507",MOONRIVER:"0x505",CRONOS:"0x19",GNOSIS:"0x64",ZKSYNC_ERA:"0x144",TEST_ETH:"0x539",ARBITRUM_GOERLI:"0x66eed",BLAST:"0x13e31",FILECOIN:"0x13a",POLYGON_ZKEVM:"0x44d",SCROLL:"0x82750",SCROLL_SEPOLIA:"0x8274f",WETHIO:"0x4e",CHZ:"0x15b38",NUMBERS:"0x290b",SEI:"0x531",APE_TESTNET:"0x8157",APE_MAINNET:"0x8173",BERACHAIN:"0x138d5",METACHAIN_ONE:"0x1b6e6",ARBITRUM_SEPOLIA:"0x66eee",NEAR:"0x18d",NEAR_TESTNET:"0x18e",B3:"0x208d",B3_TESTNET:"0x7c9",GRAVITY_ALPHA_MAINNET:"0x659",GRAVITY_ALPHA_TESTNET_SEPOLIA:"0x34c1",LISK:"0x46f",LISK_SEPOLIA:"0x106a",INK_SEPOLIA:"0xba5eD",INK:"0xdef1",MODE_SEPOLIA:"0x397",MODE:"0x868b"},n.NETWORK_TYPES={GOERLI:"goerli",LOCALHOST:"localhost",MAINNET:"mainnet",SEPOLIA:"sepolia",LINEA_GOERLI:"linea-goerli",LINEA_SEPOLIA:"linea-sepolia",LINEA_MAINNET:"linea-mainnet"},n.MAINNET_DISPLAY_NAME="Ethereum Mainnet",n.GOERLI_DISPLAY_NAME="Goerli",n.SEPOLIA_DISPLAY_NAME="Sepolia",n.LINEA_GOERLI_DISPLAY_NAME="Linea Goerli",n.LINEA_SEPOLIA_DISPLAY_NAME="Linea Sepolia",n.LINEA_MAINNET_DISPLAY_NAME="Linea Mainnet",n.LOCALHOST_DISPLAY_NAME="Localhost 8545",n.BSC_DISPLAY_NAME="Binance Smart Chain",n.POLYGON_DISPLAY_NAME="Polygon",n.AVALANCHE_DISPLAY_NAME="Avalanche Network C-Chain",n.ARBITRUM_DISPLAY_NAME="Arbitrum One",n.BNB_DISPLAY_NAME="BNB Chain",n.OPTIMISM_DISPLAY_NAME="OP Mainnet",n.FANTOM_DISPLAY_NAME="Fantom Opera",n.HARMONY_DISPLAY_NAME="Harmony Mainnet Shard 0",n.PALM_DISPLAY_NAME="Palm",n.CELO_DISPLAY_NAME="Celo Mainnet",n.GNOSIS_DISPLAY_NAME="Gnosis",n.ZK_SYNC_ERA_DISPLAY_NAME="zkSync Era Mainnet",n.BASE_DISPLAY_NAME="Base Mainnet",n.AURORA_DISPLAY_NAME="Aurora Mainnet",n.CRONOS_DISPLAY_NAME="Cronos",n.POLYGON_ZKEVM_DISPLAY_NAME="Polygon zkEVM",n.MOONBEAM_DISPLAY_NAME="Moonbeam",n.MOONRIVER_DISPLAY_NAME="Moonriver",n.SCROLL_DISPLAY_NAME="Scroll",n.SCROLL_SEPOLIA_DISPLAY_NAME="Scroll Sepolia",n.OP_BNB_DISPLAY_NAME="opBNB",n.BERACHAIN_DISPLAY_NAME="Berachain Artio",n.METACHAIN_ONE_DISPLAY_NAME="Metachain One Mainnet",n.LISK_DISPLAY_NAME="Lisk",n.LISK_SEPOLIA_DISPLAY_NAME="Lisk Sepolia",n.INK_SEPOLIA_DISPLAY_NAME="Ink Sepolia",n.INK_DISPLAY_NAME="Ink Mainnet",n.SONEIUM_DISPLAY_NAME="Soneium Mainnet",n.MODE_SEPOLIA_DISPLAY_NAME="Mode Sepolia",n.MODE_DISPLAY_NAME="Mode Mainnet",n.NETWORK_TO_NAME_MAP={[n.NETWORK_TYPES.GOERLI]:n.GOERLI_DISPLAY_NAME,[n.NETWORK_TYPES.MAINNET]:n.MAINNET_DISPLAY_NAME,[n.NETWORK_TYPES.LINEA_GOERLI]:n.LINEA_GOERLI_DISPLAY_NAME,[n.NETWORK_TYPES.LINEA_SEPOLIA]:n.LINEA_SEPOLIA_DISPLAY_NAME,[n.NETWORK_TYPES.LINEA_MAINNET]:n.LINEA_MAINNET_DISPLAY_NAME,[n.NETWORK_TYPES.LOCALHOST]:n.LOCALHOST_DISPLAY_NAME,[n.NETWORK_TYPES.SEPOLIA]:n.SEPOLIA_DISPLAY_NAME,[n.CHAIN_IDS.ARBITRUM]:n.ARBITRUM_DISPLAY_NAME,[n.CHAIN_IDS.AVALANCHE]:n.AVALANCHE_DISPLAY_NAME,[n.CHAIN_IDS.BSC]:n.BSC_DISPLAY_NAME,[n.CHAIN_IDS.BASE]:n.BASE_DISPLAY_NAME,[n.CHAIN_IDS.GOERLI]:n.GOERLI_DISPLAY_NAME,[n.CHAIN_IDS.MAINNET]:n.MAINNET_DISPLAY_NAME,[n.CHAIN_IDS.LINEA_GOERLI]:n.LINEA_GOERLI_DISPLAY_NAME,[n.CHAIN_IDS.LINEA_MAINNET]:n.LINEA_MAINNET_DISPLAY_NAME,[n.CHAIN_IDS.LINEA_SEPOLIA]:n.LINEA_SEPOLIA_DISPLAY_NAME,[n.CHAIN_IDS.LOCALHOST]:n.LOCALHOST_DISPLAY_NAME,[n.CHAIN_IDS.OPTIMISM]:n.OPTIMISM_DISPLAY_NAME,[n.CHAIN_IDS.POLYGON]:n.POLYGON_DISPLAY_NAME,[n.CHAIN_IDS.SCROLL]:n.SCROLL_DISPLAY_NAME,[n.CHAIN_IDS.SCROLL_SEPOLIA]:n.SCROLL_SEPOLIA_DISPLAY_NAME,[n.CHAIN_IDS.SEPOLIA]:n.SEPOLIA_DISPLAY_NAME,[n.CHAIN_IDS.OPBNB]:n.OP_BNB_DISPLAY_NAME,[n.CHAIN_IDS.ZKSYNC_ERA]:n.ZK_SYNC_ERA_DISPLAY_NAME,[n.CHAIN_IDS.BERACHAIN]:n.BERACHAIN_DISPLAY_NAME,[n.CHAIN_IDS.METACHAIN_ONE]:n.METACHAIN_ONE_DISPLAY_NAME,[n.CHAIN_IDS.LISK]:n.LISK_DISPLAY_NAME,[n.CHAIN_IDS.LISK_SEPOLIA]:n.LISK_SEPOLIA_DISPLAY_NAME}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/constants/chains.cjs"}],[1388,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.SWAPS_API_V2_BASE_URL=void 0,n.SWAPS_API_V2_BASE_URL="https://swap.api.cx.metamask.io"}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/constants/swaps.cjs"}],[1389,{"./chains.cjs":1387,"@metamask/keyring-api":1983},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.SYMBOL_TO_SLIP44_MAP=n.SWAPS_CHAINID_DEFAULT_TOKEN_MAP=void 0;const r=e("@metamask/keyring-api"),s=e("./chains.cjs"),i="0x0000000000000000000000000000000000000000",a=`${r.SolScope.Mainnet}/slip44:501`,o="ETH",A="SOL",c={symbol:o,name:"Ether",address:i,decimals:18,iconUrl:""},u={symbol:"BNB",name:"Binance Coin",address:i,decimals:18,iconUrl:""},l={symbol:"POL",name:"Polygon",address:i,decimals:18,iconUrl:""},g={symbol:"AVAX",name:"Avalanche",address:i,decimals:18,iconUrl:""},d={symbol:"TESTETH",name:"Test Ether",address:i,decimals:18,iconUrl:""},f={symbol:o,name:"Ether",address:i,decimals:18,iconUrl:""},h={symbol:o,name:"Ether",address:i,decimals:18,iconUrl:""},p={...c},m={...c},E={...c},C={...c},I={...c},B={symbol:A,name:"Solana",address:a,decimals:9,iconUrl:""};n.SWAPS_CHAINID_DEFAULT_TOKEN_MAP={[s.CHAIN_IDS.MAINNET]:c,"0x539":d,[s.CHAIN_IDS.BSC]:u,[s.CHAIN_IDS.POLYGON]:l,[s.CHAIN_IDS.GOERLI]:f,[s.CHAIN_IDS.SEPOLIA]:h,[s.CHAIN_IDS.AVALANCHE]:g,[s.CHAIN_IDS.OPTIMISM]:m,[s.CHAIN_IDS.ARBITRUM]:p,[s.CHAIN_IDS.ZKSYNC_ERA]:E,[s.CHAIN_IDS.LINEA_MAINNET]:C,[s.CHAIN_IDS.BASE]:I,[r.SolScope.Mainnet]:B},n.SYMBOL_TO_SLIP44_MAP={SOL:"slip44:501",ETH:"slip44:60",POL:"slip44:966",BNB:"slip44:714",AVAX:"slip44:9000",TESTETH:"slip44:60"}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/constants/tokens.cjs"}],[1390,{"./bridge-controller.cjs":1385,"./constants/bridge.cjs":1386,"./constants/swaps.cjs":1388,"./constants/tokens.cjs":1389,"./types.cjs":1391,"./utils/balance.cjs":1392,"./utils/bridge.cjs":1393,"./utils/caip-formatters.cjs":1394,"./utils/fetch.cjs":1395,"./utils/quote.cjs":1396},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatAddressToCaipReference=n.formatChainIdToHex=n.formatChainIdToCaip=n.fetchBridgeTokens=n.calcLatestSrcBalance=n.isValidQuoteRequest=n.getDefaultBridgeControllerState=n.getNativeAssetForChainId=n.isSolanaChainId=n.isNativeAddress=n.isEthUsdt=n.getEthUsdtResetData=n.SWAPS_API_V2_BASE_URL=n.SWAPS_CHAINID_DEFAULT_TOKEN_MAP=n.BRIDGE_PROD_API_BASE_URL=n.BRIDGE_DEV_API_BASE_URL=n.METABRIDGE_CHAIN_TO_ADDRESS_MAP=n.DEFAULT_BRIDGE_CONTROLLER_STATE=n.DEFAULT_MAX_REFRESH_COUNT=n.REFRESH_INTERVAL_MS=n.BRIDGE_MM_FEE_RATE=n.BRIDGE_DEFAULT_SLIPPAGE=n.BRIDGE_PREFERRED_GAS_ESTIMATE=n.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE=n.BRIDGE_QUOTE_MAX_ETA_SECONDS=n.BRIDGE_CONTROLLER_NAME=n.BridgeClientId=n.ALLOWED_BRIDGE_CHAIN_IDS=n.FeeType=n.BridgeBackgroundAction=n.BridgeUserAction=n.RequestStatus=n.BridgeFeatureFlagsKey=n.ChainId=n.ActionTypes=n.BridgeFlag=n.SortOrder=n.AssetType=n.BridgeController=void 0;var r=e("./bridge-controller.cjs");Object.defineProperty(n,"BridgeController",{enumerable:!0,get:function(){return r.BridgeController}});var s=e("./types.cjs");Object.defineProperty(n,"AssetType",{enumerable:!0,get:function(){return s.AssetType}}),Object.defineProperty(n,"SortOrder",{enumerable:!0,get:function(){return s.SortOrder}}),Object.defineProperty(n,"BridgeFlag",{enumerable:!0,get:function(){return s.BridgeFlag}}),Object.defineProperty(n,"ActionTypes",{enumerable:!0,get:function(){return s.ActionTypes}}),Object.defineProperty(n,"ChainId",{enumerable:!0,get:function(){return s.ChainId}}),Object.defineProperty(n,"BridgeFeatureFlagsKey",{enumerable:!0,get:function(){return s.BridgeFeatureFlagsKey}}),Object.defineProperty(n,"RequestStatus",{enumerable:!0,get:function(){return s.RequestStatus}}),Object.defineProperty(n,"BridgeUserAction",{enumerable:!0,get:function(){return s.BridgeUserAction}}),Object.defineProperty(n,"BridgeBackgroundAction",{enumerable:!0,get:function(){return s.BridgeBackgroundAction}}),Object.defineProperty(n,"FeeType",{enumerable:!0,get:function(){return s.FeeType}});var i=e("./constants/bridge.cjs");Object.defineProperty(n,"ALLOWED_BRIDGE_CHAIN_IDS",{enumerable:!0,get:function(){return i.ALLOWED_BRIDGE_CHAIN_IDS}}),Object.defineProperty(n,"BridgeClientId",{enumerable:!0,get:function(){return i.BridgeClientId}}),Object.defineProperty(n,"BRIDGE_CONTROLLER_NAME",{enumerable:!0,get:function(){return i.BRIDGE_CONTROLLER_NAME}}),Object.defineProperty(n,"BRIDGE_QUOTE_MAX_ETA_SECONDS",{enumerable:!0,get:function(){return i.BRIDGE_QUOTE_MAX_ETA_SECONDS}}),Object.defineProperty(n,"BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE",{enumerable:!0,get:function(){return i.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE}}),Object.defineProperty(n,"BRIDGE_PREFERRED_GAS_ESTIMATE",{enumerable:!0,get:function(){return i.BRIDGE_PREFERRED_GAS_ESTIMATE}}),Object.defineProperty(n,"BRIDGE_DEFAULT_SLIPPAGE",{enumerable:!0,get:function(){return i.BRIDGE_DEFAULT_SLIPPAGE}}),Object.defineProperty(n,"BRIDGE_MM_FEE_RATE",{enumerable:!0,get:function(){return i.BRIDGE_MM_FEE_RATE}}),Object.defineProperty(n,"REFRESH_INTERVAL_MS",{enumerable:!0,get:function(){return i.REFRESH_INTERVAL_MS}}),Object.defineProperty(n,"DEFAULT_MAX_REFRESH_COUNT",{enumerable:!0,get:function(){return i.DEFAULT_MAX_REFRESH_COUNT}}),Object.defineProperty(n,"DEFAULT_BRIDGE_CONTROLLER_STATE",{enumerable:!0,get:function(){return i.DEFAULT_BRIDGE_CONTROLLER_STATE}}),Object.defineProperty(n,"METABRIDGE_CHAIN_TO_ADDRESS_MAP",{enumerable:!0,get:function(){return i.METABRIDGE_CHAIN_TO_ADDRESS_MAP}}),Object.defineProperty(n,"BRIDGE_DEV_API_BASE_URL",{enumerable:!0,get:function(){return i.BRIDGE_DEV_API_BASE_URL}}),Object.defineProperty(n,"BRIDGE_PROD_API_BASE_URL",{enumerable:!0,get:function(){return i.BRIDGE_PROD_API_BASE_URL}});var a=e("./constants/tokens.cjs");Object.defineProperty(n,"SWAPS_CHAINID_DEFAULT_TOKEN_MAP",{enumerable:!0,get:function(){return a.SWAPS_CHAINID_DEFAULT_TOKEN_MAP}});var o=e("./constants/swaps.cjs");Object.defineProperty(n,"SWAPS_API_V2_BASE_URL",{enumerable:!0,get:function(){return o.SWAPS_API_V2_BASE_URL}});var A=e("./utils/bridge.cjs");Object.defineProperty(n,"getEthUsdtResetData",{enumerable:!0,get:function(){return A.getEthUsdtResetData}}),Object.defineProperty(n,"isEthUsdt",{enumerable:!0,get:function(){return A.isEthUsdt}}),Object.defineProperty(n,"isNativeAddress",{enumerable:!0,get:function(){return A.isNativeAddress}}),Object.defineProperty(n,"isSolanaChainId",{enumerable:!0,get:function(){return A.isSolanaChainId}}),Object.defineProperty(n,"getNativeAssetForChainId",{enumerable:!0,get:function(){return A.getNativeAssetForChainId}}),Object.defineProperty(n,"getDefaultBridgeControllerState",{enumerable:!0,get:function(){return A.getDefaultBridgeControllerState}});var c=e("./utils/quote.cjs");Object.defineProperty(n,"isValidQuoteRequest",{enumerable:!0,get:function(){return c.isValidQuoteRequest}});var u=e("./utils/balance.cjs");Object.defineProperty(n,"calcLatestSrcBalance",{enumerable:!0,get:function(){return u.calcLatestSrcBalance}});var l=e("./utils/fetch.cjs");Object.defineProperty(n,"fetchBridgeTokens",{enumerable:!0,get:function(){return l.fetchBridgeTokens}});var g=e("./utils/caip-formatters.cjs");Object.defineProperty(n,"formatChainIdToCaip",{enumerable:!0,get:function(){return g.formatChainIdToCaip}}),Object.defineProperty(n,"formatChainIdToHex",{enumerable:!0,get:function(){return g.formatChainIdToHex}}),Object.defineProperty(n,"formatAddressToCaipReference",{enumerable:!0,get:function(){return g.formatAddressToCaipReference}})}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/index.cjs"}],[1391,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c,u,l,g;Object.defineProperty(n,"__esModule",{value:!0}),n.BridgeBackgroundAction=n.BridgeUserAction=n.RequestStatus=n.BridgeFeatureFlagsKey=n.FeeType=n.ChainId=n.ActionTypes=n.BridgeFlag=n.SortOrder=n.AssetType=void 0,function(e){e.native="NATIVE",e.token="TOKEN",e.NFT="NFT",e.unknown="UNKNOWN"}(r||(n.AssetType=r={})),function(e){e.COST_ASC="cost_ascending",e.ETA_ASC="time_descending"}(s||(n.SortOrder=s={})),function(e){e.EXTENSION_CONFIG="extension-config",e.MOBILE_CONFIG="mobile-config"}(i||(n.BridgeFlag=i={})),function(e){e.BRIDGE="bridge",e.SWAP="swap",e.REFUEL="refuel"}(a||(n.ActionTypes=a={})),function(e){e[e.ETH=1]="ETH",e[e.OPTIMISM=10]="OPTIMISM",e[e.BSC=56]="BSC",e[e.POLYGON=137]="POLYGON",e[e.ZKSYNC=324]="ZKSYNC",e[e.BASE=8453]="BASE",e[e.ARBITRUM=42161]="ARBITRUM",e[e.AVALANCHE=43114]="AVALANCHE",e[e.LINEA=59144]="LINEA",e[e.SOLANA=0x416edef1601be]="SOLANA"}(o||(n.ChainId=o={})),function(e){e.METABRIDGE="metabridge",e.REFUEL="refuel"}(A||(n.FeeType=A={})),function(e){e.EXTENSION_CONFIG="extensionConfig",e.MOBILE_CONFIG="mobileConfig"}(c||(n.BridgeFeatureFlagsKey=c={})),function(e){e[e.LOADING=0]="LOADING",e[e.FETCHED=1]="FETCHED",e[e.ERROR=2]="ERROR"}(u||(n.RequestStatus=u={})),function(e){e.SELECT_DEST_NETWORK="selectDestNetwork",e.UPDATE_QUOTE_PARAMS="updateBridgeQuoteRequestParams"}(l||(n.BridgeUserAction=l={})),function(e){e.SET_FEATURE_FLAGS="setBridgeFeatureFlags",e.RESET_STATE="resetState",e.GET_BRIDGE_ERC20_ALLOWANCE="getBridgeERC20Allowance"}(g||(n.BridgeBackgroundAction=g={}))}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/types.cjs"}],[1392,{"./bridge.cjs":1393,"@ethersproject/address":491,"@ethersproject/contracts":507,"@ethersproject/providers":545,"@metamask/metamask-eth-abis":2089},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.hasSufficientBalance=n.calcLatestSrcBalance=n.fetchTokenBalance=void 0;const r=e("@ethersproject/address"),s=e("@ethersproject/contracts"),i=e("@ethersproject/providers"),a=e("@metamask/metamask-eth-abis"),o=e("./bridge.cjs");n.fetchTokenBalance=async(e,t,n)=>{const r=new i.Web3Provider(n),o=new s.Contract(e,a.abiERC20,r),A="function"==typeof o?.balanceOf?o.balanceOf(t):Promise.resolve(undefined);return await A};n.calcLatestSrcBalance=async(e,t,s,a)=>{if(s&&a){if((0,o.isNativeAddress)(s)){const n=new i.Web3Provider(e);return await n.getBalance((0,r.getAddress)(t))}return await(0,n.fetchTokenBalance)(s,t,e)}return undefined};n.hasSufficientBalance=async(e,t,r,s,i)=>{const a=await(0,n.calcLatestSrcBalance)(e,t,r,i);return!!a&&a.gte(s)}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/utils/balance.cjs"}],[1393,{"../constants/bridge.cjs":1386,"../constants/chains.cjs":1387,"../constants/tokens.cjs":1389,"../types.cjs":1391,"./caip-formatters.cjs":1394,"@ethersproject/constants":504,"@ethersproject/contracts":507,"@metamask/keyring-api":1983,"@metamask/metamask-eth-abis":2089,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isSolanaChainId=n.isNativeAddress=n.isSwapsDefaultTokenSymbol=n.isSwapsDefaultTokenAddress=n.sumHexes=n.isEthUsdt=n.getEthUsdtResetData=n.getNativeAssetForChainId=n.getDefaultBridgeControllerState=void 0;const r=e("@ethersproject/constants"),s=e("@ethersproject/contracts"),i=e("@metamask/keyring-api"),a=e("@metamask/metamask-eth-abis"),o=e("@metamask/utils"),A=e("./caip-formatters.cjs"),c=e("../constants/bridge.cjs"),u=e("../constants/chains.cjs"),l=e("../constants/tokens.cjs"),g=e("../types.cjs");n.getDefaultBridgeControllerState=()=>c.DEFAULT_BRIDGE_CONTROLLER_STATE;const d=(e,t)=>`${(0,A.formatChainIdToCaip)(e)}/${l.SYMBOL_TO_SLIP44_MAP[t]}`;n.getNativeAssetForChainId=e=>{const t=(0,A.formatChainIdToCaip)(e),n=l.SWAPS_CHAINID_DEFAULT_TOKEN_MAP[(0,A.formatChainIdToCaip)(e)]??l.SWAPS_CHAINID_DEFAULT_TOKEN_MAP[(0,A.formatChainIdToHex)(e)];if(!n)throw new Error(`No XChain Swaps native asset found for chainId: ${e}`);return{...n,chainId:(0,A.formatChainIdToDec)(e),assetId:d(t,n.symbol)}};n.getEthUsdtResetData=()=>new s.Contract(c.ETH_USDT_ADDRESS,a.abiERC20).interface.encodeFunctionData("approve",[c.METABRIDGE_ETHEREUM_ADDRESS,"0"]);n.isEthUsdt=(e,t)=>e===u.CHAIN_IDS.MAINNET&&t.toLowerCase()===c.ETH_USDT_ADDRESS.toLowerCase();n.sumHexes=(...e)=>{if(0===e.length)return"0x0";return`0x${e.reduce(((e,t)=>e+BigInt(t)),BigInt(0)).toString(16)}`};n.isSwapsDefaultTokenAddress=(e,t)=>!(!e||!t)&&e===(0,n.getNativeAssetForChainId)(t)?.address;n.isSwapsDefaultTokenSymbol=(e,t)=>!(!e||!t)&&e===(0,n.getNativeAssetForChainId)(t)?.symbol;n.isNativeAddress=e=>e===r.AddressZero||""===e||!e||e.endsWith("11111111111111111111111111111111")||[(0,n.getNativeAssetForChainId)(g.ChainId.SOLANA).assetId].some((t=>t.includes(e)&&!(0,o.isStrictHexString)(e)));n.isSolanaChainId=e=>(0,o.isCaipChainId)(e)?e===i.SolScope.Mainnet.toString():e.toString()===g.ChainId.SOLANA.toString()}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/utils/bridge.cjs"}],[1394,{"../types.cjs":1391,"./bridge.cjs":1393,"@ethersproject/address":491,"@ethersproject/constants":504,"@metamask/controller-utils":1474,"@metamask/keyring-api":1983,"@metamask/multichain-network-controller":1400,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatAddressToCaipReference=n.formatChainIdToHex=n.formatChainIdToDec=n.formatChainIdToCaip=void 0;const r=e("@ethersproject/address"),s=e("@ethersproject/constants"),i=e("@metamask/controller-utils"),a=e("@metamask/keyring-api"),o=e("@metamask/multichain-network-controller"),A=e("@metamask/utils"),c=e("./bridge.cjs"),u=e("../types.cjs");n.formatChainIdToCaip=e=>(0,A.isCaipChainId)(e)?e:(0,A.isStrictHexString)(e)?(0,o.toEvmCaipChainId)(e):(0,c.isSolanaChainId)(e)?a.SolScope.Mainnet:(0,o.toEvmCaipChainId)((0,A.numberToHex)(Number(e)));n.formatChainIdToDec=e=>(0,A.isStrictHexString)(e)?(0,i.convertHexToDecimal)(e):e===a.SolScope.Mainnet?u.ChainId.SOLANA:(0,A.isCaipChainId)(e)?Number(e.split(":").at(-1)):"string"==typeof e?parseInt(e,10):e;n.formatChainIdToHex=e=>{if((0,A.isStrictHexString)(e))return e;if("number"==typeof e||parseInt(e,10))return(0,A.numberToHex)(Number(e));if((0,A.isCaipChainId)(e)){const{reference:t}=(0,A.parseCaipChainId)(e);if((0,A.isCaipReference)(t)&&!isNaN(Number(t)))return(0,A.numberToHex)(Number(t))}throw new Error(`Invalid cross-chain swaps chainId: ${e}`)};n.formatAddressToCaipReference=e=>{if((0,A.isStrictHexString)(e))return(0,r.getAddress)(e);if((0,c.isNativeAddress)(e))return s.AddressZero;const t=e.split(":").at(-1);if(!t)throw new Error("Invalid address");return t}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/utils/caip-formatters.cjs"}],[1395,{"../constants/bridge.cjs":1386,"../types.cjs":1391,"./caip-formatters.cjs":1394,"./validators.cjs":1397,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.fetchBridgeQuotes=n.fetchBridgeTokens=n.fetchBridgeFeatureFlags=n.getClientIdHeader=void 0;const r=e("@metamask/utils"),s=e("./caip-formatters.cjs"),i=e("./validators.cjs"),a=e("../constants/bridge.cjs"),o=e("../types.cjs"),A=10*r.Duration.Minute;n.getClientIdHeader=e=>({"X-Client-Id":e}),n.fetchBridgeFeatureFlags=async function(e,t,r){const c=`${r}/getAllFeatureFlags`,u=await t(c,{headers:(0,n.getClientIdHeader)(e),cacheOptions:{cacheRefreshTime:A},functionName:"fetchBridgeFeatureFlags"});if((0,i.validateFeatureFlagsResponse)(u)){const e=e=>Object.entries(e).reduce(((e,[t,n])=>({...e,[(0,s.formatChainIdToCaip)(t)]:n})),{});return{[o.BridgeFeatureFlagsKey.EXTENSION_CONFIG]:{...u[o.BridgeFlag.EXTENSION_CONFIG],chains:e(u[o.BridgeFlag.EXTENSION_CONFIG].chains)},[o.BridgeFeatureFlagsKey.MOBILE_CONFIG]:{...u[o.BridgeFlag.MOBILE_CONFIG],chains:e(u[o.BridgeFlag.MOBILE_CONFIG].chains)}}}return{[o.BridgeFeatureFlagsKey.EXTENSION_CONFIG]:a.DEFAULT_FEATURE_FLAG_CONFIG,[o.BridgeFeatureFlagsKey.MOBILE_CONFIG]:a.DEFAULT_FEATURE_FLAG_CONFIG}},n.fetchBridgeTokens=async function(e,t,r,a){const o=`${a}/getTokens?chainId=${(0,s.formatChainIdToDec)(e)}`,c=await r(o,{headers:(0,n.getClientIdHeader)(t),cacheOptions:{cacheRefreshTime:A},functionName:"fetchBridgeTokens"}),u={};return c.forEach((e=>{(0,i.validateSwapsTokenObject)(e)&&(u[e.address]=e)})),u},n.fetchBridgeQuotes=async function(e,t,r,a,o){const A=e.destWalletAddress??e.walletAddress,c={walletAddress:(0,s.formatAddressToCaipReference)(e.walletAddress),destWalletAddress:(0,s.formatAddressToCaipReference)(A),srcChainId:(0,s.formatChainIdToDec)(e.srcChainId),destChainId:(0,s.formatChainIdToDec)(e.destChainId),srcTokenAddress:(0,s.formatAddressToCaipReference)(e.srcTokenAddress),destTokenAddress:(0,s.formatAddressToCaipReference)(e.destTokenAddress),srcTokenAmount:e.srcTokenAmount,insufficientBal:Boolean(e.insufficientBal),resetApproval:Boolean(e.resetApproval)};e.slippage!==undefined&&(c.slippage=e.slippage);const u=new URLSearchParams;Object.entries(c).forEach((([e,t])=>{u.append(e,t.toString())}));const l=`${o}/getQuote?${u}`;return(await a(l,{headers:(0,n.getClientIdHeader)(r),signal:t,cacheOptions:{cacheRefreshTime:0},functionName:"fetchBridgeQuotes"})).filter((e=>(0,i.validateQuoteResponse)(e)))}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/utils/fetch.cjs"}],[1396,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isValidQuoteRequest=void 0;n.isValidQuoteRequest=(e,t=!0)=>{const n=["srcTokenAddress","destTokenAddress","srcChainId","destChainId","walletAddress"];t&&n.push("srcTokenAmount");const r=[];return e.slippage!==undefined&&r.push("slippage"),n.every((t=>t in e&&"string"==typeof e[t]&&e[t]!==undefined&&""!==e[t]&&null!==e[t]))&&r.every((t=>t in e&&"number"==typeof e[t]&&e[t]!==undefined&&!isNaN(Number(e[t]))&&null!==e[t]))&&(!t||Boolean((e.srcTokenAmount??"").match(/^[1-9]\d*$/u)))}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/utils/quote.cjs"}],[1397,{"../types.cjs":1391,"@metamask/controller-utils":1474,"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateQuoteResponse=n.validateSwapsTokenObject=n.validateFeatureFlagsResponse=n.truthyString=void 0;const r=e("@metamask/controller-utils"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("../types.cjs"),o=(0,s.define)("HexAddress",(e=>(0,r.isValidHexAddress)(e,{allowNonPrefixed:!1}))),A=(0,s.define)("HexString",(e=>(0,i.isStrictHexString)(e)));n.truthyString=e=>Boolean(e?.length);const c=(0,s.define)("TruthyDigitString",(e=>(0,n.truthyString)(e)&&Boolean(e.match(/^\d+$/u)))),u=(0,s.number)(),l=(0,s.type)({chainId:u,address:(0,s.string)(),assetId:(0,s.string)(),symbol:(0,s.string)(),name:(0,s.string)(),decimals:(0,s.number)(),icon:(0,s.optional)((0,s.string)()),iconUrl:(0,s.optional)((0,s.string)())});n.validateFeatureFlagsResponse=e=>{const t=(0,s.type)({isActiveSrc:(0,s.boolean)(),isActiveDest:(0,s.boolean)(),refreshRate:(0,s.optional)((0,s.number)()),topAssets:(0,s.optional)((0,s.array)((0,s.string)()))}),n=(0,s.type)({refreshRate:(0,s.number)(),maxRefreshCount:(0,s.number)(),support:(0,s.boolean)(),chains:(0,s.record)((0,s.string)(),t)}),r=(0,s.type)({[a.BridgeFlag.EXTENSION_CONFIG]:n,[a.BridgeFlag.MOBILE_CONFIG]:n});return(0,s.is)(e,r)};n.validateSwapsTokenObject=e=>(0,s.is)(e,l);n.validateQuoteResponse=e=>{const t=(0,s.type)({amount:c,asset:l}),n=(0,s.type)({name:(0,s.string)(),displayName:(0,s.optional)((0,s.string)()),icon:(0,s.optional)((0,s.string)())}),r=(0,s.type)({action:(0,s.enums)(Object.values(a.ActionTypes)),srcChainId:u,destChainId:(0,s.optional)(u),srcAsset:l,destAsset:l,srcAmount:(0,s.string)(),destAmount:(0,s.string)(),protocol:n}),i=r,g=(0,s.type)({requestId:(0,s.string)(),srcChainId:u,srcAsset:l,srcTokenAmount:(0,s.string)(),destChainId:u,destAsset:l,destTokenAmount:(0,s.string)(),feeData:(0,s.record)((0,s.enums)(Object.values(a.FeeType)),t),bridgeId:(0,s.string)(),bridges:(0,s.array)((0,s.string)()),steps:(0,s.array)(r),refuel:(0,s.optional)(i)}),d=(0,s.type)({chainId:(0,s.number)(),to:o,from:o,value:A,data:A,gasLimit:(0,s.nullable)((0,s.number)())}),f=(0,s.type)({quote:g,approval:(0,s.optional)(d),trade:(0,s.union)([d,(0,s.string)()]),estimatedProcessingTimeInSeconds:(0,s.number)()});return(0,s.is)(e,f)}}}},{package:"@metamask/bridge-controller",file:"node_modules/@metamask/bridge-controller/dist/utils/validators.cjs"}],[1398,{"./constants.cjs":1399,"./types.cjs":1401,"./utils.cjs":1402,"@metamask/base-controller":1383,"@metamask/keyring-api":1983,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a,o,A,c=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.MultichainNetworkController=void 0;const u=e("@metamask/base-controller"),l=e("@metamask/keyring-api"),g=e("@metamask/utils"),d=e("./constants.cjs"),f=e("./types.cjs"),h=e("./utils.cjs");class p extends u.BaseController{constructor({messenger:e,state:t}){super({messenger:e,name:f.MULTICHAIN_NETWORK_CONTROLLER_NAME,metadata:d.MULTICHAIN_NETWORK_CONTROLLER_METADATA,state:{...(0,d.getDefaultMultichainNetworkControllerState)(),...t}}),r.add(this),c(this,r,"m",o).call(this),c(this,r,"m",A).call(this)}async setActiveNetwork(e){if((0,g.isCaipChainId)(e)){if(!(0,h.checkIfSupportedCaipChainId)(e))throw new Error(`Unsupported Caip chain ID: ${String(e)}`);return c(this,r,"m",i).call(this,e)}return await c(this,r,"m",s).call(this,e)}}n.MultichainNetworkController=p,r=new WeakSet,s=async function(e){const{selectedNetworkClientId:t}=this.messagingSystem.call("NetworkController:getState"),n=!this.state.isEvmSelected,r=e!==t;(n||r)&&(n&&this.update((e=>{e.isEvmSelected=!0})),r&&await this.messagingSystem.call("NetworkController:setActiveNetwork",e),(n||r)&&this.messagingSystem.publish("MultichainNetworkController:networkDidChange",e))},i=function(e){(e!==this.state.selectedMultichainNetworkChainId||this.state.isEvmSelected)&&(this.update((t=>{t.selectedMultichainNetworkChainId=e,t.isEvmSelected=!1})),this.messagingSystem.publish("MultichainNetworkController:networkDidChange",e))},a=function(e){const{type:t,address:n}=e;if((0,l.isEvmAccountType)(t)){if(this.state.isEvmSelected)return;return void this.update((e=>{e.isEvmSelected=!0}))}const r=(0,h.getChainIdForNonEvmAddress)(n);r===this.state.selectedMultichainNetworkChainId?this.update((e=>{e.isEvmSelected=!1})):this.update((e=>{e.selectedMultichainNetworkChainId=r,e.isEvmSelected=!1}))},o=function(){this.messagingSystem.subscribe("AccountsController:selectedAccountChange",(e=>c(this,r,"m",a).call(this,e)))},A=function(){this.messagingSystem.registerActionHandler("MultichainNetworkController:setActiveNetwork",this.setActiveNetwork.bind(this))}}}},{package:"@metamask/bridge-controller>@metamask/multichain-network-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/multichain-network-controller/dist/MultichainNetworkController.cjs"}],[1399,{"@metamask/keyring-api":1983,"@metamask/network-controller":2176},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MULTICHAIN_NETWORK_CONTROLLER_METADATA=n.getDefaultMultichainNetworkControllerState=n.NETWORKS_METADATA=n.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS=n.SOL_NATIVE_ASSET=n.BTC_NATIVE_ASSET=void 0;const r=e("@metamask/keyring-api"),s=e("@metamask/network-controller");n.BTC_NATIVE_ASSET=`${r.BtcScope.Mainnet}/slip44:0`,n.SOL_NATIVE_ASSET=`${r.SolScope.Mainnet}/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`,n.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS={[r.BtcScope.Mainnet]:{chainId:r.BtcScope.Mainnet,name:"Bitcoin Mainnet",nativeCurrency:n.BTC_NATIVE_ASSET,isEvm:!1},[r.SolScope.Mainnet]:{chainId:r.SolScope.Mainnet,name:"Solana Mainnet",nativeCurrency:n.SOL_NATIVE_ASSET,isEvm:!1}},n.NETWORKS_METADATA={[r.BtcScope.Mainnet]:{features:[],status:s.NetworkStatus.Available},[r.SolScope.Mainnet]:{features:[],status:s.NetworkStatus.Available}};n.getDefaultMultichainNetworkControllerState=()=>({multichainNetworkConfigurationsByChainId:n.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS,selectedMultichainNetworkChainId:r.SolScope.Mainnet,isEvmSelected:!0}),n.MULTICHAIN_NETWORK_CONTROLLER_METADATA={multichainNetworkConfigurationsByChainId:{persist:!0,anonymous:!0},selectedMultichainNetworkChainId:{persist:!0,anonymous:!0},isEvmSelected:{persist:!0,anonymous:!0}}}}},{package:"@metamask/bridge-controller>@metamask/multichain-network-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/multichain-network-controller/dist/constants.cjs"}],[1400,{"./MultichainNetworkController.cjs":1398,"./constants.cjs":1399,"./utils.cjs":1402},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.toEvmCaipChainId=n.toMultichainNetworkConfigurationsByChainId=n.toMultichainNetworkConfiguration=n.checkIfSupportedCaipChainId=n.getDefaultMultichainNetworkControllerState=n.MultichainNetworkController=void 0;var r=e("./MultichainNetworkController.cjs");Object.defineProperty(n,"MultichainNetworkController",{enumerable:!0,get:function(){return r.MultichainNetworkController}});var s=e("./constants.cjs");Object.defineProperty(n,"getDefaultMultichainNetworkControllerState",{enumerable:!0,get:function(){return s.getDefaultMultichainNetworkControllerState}});var i=e("./utils.cjs");Object.defineProperty(n,"checkIfSupportedCaipChainId",{enumerable:!0,get:function(){return i.checkIfSupportedCaipChainId}}),Object.defineProperty(n,"toMultichainNetworkConfiguration",{enumerable:!0,get:function(){return i.toMultichainNetworkConfiguration}}),Object.defineProperty(n,"toMultichainNetworkConfigurationsByChainId",{enumerable:!0,get:function(){return i.toMultichainNetworkConfigurationsByChainId}}),Object.defineProperty(n,"toEvmCaipChainId",{enumerable:!0,get:function(){return i.toEvmCaipChainId}})}}},{package:"@metamask/bridge-controller>@metamask/multichain-network-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/multichain-network-controller/dist/index.cjs"}],[1401,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MULTICHAIN_NETWORK_CONTROLLER_NAME=void 0,n.MULTICHAIN_NETWORK_CONTROLLER_NAME="MultichainNetworkController"}}},{package:"@metamask/bridge-controller>@metamask/multichain-network-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/multichain-network-controller/dist/types.cjs"}],[1402,{"./constants.cjs":1399,"@metamask/keyring-api":1983,"@metamask/utils":2950,"@solana/addresses":1447},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.toMultichainNetworkConfigurationsByChainId=n.toMultichainNetworkConfiguration=n.toEvmCaipChainId=n.checkIfSupportedCaipChainId=n.getChainIdForNonEvmAddress=void 0;const r=e("@metamask/keyring-api"),s=e("@metamask/utils"),i=e("@solana/addresses"),a=e("./constants.cjs");n.getChainIdForNonEvmAddress=function(e){return(0,i.isAddress)(e)?r.SolScope.Mainnet:r.BtcScope.Mainnet},n.checkIfSupportedCaipChainId=function(e){return Object.keys(a.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS).includes(e)};n.toEvmCaipChainId=e=>(0,s.toCaipChainId)(s.KnownCaipNamespace.Eip155,(0,s.hexToNumber)(e).toString());n.toMultichainNetworkConfiguration=e=>({chainId:(0,n.toEvmCaipChainId)(e.chainId),isEvm:!0,name:e.name,nativeCurrency:e.nativeCurrency,blockExplorerUrls:e.blockExplorerUrls,defaultBlockExplorerUrlIndex:e.defaultBlockExplorerUrlIndex||0});n.toMultichainNetworkConfigurationsByChainId=e=>Object.entries(e).reduce(((e,[,t])=>({...e,[(0,n.toEvmCaipChainId)(t.chainId)]:(0,n.toMultichainNetworkConfiguration)(t)})),{})}}},{package:"@metamask/bridge-controller>@metamask/multichain-network-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/multichain-network-controller/dist/utils.cjs"}],[1403,{"fast-json-stable-stringify":4434,uuid:5663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.AbstractPollingControllerBaseMixin=n.getKey=void 0;const i=s(e("fast-json-stable-stringify")),a=e("uuid");n.getKey=e=>(0,i.default)(e),n.AbstractPollingControllerBaseMixin=function(e){var t,s;return t=new WeakMap,s=new WeakMap,class extends e{constructor(){super(...arguments),t.set(this,new Map),s.set(this,new Map)}startPolling(e){const s=(0,a.v4)(),i=(0,n.getKey)(e),o=r(this,t,"f").get(i)??new Set;return o.add(s),r(this,t,"f").set(i,o),1===o.size&&this._startPolling(e),s}stopAllPolling(){r(this,t,"f").forEach(((e,t)=>{e.forEach((e=>{this.stopPollingByPollingToken(e)}))}))}stopPollingByPollingToken(e){if(!e)throw new Error("pollingToken required");let n=null;for(const[s,i]of r(this,t,"f"))if(i.delete(e)){0===i.size&&(n=s);break}if(n){this._stopPollingByPollingTokenSetId(n),r(this,t,"f").delete(n);const e=r(this,s,"f").get(n);if(e){for(const t of e)t(JSON.parse(n));e.clear()}}}onPollingComplete(e,t){const i=(0,n.getKey)(e),a=r(this,s,"f").get(i)??new Set;a.add(t),r(this,s,"f").set(i,a)}}}}}},{package:"@metamask/bridge-controller>@metamask/polling-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/polling-controller/dist/AbstractPollingController.cjs"}],[1404,{"./AbstractPollingController.cjs":1403,"@metamask/base-controller":1383},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.BlockTrackerPollingController=n.BlockTrackerPollingControllerOnly=void 0;const s=e("@metamask/base-controller"),i=e("./AbstractPollingController.cjs");function a(e){var t;class n extends((0,i.AbstractPollingControllerBaseMixin)(e)){constructor(){super(...arguments),t.set(this,{})}_startPolling(e){const n=(0,i.getKey)(e);if(r(this,t,"f")[n])return;const s=this._getNetworkClientById(e.networkClientId);if(!s)throw new Error(`Unable to retrieve blockTracker for networkClientId ${e.networkClientId}`);{const i=this._executePoll.bind(this,e);s.blockTracker.addListener("latest",i),r(this,t,"f")[n]=i}}_stopPollingByPollingTokenSetId(e){const{networkClientId:n}=JSON.parse(e),s=this._getNetworkClientById(n);if(s&&r(this,t,"f")[e]){const n=r(this,t,"f")[e];n&&(s.blockTracker.removeListener("latest",n),delete r(this,t,"f")[e])}}}return t=new WeakMap,n}class o{}n.BlockTrackerPollingControllerOnly=()=>a(o);n.BlockTrackerPollingController=()=>a(s.BaseController)}}},{package:"@metamask/bridge-controller>@metamask/polling-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/polling-controller/dist/BlockTrackerPollingController.cjs"}],[1405,{"./AbstractPollingController.cjs":1403,"@metamask/base-controller":1383},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},s=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.StaticIntervalPollingController=n.StaticIntervalPollingControllerOnly=void 0;const i=e("@metamask/base-controller"),a=e("./AbstractPollingController.cjs");function o(e){var t,n;class i extends((0,a.AbstractPollingControllerBaseMixin)(e)){constructor(){super(...arguments),t.set(this,{}),n.set(this,1e3)}setIntervalLength(e){r(this,n,e,"f")}getIntervalLength(){return s(this,n,"f")}_startPolling(e){if(!s(this,n,"f"))throw new Error("intervalLength must be defined and greater than 0");const r=(0,a.getKey)(e),i=s(this,t,"f")[r];this._stopPollingByPollingTokenSetId(r);const o=s(this,t,"f")[r]=setTimeout((async()=>{try{await this._executePoll(e)}catch(e){console.error(e)}o===s(this,t,"f")[r]&&this._startPolling(e)}),i?s(this,n,"f"):0)}_stopPollingByPollingTokenSetId(e){const n=s(this,t,"f")[e];n&&(clearTimeout(n),delete s(this,t,"f")[e])}}return t=new WeakMap,n=new WeakMap,i}class A{}n.StaticIntervalPollingControllerOnly=()=>o(A);n.StaticIntervalPollingController=()=>o(i.BaseController)}}},{package:"@metamask/bridge-controller>@metamask/polling-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/polling-controller/dist/StaticIntervalPollingController.cjs"}],[1406,{"./BlockTrackerPollingController.cjs":1404,"./StaticIntervalPollingController.cjs":1405},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.StaticIntervalPollingController=n.StaticIntervalPollingControllerOnly=n.BlockTrackerPollingController=n.BlockTrackerPollingControllerOnly=void 0;var r=e("./BlockTrackerPollingController.cjs");Object.defineProperty(n,"BlockTrackerPollingControllerOnly",{enumerable:!0,get:function(){return r.BlockTrackerPollingControllerOnly}}),Object.defineProperty(n,"BlockTrackerPollingController",{enumerable:!0,get:function(){return r.BlockTrackerPollingController}});var s=e("./StaticIntervalPollingController.cjs");Object.defineProperty(n,"StaticIntervalPollingControllerOnly",{enumerable:!0,get:function(){return s.StaticIntervalPollingControllerOnly}}),Object.defineProperty(n,"StaticIntervalPollingController",{enumerable:!0,get:function(){return s.StaticIntervalPollingController}})}}},{package:"@metamask/bridge-controller>@metamask/polling-controller",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/polling-controller/dist/index.cjs"}],[1407,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isEqual=void 0,n.isEqual=function(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/array.cjs"}],[1408,{"./base64.cjs":1409,"./constants.cjs":1413,"@metamask/snaps-sdk":2746,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateAuxiliaryFiles=n.encodeAuxiliaryFile=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/utils"),i=e("./base64.cjs"),a=e("./constants.cjs");n.encodeAuxiliaryFile=async function(e,t){if(t===r.AuxiliaryFileEncoding.Base64)return e;const n=await(0,i.decodeBase64)(e);return t===r.AuxiliaryFileEncoding.Utf8?(0,s.bytesToString)(n):(0,s.bytesToHex)(n)},n.validateAuxiliaryFiles=function(e){for(const t of e)(0,s.assert)(t.size<a.MAX_FILE_SIZE,"Static files required by the Snap must be smaller than 64 MB.")}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/auxiliary-files.cjs"}],[1409,{"./bytes.cjs":1410,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.decodeBase64=n.encodeBase64=void 0;const r=e("@metamask/utils"),s=e("./bytes.cjs");n.encodeBase64=async function(e){const t=(0,s.getBytes)(e);return"FileReader"in globalThis?await new Promise(((e,n)=>{const r=Object.assign(new FileReader,{onload:()=>e(r.result.replace("data:application/octet-stream;base64,","")),onerror:()=>n(r.error)});r.readAsDataURL(new File([t],"",{type:"application/octet-stream"}))})):(0,r.bytesToBase64)(t)},n.decodeBase64=async function(e){const t=await fetch(`data:application/octet-stream;base64,${e}`);return new Uint8Array(await t.arrayBuffer())}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/base64.cjs"}],[1410,{"./virtual-file/VirtualFile.cjs":1445,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getBytes=void 0;const r=e("@metamask/utils"),s=e("./virtual-file/VirtualFile.cjs");n.getBytes=function(e){const t=e instanceof s.VirtualFile?e.value:e;return"string"==typeof t?(0,r.stringToBytes)(t):t}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/bytes.cjs"}],[1411,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r;Object.defineProperty(n,"__esModule",{value:!0}),n.SnapCaveatType=void 0,function(e){e.PermittedDerivationPaths="permittedDerivationPaths",e.PermittedCoinTypes="permittedCoinTypes",e.SnapCronjob="snapCronjob",e.TransactionOrigin="transactionOrigin",e.SignatureOrigin="signatureOrigin",e.RpcOrigin="rpcOrigin",e.KeyringOrigin="keyringOrigin",e.SnapIds="snapIds",e.ChainIds="chainIds",e.LookupMatchers="lookupMatchers",e.MaxRequestTime="maxRequestTime",e.ProtocolSnapScopes="protocolSnapScopes"}(r||(n.SnapCaveatType=r={}))}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/caveats.cjs"}],[1412,{"./bytes.cjs":1410,"@metamask/utils":2950,"@noble/hashes/sha256":3e3},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.checksumFiles=n.checksum=void 0;const r=e("@metamask/utils"),s=e("@noble/hashes/sha256"),i=e("./bytes.cjs");async function a(e){const t=(0,i.getBytes)(e);return"crypto"in globalThis&&"object"==typeof globalThis.crypto&&crypto.subtle?.digest?new Uint8Array(await crypto.subtle.digest("SHA-256",t)):(0,s.sha256)(t)}n.checksum=a,n.checksumFiles=async function(e){const t=await Promise.all([...e].sort(((e,t)=>((0,r.assert)(e.path!==t.path,"Tried to sort files with non-unique paths."),e.path<t.path?-1:1))).map((async e=>a(e))));return a((0,r.concatBytes)(t))}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/checksum.cjs"}],[1413,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.MAX_FILE_SIZE=void 0,n.MAX_FILE_SIZE=64e6}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/constants.cjs"}],[1414,{"@metamask/superstruct":2872,"@metamask/utils":2950,"cron-parser":4179},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isCronjobSpecificationArray=n.CronjobSpecificationArrayStruct=n.isCronjobSpecification=n.CronjobSpecificationStruct=n.parseCronExpression=n.CronExpressionStruct=n.CronjobRpcRequestStruct=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils"),i=e("cron-parser");n.CronjobRpcRequestStruct=(0,r.object)({jsonrpc:(0,r.optional)(s.JsonRpcVersionStruct),id:(0,r.optional)(s.JsonRpcIdStruct),method:(0,r.string)(),params:(0,r.optional)(s.JsonRpcParamsStruct)}),n.CronExpressionStruct=(0,r.refine)((0,r.string)(),"CronExpression",(e=>{try{return(0,i.parseExpression)(e),!0}catch{return!1}})),n.parseCronExpression=function(e){const t=(0,r.create)(e,n.CronExpressionStruct);return(0,i.parseExpression)(t)},n.CronjobSpecificationStruct=(0,r.object)({expression:n.CronExpressionStruct,request:n.CronjobRpcRequestStruct}),n.isCronjobSpecification=function(e){try{return(0,r.create)(e,n.CronjobSpecificationStruct),!0}catch{return!1}},n.CronjobSpecificationArrayStruct=(0,r.array)(n.CronjobSpecificationStruct),n.isCronjobSpecificationArray=function(e){try{return(0,r.create)(e,n.CronjobSpecificationArrayStruct),!0}catch{return!1}}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/cronjob.cjs"}],[1415,{"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.currency=void 0;const r=e("@metamask/superstruct");n.currency=function(e){const t=e.toLowerCase();return(0,r.coerce)((0,r.literal)(t),(0,r.literal)(e.toUpperCase()),(e=>(0,r.create)(e.toLowerCase(),(0,r.literal)(t))))}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/currency.cjs"}],[1416,{rfdc:5288},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.deepClone=void 0;const s=r(e("rfdc"));n.deepClone=(0,s.default)({proto:!1,circles:!1})}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/deep-clone.cjs"}],[1417,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.DEFAULT_ENDOWMENTS=void 0,n.DEFAULT_ENDOWMENTS=Object.freeze(["atob","btoa","BigInt","console","crypto","Date","Math","setTimeout","clearTimeout","SubtleCrypto","TextDecoder","TextEncoder","URL","URLSearchParams","setInterval","clearInterval","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","isSecureContext","Intl","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","DataView","ArrayBuffer","AbortController","AbortSignal"])}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/default-endowments.cjs"}],[1418,{"./array.cjs":1407,"@metamask/slip44":2624},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.getSlip44ProtocolName=n.getSnapDerivationPathName=n.SNAPS_DERIVATION_PATHS=void 0;const s=r(e("@metamask/slip44")),i=e("./array.cjs");function a(e){return"1"===String(e)?"Test Networks":s.default[e]?.name??null}n.SNAPS_DERIVATION_PATHS=[{path:["m","44'","0'"],curve:"ed25519",name:"Test BIP-32 Path (ed25519)"},{path:["m","44'","1'"],curve:"secp256k1",name:"Testnet"},{path:["m","44'","0'"],curve:"secp256k1",name:"Bitcoin Legacy"},{path:["m","49'","0'"],curve:"secp256k1",name:"Bitcoin Nested SegWit"},{path:["m","49'","1'"],curve:"secp256k1",name:"Bitcoin Testnet Nested SegWit"},{path:["m","84'","0'"],curve:"secp256k1",name:"Bitcoin Native SegWit"},{path:["m","84'","1'"],curve:"secp256k1",name:"Bitcoin Testnet Native SegWit"},{path:["m","86'","0'"],curve:"secp256k1",name:"Bitcoin Taproot"},{path:["m","86'","1'"],curve:"secp256k1",name:"Bitcoin Testnet Taproot"},{path:["m","44'","501'"],curve:"ed25519",name:"Solana"},{path:["m","44'","501'","0'","0'"],curve:"ed25519",name:"Solana"},{path:["m","44'","2'"],curve:"secp256k1",name:"Litecoin"},{path:["m","44'","3'"],curve:"secp256k1",name:"Dogecoin"},{path:["m","44'","60'"],curve:"secp256k1",name:"Ethereum"},{path:["m","44'","118'"],curve:"secp256k1",name:"Atom"},{path:["m","44'","145'"],curve:"secp256k1",name:"Bitcoin Cash"},{path:["m","44'","637'"],curve:"ed25519",name:"Aptos"},{path:["m","44'","714'"],curve:"secp256k1",name:"Binance (BNB)"},{path:["m","44'","784'"],curve:"ed25519",name:"Sui"},{path:["m","44'","931'"],curve:"secp256k1",name:"THORChain (RUNE)"},{path:["m","44'","330'"],curve:"secp256k1",name:"Terra (LUNA)"},{path:["m","44'","459'"],curve:"secp256k1",name:"Kava"},{path:["m","44'","529'"],curve:"secp256k1",name:"Secret Network"},{path:["m","44'","397'","0'"],curve:"ed25519",name:"NEAR Protocol"},{path:["m","44'","1'","0'"],curve:"ed25519",name:"Testnet"},{path:["m","44'","472'"],curve:"ed25519",name:"Arweave"},{path:["m","44'","12586'"],curve:"secp256k1",name:"Mina"},{path:["m","44'","242'"],curve:"ed25519",name:"Nimiq"},{path:["m","44'","1729'","0'","0'"],curve:"ed25519",name:"Tezos"},{path:["m","1789'","0'"],curve:"ed25519",name:"Vega"},{path:["m","1852'","1815'"],curve:"ed25519Bip32",name:"Cardano"},{path:["m","44'","508'","0'","0'","0'"],curve:"ed25519",name:"MultiversX"},{path:["m","44'","709'"],curve:"secp256k1",name:"Avail"},{path:["m","44'","626'"],curve:"ed25519",name:"Kadena"},{path:["m","44'","632'"],curve:"ed25519",name:"Massa"}],n.getSnapDerivationPathName=function(e,t){const r=n.SNAPS_DERIVATION_PATHS.find((n=>n.curve===t&&(0,i.isEqual)(n.path,e)));if(r)return r.name;if("secp256k1"===t&&"m"===e[0]&&"44'"===e[1]&&e[2].endsWith("'")){return a(e[2].slice(0,-1))??null}return null},n.getSlip44ProtocolName=a}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/derivation-paths.cjs"}],[1419,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.STATE_ENCRYPTION_MAGIC_VALUE=n.SIP_6_MAGIC_VALUE=void 0,n.SIP_6_MAGIC_VALUE="1399742832'",n.STATE_ENCRYPTION_MAGIC_VALUE="572232532'"}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/entropy.cjs"}],[1420,{"@metamask/rpc-errors":2554,"@metamask/snaps-sdk":2746,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r,s,i,a=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n},o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};Object.defineProperty(n,"__esModule",{value:!0}),n.unwrapError=n.isWrappedSnapError=n.isSerializedSnapError=n.isSnapError=n.WrappedSnapError=n.SNAP_ERROR_WRAPPER_MESSAGE=n.SNAP_ERROR_WRAPPER_CODE=void 0;const A=e("@metamask/rpc-errors"),c=e("@metamask/snaps-sdk"),u=e("@metamask/utils");n.SNAP_ERROR_WRAPPER_CODE=-31001,n.SNAP_ERROR_WRAPPER_MESSAGE="Wrapped Snap Error";class l extends Error{constructor(e){const t=(0,c.getErrorMessage)(e);super(t),r.set(this,void 0),s.set(this,void 0),i.set(this,void 0),a(this,r,e,"f"),a(this,s,t,"f"),a(this,i,(0,c.getErrorStack)(e),"f")}get name(){return"WrappedSnapError"}get message(){return o(this,s,"f")}get stack(){return o(this,i,"f")}toJSON(){const e=g(o(this,r,"f"))?o(this,r,"f").serialize():(0,A.serializeCause)(o(this,r,"f"));return{code:n.SNAP_ERROR_WRAPPER_CODE,message:n.SNAP_ERROR_WRAPPER_MESSAGE,data:{cause:e}}}serialize(){return this.toJSON()}}function g(e){if((0,u.isObject)(e)&&"serialize"in e&&"function"==typeof e.serialize){const t=e.serialize();return(0,u.isJsonRpcError)(t)&&d(t)}return!1}function d(e){return e.code===c.SNAP_ERROR_CODE&&e.message===c.SNAP_ERROR_MESSAGE}function f(e){return(0,u.isJsonRpcError)(e)&&e.code===n.SNAP_ERROR_WRAPPER_CODE&&e.message===n.SNAP_ERROR_WRAPPER_MESSAGE}function h(e,t,n,r){const s=new A.JsonRpcError(e,t,r);return s.stack=n,s}n.WrappedSnapError=l,r=new WeakMap,s=new WeakMap,i=new WeakMap,n.isSnapError=g,n.isSerializedSnapError=d,n.isWrappedSnapError=f,n.unwrapError=function(e){if(f(e)){if((0,u.isJsonRpcError)(e.data.cause)){if(d(e.data.cause)){const{code:t,message:n,stack:r,data:s}=e.data.cause.data.cause;return[h(t,n,r,s),!0]}const{code:t,message:n,stack:r,data:s}=e.data.cause;return[h(t,n,r,s),!1]}return[h(A.errorCodes.rpc.internal,(0,c.getErrorMessage)(e.data.cause),(0,c.getErrorStack)(e.data.cause)),!1]}if((0,u.isJsonRpcError)(e)){const{code:t,message:n,stack:r,data:s}=e;return[h(t,n,r,s),!1]}return[h(A.errorCodes.rpc.internal,(0,c.getErrorMessage)(e),(0,c.getErrorStack)(e)),!1]}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/errors.cjs"}],[1421,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r;Object.defineProperty(n,"__esModule",{value:!0}),n.SNAP_EXPORT_NAMES=n.HandlerType=void 0,function(e){e.OnRpcRequest="onRpcRequest",e.OnSignature="onSignature",e.OnTransaction="onTransaction",e.OnCronjob="onCronjob",e.OnInstall="onInstall",e.OnUpdate="onUpdate",e.OnNameLookup="onNameLookup",e.OnKeyringRequest="onKeyringRequest",e.OnHomePage="onHomePage",e.OnSettingsPage="onSettingsPage",e.OnUserInput="onUserInput",e.OnAssetsLookup="onAssetsLookup",e.OnAssetsConversion="onAssetsConversion",e.OnProtocolRequest="onProtocolRequest"}(r||(n.HandlerType=r={})),n.SNAP_EXPORT_NAMES=Object.values(r)}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/handler-types.cjs"}],[1422,{"./handler-types.cjs":1421,"@metamask/snaps-sdk":2746,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.OnNameLookupResponseStruct=n.DomainResolutionResponseStruct=n.AddressResolutionResponseStruct=n.DomainResolutionStruct=n.AddressResolutionStruct=n.OnSettingsPageResponseStruct=n.OnHomePageResponseStruct=n.OnHomePageResponseWithIdStruct=n.OnHomePageResponseWithContentStruct=n.OnSignatureResponseStruct=n.OnTransactionResponseStruct=n.OnTransactionResponseWithContentStruct=n.OnTransactionResponseWithIdStruct=n.OnTransactionSeverityResponseStruct=n.SNAP_EXPORTS=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/superstruct"),i=e("./handler-types.cjs");n.SNAP_EXPORTS={[i.HandlerType.OnRpcRequest]:{type:i.HandlerType.OnRpcRequest,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnTransaction]:{type:i.HandlerType.OnTransaction,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnCronjob]:{type:i.HandlerType.OnCronjob,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnNameLookup]:{type:i.HandlerType.OnNameLookup,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnInstall]:{type:i.HandlerType.OnInstall,required:!1,validator:e=>"function"==typeof e},[i.HandlerType.OnUpdate]:{type:i.HandlerType.OnUpdate,required:!1,validator:e=>"function"==typeof e},[i.HandlerType.OnKeyringRequest]:{type:i.HandlerType.OnKeyringRequest,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnHomePage]:{type:i.HandlerType.OnHomePage,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnSettingsPage]:{type:i.HandlerType.OnSettingsPage,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnSignature]:{type:i.HandlerType.OnSignature,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnUserInput]:{type:i.HandlerType.OnUserInput,required:!1,validator:e=>"function"==typeof e},[i.HandlerType.OnAssetsLookup]:{type:i.HandlerType.OnAssetsLookup,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnAssetsConversion]:{type:i.HandlerType.OnAssetsConversion,required:!0,validator:e=>"function"==typeof e},[i.HandlerType.OnProtocolRequest]:{type:i.HandlerType.OnProtocolRequest,required:!0,validator:e=>"function"==typeof e}},n.OnTransactionSeverityResponseStruct=(0,s.object)({severity:(0,s.optional)((0,s.literal)(r.SeverityLevel.Critical))}),n.OnTransactionResponseWithIdStruct=(0,s.assign)(n.OnTransactionSeverityResponseStruct,(0,s.object)({id:(0,s.string)()})),n.OnTransactionResponseWithContentStruct=(0,s.assign)(n.OnTransactionSeverityResponseStruct,(0,s.object)({content:r.ComponentOrElementStruct})),n.OnTransactionResponseStruct=(0,s.nullable)((0,s.union)([n.OnTransactionResponseWithContentStruct,n.OnTransactionResponseWithIdStruct])),n.OnSignatureResponseStruct=n.OnTransactionResponseStruct,n.OnHomePageResponseWithContentStruct=(0,s.object)({content:r.ComponentOrElementStruct}),n.OnHomePageResponseWithIdStruct=(0,s.object)({id:(0,s.string)()}),n.OnHomePageResponseStruct=(0,s.union)([n.OnHomePageResponseWithContentStruct,n.OnHomePageResponseWithIdStruct]),n.OnSettingsPageResponseStruct=n.OnHomePageResponseStruct,n.AddressResolutionStruct=(0,s.object)({protocol:(0,s.string)(),resolvedDomain:(0,s.string)()}),n.DomainResolutionStruct=(0,s.object)({protocol:(0,s.string)(),resolvedAddress:(0,s.string)(),domainName:(0,s.string)()}),n.AddressResolutionResponseStruct=(0,s.object)({resolvedDomains:(0,s.size)((0,s.array)(n.AddressResolutionStruct),1,Infinity)}),n.DomainResolutionResponseStruct=(0,s.object)({resolvedAddresses:(0,s.size)((0,s.array)(n.DomainResolutionStruct),1,Infinity)}),n.OnNameLookupResponseStruct=(0,s.nullable)((0,s.union)([n.AddressResolutionResponseStruct,n.DomainResolutionResponseStruct]))}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/handlers.cjs"}],[1423,{"./svg.cjs":1439,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getSvgDimensions=n.assertIsSnapIcon=n.SVG_MAX_BYTE_SIZE_TEXT=n.SVG_MAX_BYTE_SIZE=void 0;const r=e("@metamask/utils"),s=e("./svg.cjs");n.SVG_MAX_BYTE_SIZE=1e5,n.SVG_MAX_BYTE_SIZE_TEXT=`${Math.floor(n.SVG_MAX_BYTE_SIZE/1e3)}kb`,n.assertIsSnapIcon=function(e){(0,r.assert)(e.path.endsWith(".svg"),'Expected snap icon to end in ".svg".');const t="string"==typeof e.value?(0,r.stringToBytes)(e.value).byteLength:e.value.byteLength;(0,r.assert)(t<=n.SVG_MAX_BYTE_SIZE,`The specified SVG icon exceeds the maximum size of ${n.SVG_MAX_BYTE_SIZE_TEXT}.`),(0,r.assert)((0,s.isSvg)(e.toString()),"Snap icon must be a valid SVG.")},n.getSvgDimensions=function(e){try{const t=(0,s.parseSvg)(e),n=t["@_height"],i=t["@_width"];if(n&&i)return{height:n,width:i};const a=t["@_viewBox"];if(a){const[e,t,n,s]=a.split(" ");if(n&&s){const e=parseInt(n,10),t=parseInt(s,10);return(0,r.assert)(Number.isInteger(e)&&e>0),(0,r.assert)(Number.isInteger(t)&&t>0),{width:e,height:t}}}}catch{throw new Error("Snap icon must be a valid SVG.")}return null}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/icon.cjs"}],[1424,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.createWindow=void 0,n.createWindow=async function({uri:e,id:t,sandbox:n=!0,testId:r="snaps-iframe"}){return await new Promise(((s,i)=>{const a=document.createElement("iframe");a.setAttribute("id",t),a.setAttribute("data-testid",r),n&&a.setAttribute("sandbox","allow-scripts"),a.setAttribute("src",e),document.body.appendChild(a),a.addEventListener("load",(()=>{a.contentWindow?s(a.contentWindow):i(new Error(`iframe.contentWindow not present on load for job "${t}".`))}))}))}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/iframe.cjs"}],[1425,{"./array.cjs":1407,"./auxiliary-files.cjs":1408,"./base64.cjs":1409,"./bytes.cjs":1410,"./caveats.cjs":1411,"./checksum.cjs":1412,"./constants.cjs":1413,"./cronjob.cjs":1414,"./currency.cjs":1415,"./deep-clone.cjs":1416,"./default-endowments.cjs":1417,"./derivation-paths.cjs":1418,"./entropy.cjs":1419,"./errors.cjs":1420,"./handler-types.cjs":1421,"./handlers.cjs":1422,"./iframe.cjs":1424,"./json-rpc.cjs":1426,"./json.cjs":1427,"./localization.cjs":1428,"./logging.cjs":1429,"./manifest/index.cjs":1430,"./namespace.cjs":1432,"./path.cjs":1433,"./platform-version.cjs":1434,"./promise.cjs":1435,"./snaps.cjs":1436,"./strings.cjs":1437,"./structs.cjs":1438,"./types.cjs":1440,"./ui.cjs":1441,"./url.cjs":1442,"./validation.cjs":1443,"./versions.cjs":1444,"./virtual-file/index.cjs":1446},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./array.cjs"),n),s(e("./auxiliary-files.cjs"),n),s(e("./base64.cjs"),n),s(e("./bytes.cjs"),n),s(e("./caveats.cjs"),n),s(e("./checksum.cjs"),n),s(e("./constants.cjs"),n),s(e("./cronjob.cjs"),n),s(e("./currency.cjs"),n),s(e("./deep-clone.cjs"),n),s(e("./default-endowments.cjs"),n),s(e("./derivation-paths.cjs"),n),s(e("./entropy.cjs"),n),s(e("./errors.cjs"),n),s(e("./handlers.cjs"),n),s(e("./handler-types.cjs"),n),s(e("./iframe.cjs"),n),s(e("./json.cjs"),n),s(e("./json-rpc.cjs"),n),s(e("./localization.cjs"),n),s(e("./logging.cjs"),n),s(e("./manifest/index.cjs"),n),s(e("./namespace.cjs"),n),s(e("./path.cjs"),n),s(e("./platform-version.cjs"),n),s(e("./snaps.cjs"),n),s(e("./strings.cjs"),n),s(e("./structs.cjs"),n),s(e("./types.cjs"),n),s(e("./ui.cjs"),n),s(e("./url.cjs"),n),s(e("./validation.cjs"),n),s(e("./versions.cjs"),n),s(e("./virtual-file/index.cjs"),n),s(e("./promise.cjs"),n)}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/index.cjs"}],[1426,{"@metamask/permission-controller":2393,"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.assertIsJsonRpcSuccess=n.isOriginAllowed=n.assertIsKeyringOrigins=n.KeyringOriginsStruct=n.assertIsRpcOrigins=n.RpcOriginsStruct=void 0;const r=e("@metamask/permission-controller"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=(0,s.array)((0,s.refine)((0,s.string)(),"Allowed origin",(e=>!(e.split("*").length-1>2)||'No more than two wildcards ("*") are allowed in an origin specifier.')));function o(e,t){if("*"===e||e===t)return!0;const n=function(e){const t=e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&").replace(/\\\*/gu,".*");return RegExp(`^${t}$`,"u")}(e);return n.test(t)}n.RpcOriginsStruct=(0,s.refine)((0,s.object)({dapps:(0,s.optional)((0,s.boolean)()),snaps:(0,s.optional)((0,s.boolean)()),allowedOrigins:(0,s.optional)(a)}),"RPC origins",(e=>!!Boolean(!0===e.snaps||!0===e.dapps||e.allowedOrigins&&e.allowedOrigins.length>0)||"Must specify at least one JSON-RPC origin.")),n.assertIsRpcOrigins=function(e,t){(0,i.assertStruct)(e,n.RpcOriginsStruct,"Invalid JSON-RPC origins",t)},n.KeyringOriginsStruct=(0,s.object)({allowedOrigins:(0,s.optional)(a)}),n.assertIsKeyringOrigins=function(e,t){(0,i.assertStruct)(e,n.KeyringOriginsStruct,"Invalid keyring origins",t)},n.isOriginAllowed=function(e,t,n){return"metamask"===n||(!!e.allowedOrigins?.some((e=>o(e,n)))||(!(t!==r.SubjectType.Website||!e.dapps)||Boolean(t===r.SubjectType.Snap&&e.snaps)))},n.assertIsJsonRpcSuccess=function(e){if(!(0,i.isJsonRpcSuccess)(e)){if((0,i.isJsonRpcFailure)(e))throw new Error(`JSON-RPC request failed: ${e.error.message}`);throw new Error("Invalid JSON-RPC response.")}}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/json-rpc.cjs"}],[1427,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getJsonSizeUnsafe=n.parseJson=void 0;const r=e("@metamask/utils");n.parseJson=function(e){return(0,r.getSafeJson)(JSON.parse(e))},n.getJsonSizeUnsafe=function(e){const t=JSON.stringify(e);return(new TextEncoder).encode(t).byteLength}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/json.cjs"}],[1428,{"./json.cjs":1427,"@metamask/snaps-sdk":2746,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSnapManifestLocalizations=n.getLocalizedSnapManifest=n.translate=n.TRANSLATION_REGEX=n.getLocalizationFile=n.getValidatedLocalizationFiles=n.LocalizationFileStruct=n.LOCALIZABLE_FIELDS=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/superstruct"),i=e("./json.cjs");function a(e,t){const n=t.find((t=>t.locale===e));return n||t.find((e=>"en"===e.locale))}function o(e,t){const r=e.matchAll(n.TRANSLATION_REGEX);return Array.from(r).reduce(((n,[r,s])=>{if(!t)throw new Error(`Failed to translate "${e}": No localization file found.`);const i=t.messages[s.trim()];if(!i)throw new Error(`Failed to translate "${e}": No translation found for "${s.trim()}" in "${t.locale}" file.`);return n.replace(r,i.message)}),e)}function A(e,t,r){const s=a(t,r);return n.LOCALIZABLE_FIELDS.reduce(((e,t)=>{const n=o(e[t],s);return{...e,[t]:n}}),e)}n.LOCALIZABLE_FIELDS=["description","proposedName"],n.LocalizationFileStruct=(0,s.object)({locale:(0,s.string)(),messages:(0,s.record)((0,s.string)(),(0,s.object)({message:(0,s.string)(),description:(0,s.optional)((0,s.string)())}))}),n.getValidatedLocalizationFiles=function(e){for(const t of e)try{t.result=(0,s.create)((0,i.parseJson)(t.toString()),n.LocalizationFileStruct)}catch(e){if(e instanceof s.StructError)throw new Error(`Failed to validate localization file "${t.path}": ${e.message}.`);if(e instanceof SyntaxError)throw new Error(`Failed to parse localization file "${t.path}" as JSON.`);throw e}return e},n.getLocalizationFile=a,n.TRANSLATION_REGEX=/\{\{\s?([a-zA-Z0-9-_\s]+)\s?\}\}/gu,n.translate=o,n.getLocalizedSnapManifest=A,n.validateSnapManifestLocalizations=function(e,t){try{t.filter((e=>"en"!==e.locale)).forEach((n=>{A(e,n.locale,t)})),A(e,"en",t)}catch(e){throw new Error(`Failed to localize Snap manifest: ${(0,r.getErrorMessage)(e)}`)}}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/localization.cjs"}],[1429,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.logWarning=n.logError=n.logInfo=n.snapsLogger=void 0;const r=e("@metamask/utils");n.snapsLogger=(0,r.createProjectLogger)("snaps"),n.logInfo=function(e,...t){console.log(e,...t)},n.logError=function(e,...t){console.error(e,...t)},n.logWarning=function(e,...t){console.warn(e,...t)}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/logging.cjs"}],[1430,{"./validation.cjs":1431},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){r===undefined&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){r===undefined&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),s(e("./validation.cjs"),n)}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/manifest/index.cjs"}],[1431,{"../array.cjs":1407,"../cronjob.cjs":1414,"../entropy.cjs":1419,"../json-rpc.cjs":1426,"../namespace.cjs":1432,"../snaps.cjs":1436,"../structs.cjs":1438,"../types.cjs":1440,"@metamask/key-tree":1957,"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.createSnapManifest=n.assertIsSnapManifest=n.isSnapManifest=n.SnapManifestStruct=n.InitialConnectionsStruct=n.SnapAuxilaryFilesStruct=n.PermissionsStruct=n.EmptyObjectStruct=n.HandlerCaveatsStruct=n.ProtocolScopesStruct=n.MaxRequestTimeStruct=n.MAXIMUM_REQUEST_TIMEOUT=n.MINIMUM_REQUEST_TIMEOUT=n.LookupMatchersStruct=n.ChainIdsStruct=n.SnapIdsStruct=n.SemVerRangeStruct=n.SnapGetBip32EntropyPermissionsStruct=n.Bip32EntropyStruct=n.CurveStruct=n.bip32entropy=n.Bip32PathStruct=n.FORBIDDEN_COIN_TYPES=void 0;const r=e("@metamask/key-tree"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("../array.cjs"),o=e("../cronjob.cjs"),A=e("../entropy.cjs"),c=e("../json-rpc.cjs"),u=e("../namespace.cjs"),l=e("../snaps.cjs"),g=e("../structs.cjs"),d=e("../types.cjs"),f=[A.SIP_6_MAGIC_VALUE,A.STATE_ENCRYPTION_MAGIC_VALUE];n.FORBIDDEN_COIN_TYPES=[60];const h=n.FORBIDDEN_COIN_TYPES.map((e=>["m","44'",`${e}'`]));n.Bip32PathStruct=(0,s.refine)((0,s.array)((0,s.string)()),"BIP-32 path",(e=>0===e.length?"Path must be a non-empty BIP-32 derivation path array":"m"!==e[0]?'Path must start with "m".':e.length<3?"Paths must have a length of at least three.":e.slice(1).some((e=>!(0,r.isValidBIP32PathSegment)(e)))?"Path must be a valid BIP-32 derivation path array.":f.includes(e[1])?`The purpose "${e[1]}" is not allowed for entropy derivation.`:!h.some((t=>(0,a.isEqual)(e.slice(0,t.length),t)))||`The path "${e.join("/")}" is not allowed for entropy derivation.`));n.bip32entropy=e=>(0,s.refine)(e,"BIP-32 entropy",(e=>"ed25519"!==e.curve||!e.path.slice(1).some((e=>!e.endsWith("'")))||"Ed25519 does not support unhardened paths.")),n.CurveStruct=(0,s.enums)(["ed25519","secp256k1","ed25519Bip32"]),n.Bip32EntropyStruct=(0,n.bip32entropy)((0,s.type)({path:n.Bip32PathStruct,curve:n.CurveStruct})),n.SnapGetBip32EntropyPermissionsStruct=(0,s.size)((0,s.array)(n.Bip32EntropyStruct),1,Infinity),n.SemVerRangeStruct=(0,s.refine)((0,s.string)(),"SemVer range",(e=>!!(0,i.isValidSemVerRange)(e)||"Expected a valid SemVer range.")),n.SnapIdsStruct=(0,s.refine)((0,s.record)(l.SnapIdStruct,(0,s.object)({version:(0,s.optional)(n.SemVerRangeStruct)})),"SnapIds",(e=>0!==Object.keys(e).length)),n.ChainIdsStruct=(0,s.size)((0,s.array)(u.ChainIdStruct),1,Infinity),n.LookupMatchersStruct=(0,s.union)([(0,s.object)({tlds:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity)}),(0,s.object)({schemes:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity)}),(0,s.object)({tlds:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity),schemes:(0,s.size)((0,s.array)((0,s.string)()),1,Infinity)})]),n.MINIMUM_REQUEST_TIMEOUT=(0,i.inMilliseconds)(5,i.Duration.Second),n.MAXIMUM_REQUEST_TIMEOUT=(0,i.inMilliseconds)(3,i.Duration.Minute),n.MaxRequestTimeStruct=(0,s.size)((0,s.integer)(),n.MINIMUM_REQUEST_TIMEOUT,n.MAXIMUM_REQUEST_TIMEOUT),n.ProtocolScopesStruct=(0,s.record)(i.CaipChainIdStruct,(0,s.object)({methods:(0,s.array)((0,s.string)())})),n.HandlerCaveatsStruct=(0,s.object)({maxRequestTime:(0,s.optional)(n.MaxRequestTimeStruct)}),n.EmptyObjectStruct=(0,s.object)({}),n.PermissionsStruct=(0,s.type)({"endowment:assets":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({scopes:n.ChainIdsStruct}))),"endowment:cronjob":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({jobs:(0,s.optional)(o.CronjobSpecificationArrayStruct)}))),"endowment:ethereum-provider":(0,s.optional)(n.EmptyObjectStruct),"endowment:keyring":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,c.KeyringOriginsStruct)),"endowment:protocol":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({scopes:n.ProtocolScopesStruct}))),"endowment:lifecycle-hooks":(0,s.optional)(n.HandlerCaveatsStruct),"endowment:name-lookup":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({chains:(0,s.optional)(n.ChainIdsStruct),matchers:(0,s.optional)(n.LookupMatchersStruct)}))),"endowment:network-access":(0,s.optional)(n.EmptyObjectStruct),"endowment:page-home":(0,s.optional)(n.HandlerCaveatsStruct),"endowment:rpc":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,c.RpcOriginsStruct)),"endowment:signature-insight":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({allowSignatureOrigin:(0,s.optional)((0,s.boolean)())}))),"endowment:transaction-insight":(0,s.optional)((0,g.mergeStructs)(n.HandlerCaveatsStruct,(0,s.object)({allowTransactionOrigin:(0,s.optional)((0,s.boolean)())}))),"endowment:webassembly":(0,s.optional)(n.EmptyObjectStruct),snap_dialog:(0,s.optional)(n.EmptyObjectStruct),snap_manageState:(0,s.optional)(n.EmptyObjectStruct),snap_manageAccounts:(0,s.optional)(n.EmptyObjectStruct),snap_notify:(0,s.optional)(n.EmptyObjectStruct),snap_getBip32Entropy:(0,s.optional)(n.SnapGetBip32EntropyPermissionsStruct),snap_getBip32PublicKey:(0,s.optional)(n.SnapGetBip32EntropyPermissionsStruct),snap_getBip44Entropy:(0,s.optional)((0,s.size)((0,s.array)((0,s.object)({coinType:(0,s.size)((0,s.integer)(),0,2**32-1)})),1,Infinity)),snap_getEntropy:(0,s.optional)(n.EmptyObjectStruct),snap_getLocale:(0,s.optional)(n.EmptyObjectStruct),wallet_snap:(0,s.optional)(n.SnapIdsStruct)}),n.SnapAuxilaryFilesStruct=(0,s.array)((0,s.string)()),n.InitialConnectionsStruct=(0,s.record)((0,s.intersection)([(0,s.string)(),(0,d.uri)()]),(0,s.object)({})),n.SnapManifestStruct=(0,s.object)({version:i.VersionStruct,description:(0,s.size)((0,s.string)(),1,280),proposedName:(0,s.size)((0,s.string)(),1,214),repository:(0,s.optional)((0,s.type)({type:(0,s.size)((0,s.string)(),1,Infinity),url:(0,s.size)((0,s.string)(),1,Infinity)})),source:(0,s.object)({shasum:i.ChecksumStruct,location:(0,s.object)({npm:(0,s.object)({filePath:(0,s.size)((0,s.string)(),1,Infinity),iconPath:(0,s.optional)((0,s.size)((0,s.string)(),1,Infinity)),packageName:d.NameStruct,registry:(0,s.union)([(0,s.literal)("https://registry.npmjs.org"),(0,s.literal)("https://registry.npmjs.org/")])})}),files:(0,s.optional)(n.SnapAuxilaryFilesStruct),locales:(0,s.optional)(n.SnapAuxilaryFilesStruct)}),initialConnections:(0,s.optional)(n.InitialConnectionsStruct),initialPermissions:n.PermissionsStruct,manifestVersion:(0,s.literal)("0.1"),platformVersion:(0,s.optional)(i.VersionStruct),$schema:(0,s.optional)((0,s.string)())}),n.isSnapManifest=function(e){return(0,s.is)(e,n.SnapManifestStruct)},n.assertIsSnapManifest=function(e){(0,i.assertStruct)(e,n.SnapManifestStruct,`"${d.NpmSnapFileNames.Manifest}" is invalid`)},n.createSnapManifest=function(e){return(0,s.create)(e,n.SnapManifestStruct)}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/manifest/validation.cjs"}],[1432,{"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isNamespace=n.isAccountIdArray=n.isAccountId=n.isChainId=n.isNamespaceId=n.NamespaceIdStruct=n.NamespaceStruct=n.ChainStruct=n.AccountAddressStruct=n.AccountIdArrayStruct=n.AccountIdStruct=n.ChainIdStruct=n.ChainIdStringStruct=n.LimitedString=n.parseAccountId=n.parseChainId=n.ACCOUNT_ADDRESS_REGEX=n.ACCOUNT_ID_REGEX=n.CHAIN_ID_REGEX=void 0;const r=e("@metamask/superstruct");n.CHAIN_ID_REGEX=/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-a-zA-Z0-9]{1,32})$/u,n.ACCOUNT_ID_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-a-zA-Z0-9]{1,32})):(?<accountAddress>[a-zA-Z0-9]{1,64})$/u,n.ACCOUNT_ADDRESS_REGEX=/^(?<accountAddress>[a-zA-Z0-9]{1,64})$/u,n.parseChainId=function(e){const t=n.CHAIN_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid chain ID.");return{namespace:t.groups.namespace,reference:t.groups.reference}},n.parseAccountId=function(e){const t=n.ACCOUNT_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid account ID.");return{address:t.groups.accountAddress,chainId:t.groups.chainId,chain:{namespace:t.groups.namespace,reference:t.groups.reference}}},n.LimitedString=(0,r.size)((0,r.string)(),1,40),n.ChainIdStringStruct=(0,r.define)("Chain ID",(0,r.string)().validator),n.ChainIdStruct=(0,r.pattern)(n.ChainIdStringStruct,n.CHAIN_ID_REGEX),n.AccountIdStruct=(0,r.pattern)((0,r.string)(),n.ACCOUNT_ID_REGEX),n.AccountIdArrayStruct=(0,r.array)(n.AccountIdStruct),n.AccountAddressStruct=(0,r.pattern)((0,r.string)(),n.ACCOUNT_ADDRESS_REGEX),n.ChainStruct=(0,r.object)({id:n.ChainIdStruct,name:n.LimitedString}),n.NamespaceStruct=(0,r.object)({chains:(0,r.array)(n.ChainStruct),methods:(0,r.optional)((0,r.array)(n.LimitedString)),events:(0,r.optional)((0,r.array)(n.LimitedString))}),n.NamespaceIdStruct=(0,r.pattern)((0,r.string)(),/^[-a-z0-9]{3,8}$/u),n.isNamespaceId=function(e){return(0,r.is)(e,n.NamespaceIdStruct)},n.isChainId=function(e){return(0,r.is)(e,n.ChainIdStruct)},n.isAccountId=function(e){return(0,r.is)(e,n.AccountIdStruct)},n.isAccountIdArray=function(e){return(0,r.is)(e,n.AccountIdArrayStruct)},n.isNamespace=function(e){return(0,r.is)(e,n.NamespaceStruct)}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/namespace.cjs"}],[1433,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.normalizeRelative=void 0;const r=e("@metamask/utils");n.normalizeRelative=function(e){return(0,r.assert)(!e.startsWith("/")),(0,r.assert)(-1===e.search(/:|\/\//u),`Path "${e}" potentially an URI instead of local relative`),e.startsWith("./")?e.slice(2):e}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/path.cjs"}],[1434,{"@metamask/snaps-sdk/package.json":2831},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.getPlatformVersion=void 0;const s=r(e("@metamask/snaps-sdk/package.json"));n.getPlatformVersion=function(){return s.default.version}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/platform-version.cjs"}],[1435,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0})}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/promise.cjs"}],[1436,{"./caveats.cjs":1411,"./checksum.cjs":1412,"./types.cjs":1440,"@metamask/superstruct":2872,"@metamask/utils":2950,"@scure/base":3027,"fast-json-stable-stringify":4434,"validate-npm-package-name":5679},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.verifyRequestedSnapPermissions=n.isSnapPermitted=n.isCaipChainId=n.assertIsValidSnapId=n.isSnapId=n.stripSnapPrefix=n.getSnapPrefix=n.SnapIdStruct=n.HttpSnapIdStruct=n.NpmSnapIdStruct=n.LocalSnapIdStruct=n.BaseSnapIdStruct=n.LOCALHOST_HOSTNAMES=n.validateSnapShasum=n.getSnapChecksum=n.SnapStatusEvents=n.SnapStatus=n.PROPOSED_NAME_REGEX=void 0;const s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("@scure/base"),o=r(e("fast-json-stable-stringify")),A=r(e("validate-npm-package-name")),c=e("./caveats.cjs"),u=e("./checksum.cjs"),l=e("./types.cjs");var g,d;function f(e){const t=e.clone();return delete t.result.source.shasum,t.value=(0,o.default)(t.result),t}async function h(e){const{manifest:t,sourceCode:n,svgIcon:r,auxiliaryFiles:s,localizationFiles:i}=e,o=[f(t),n,r,...s,...i].filter((e=>e!==undefined));return a.base64.encode(await(0,u.checksumFiles)(o))}n.PROPOSED_NAME_REGEX=/^(?:[A-Za-z0-9-_]+( [A-Za-z0-9-_]+)*)|(?:(?:@[A-Za-z0-9-*~][A-Za-z0-9-*._~]*\/)?[A-Za-z0-9-~][A-Za-z0-9-._~]*)$/u,function(e){e.Installing="installing",e.Updating="updating",e.Running="running",e.Stopped="stopped",e.Crashed="crashed"}(g||(n.SnapStatus=g={})),function(e){e.Start="START",e.Stop="STOP",e.Crash="CRASH",e.Update="UPDATE"}(d||(n.SnapStatusEvents=d={})),n.getSnapChecksum=h,n.validateSnapShasum=async function(e,t="Invalid Snap manifest: manifest shasum does not match computed shasum."){if(e.manifest.result.source.shasum!==await h(e))throw new Error(t)},n.LOCALHOST_HOSTNAMES=["localhost","127.0.0.1","[::1]"],n.BaseSnapIdStruct=(0,s.pattern)((0,s.string)(),/^[\x21-\x7E]*$/u);const p=(0,l.uri)({protocol:(0,s.enums)(["http:","https:"]),hostname:(0,s.enums)(n.LOCALHOST_HOSTNAMES),hash:(0,s.empty)((0,s.string)()),search:(0,s.empty)((0,s.string)())});function m(e){const t=Object.values(l.SnapIdPrefixes).find((t=>e.startsWith(t)));if(t!==undefined)return t;throw new Error(`Invalid or no prefix found for "${e}"`)}n.LocalSnapIdStruct=(0,s.refine)(n.BaseSnapIdStruct,"local Snap Id",(e=>{if(!e.startsWith(l.SnapIdPrefixes.local))return`Expected local snap ID, got "${e}".`;const[t]=(0,s.validate)(e.slice(l.SnapIdPrefixes.local.length),p);return t??!0})),n.NpmSnapIdStruct=(0,s.intersection)([n.BaseSnapIdStruct,(0,l.uri)({protocol:(0,s.literal)(l.SnapIdPrefixes.npm),pathname:(0,s.refine)((0,s.string)(),"package name",(function*(e){const t=e.startsWith("/")?e.slice(1):e,{errors:n,validForNewPackages:r,warnings:s}=(0,A.default)(t);return r||(n===undefined?((0,i.assert)(s!==undefined),yield*s):yield*n),!0})),search:(0,s.empty)((0,s.string)()),hash:(0,s.empty)((0,s.string)())})]),n.HttpSnapIdStruct=(0,s.intersection)([n.BaseSnapIdStruct,(0,l.uri)({protocol:(0,s.enums)(["http:","https:"]),search:(0,s.empty)((0,s.string)()),hash:(0,s.empty)((0,s.string)())})]),n.SnapIdStruct=(0,s.union)([n.NpmSnapIdStruct,n.LocalSnapIdStruct]),n.getSnapPrefix=m,n.stripSnapPrefix=function(e){return e.replace(m(e),"")},n.isSnapId=function(e){return(0,s.is)(e,n.SnapIdStruct)},n.assertIsValidSnapId=function(e){(0,i.assertStruct)(e,n.SnapIdStruct,"Invalid snap ID")},n.isCaipChainId=function(e){return"string"==typeof e&&/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-a-zA-Z0-9]{1,32})$/u.test(e)},n.isSnapPermitted=function(e,t){return Boolean((e?.wallet_snap?.caveats?.find((e=>e.type===c.SnapCaveatType.SnapIds))??{}).value?.[t])},n.verifyRequestedSnapPermissions=function(e){(0,i.assert)((0,i.isObject)(e),"Requested permissions must be an object.");const{wallet_snap:t}=e;(0,i.assert)((0,i.isObject)(t),"wallet_snap is missing from the requested permissions.");const{caveats:n}=t;(0,i.assert)(Array.isArray(n)&&1===n.length,"wallet_snap must have a caveat property with a single-item array value.");const[r]=n;(0,i.assert)((0,i.isObject)(r)&&r.type===c.SnapCaveatType.SnapIds&&(0,i.isObject)(r.value),`The requested permissions do not have a valid ${c.SnapCaveatType.SnapIds} caveat.`)}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/snaps.cjs"}],[1437,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.indent=void 0,n.indent=function(e,t=2){return e.replace(/^/gmu," ".repeat(t))}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/strings.cjs"}],[1438,{"./strings.cjs":1437,"@metamask/snaps-sdk":2746,"@metamask/superstruct":2872,"@metamask/utils":2950,chalk:4094},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.mergeStructs=n.createUnion=n.validateUnion=n.getStructErrorMessage=n.getStructFailureMessage=n.getStructErrorPrefix=n.getUnionStructNames=n.getStructFromPath=n.createFromStruct=n.getError=n.arrayToGenerator=n.SnapsStructError=n.named=void 0;const r=e("@metamask/snaps-sdk"),s=e("@metamask/superstruct"),i=e("@metamask/utils"),a=e("chalk"),o=e("./strings.cjs");function A(e,t,n){return n?t(e):e}n.named=function(e,t){return new s.Struct({...t,type:e})};class c extends s.StructError{constructor(e,t,n,r,s,i=!0){super(r,s),this.name="SnapsStructError",this.message=`${t}.\n\n${p(e,[...s()],i)}${n?`\n\n${n}`:""}`}}function*u(e){for(const t of e)yield t}function l({struct:e,prefix:t,suffix:n="",error:r,colorize:s}){return new c(e,t,n,r,(()=>u(r.failures())),s)}function g(e,t){return t.reduce(((t,n)=>(0,i.isObject)(e.schema)&&e.schema[n]?e.schema[n]:t),e)}function d(e,t=!0){return Array.isArray(e.schema)?e.schema.map((({type:e})=>A(e,a.green,t))):null}function f(e,t=!0){return"never"===e.type||0===e.path.length?"":`At path: ${A(e.path.join("."),a.bold,t)} — `}function h(e,t,n=!0){const r=A(JSON.stringify(t.value),a.red,n),s=f(t,n);if("union"===t.type){const i=d(g(e,t.path),n);return i?`${s}Expected the value to be one of: ${i.join(", ")}, but received: ${r}.`:`${s}${t.message}.`}if("literal"===t.type){return`${s}${t.message.replace(/the literal `(.+)`,/u,`the value to be \`${A("$1",a.green,n)}\`,`).replace(/, but received: (.+)/u,`, but received: ${A("$1",a.red,n)}`)}.`}if("never"===t.type)return`Unknown key: ${A(t.path.join("."),a.bold,n)}, received: ${r}.`;if("size"===t.refinement){return`${s}${t.message.replace(/length between `(\d+)` and `(\d+)`/u,`length between ${A("$1",a.green,n)} and ${A("$2",a.green,n)},`).replace(/length of `(\d+)`/u,`length of ${A("$1",a.red,n)}`).replace(/a array/u,"an array")}.`}return t.refinement!==undefined?`${s}${t.message}.`:`${s}Expected a value of type ${A(t.type,a.green,n)}, but received: ${r}.`}function p(e,t,n=!0){return t.map((t=>(0,o.indent)(`• ${h(e,t,n)}`))).join("\n")}function m(e,t,n,a=!1){(0,i.assert)(t.schema,"Expected a struct with a schema. Make sure to use `union` from `@metamask/snaps-sdk`."),(0,i.assert)(t.schema.length>0,"Expected a non-empty array of structs.");const o=t.schema.map((e=>e.schema[n])),A=(0,s.type)({[n]:(0,r.union)(o)}),[c]=(0,s.validate)(e,A,{coerce:a});if(c)throw new Error(h(A,c.failures()[0],!1));const u=e,l=t.schema.filter((e=>(0,s.is)(u[n],e.schema[n])));(0,i.assert)(l.length>0,"Expected a struct to match the value.");const g=l.map((e=>(0,s.validate)(u,e,{coerce:a}))),d=g.find((([e])=>!e));if(d)return d[1];(0,i.assert)(g[0][0],"Expected at least one error.");const f=g.reduce(((e,[t])=>((0,i.assert)(t,"Expected an error."),t.failures().length<e.failures().length?t:e)),g[0][0]);throw new Error(h(t,f.failures()[0],!1))}n.SnapsStructError=c,n.arrayToGenerator=u,n.getError=l,n.createFromStruct=function(e,t,n,r=""){try{return(0,s.create)(e,t)}catch(e){if(e instanceof s.StructError)throw l({struct:t,prefix:n,suffix:r,error:e});throw e}},n.getStructFromPath=g,n.getUnionStructNames=d,n.getStructErrorPrefix=f,n.getStructFailureMessage=h,n.getStructErrorMessage=p,n.validateUnion=m,n.createUnion=function(e,t,n){return m(e,t,n,!0)},n.mergeStructs=function(...e){const t=s.assign(...e);return new s.Struct({...t,*refiner(t,n){for(const r of e)yield*r.refiner(t,n)}})}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/structs.cjs"}],[1439,{"@metamask/utils":2950,"fast-xml-parser":4436},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isSvg=n.parseSvg=void 0;const r=e("@metamask/utils"),s=e("fast-xml-parser");function i(e){try{const t=e.trim();(0,r.assert)(t.length>0);const n=new s.XMLParser({ignoreAttributes:!1,parseAttributeValue:!0}).parse(t,!0);return(0,r.assert)((0,r.hasProperty)(n,"svg")),(0,r.isObject)(n.svg)?n.svg:{}}catch{throw new Error("Snap icon must be a valid SVG.")}}n.parseSvg=i,n.isSvg=function(e){try{return i(e),!0}catch{return!1}}}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/svg.cjs"}],[1440,{"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.WALLET_SNAP_PERMISSION_KEY=n.isValidUrl=n.uri=n.SNAP_STREAM_NAMES=n.SnapIdPrefixes=n.NpmSnapPackageJsonStruct=n.NameStruct=n.NpmSnapFileNames=void 0;const r=e("@metamask/superstruct"),s=e("@metamask/utils");var i,a,o;!function(e){e.PackageJson="package.json",e.Manifest="snap.manifest.json"}(i||(n.NpmSnapFileNames=i={})),n.NameStruct=(0,r.size)((0,r.pattern)((0,r.string)(),/^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/u),1,214),n.NpmSnapPackageJsonStruct=(0,r.type)({version:s.VersionStruct,name:n.NameStruct,main:(0,r.optional)((0,r.size)((0,r.string)(),1,Infinity)),repository:(0,r.optional)((0,r.type)({type:(0,r.size)((0,r.string)(),1,Infinity),url:(0,r.size)((0,r.string)(),1,Infinity)}))}),function(e){e.npm="npm:",e.local="local:"}(a||(n.SnapIdPrefixes=a={})),function(e){e.JSON_RPC="jsonRpc",e.COMMAND="command"}(o||(n.SNAP_STREAM_NAMES=o={}));n.uri=(e={})=>(0,r.refine)((0,r.union)([(0,r.string)(),(0,r.instance)(URL)]),"uri",(t=>{try{const n=new URL(t),s=(0,r.type)(e);return(0,r.assert)(n,s),!0}catch{return`Expected URL, got "${t.toString()}".`}})),n.isValidUrl=function(e,t={}){return(0,r.is)(e,(0,n.uri)(t))},n.WALLET_SNAP_PERMISSION_KEY="wallet_snap"}}},{package:"@metamask/bridge-controller>@metamask/snaps-utils",file:"node_modules/@metamask/bridge-controller/node_modules/@metamask/snaps-utils/dist/types.cjs"}]],[],{});