@sundaeswap/wallet-lite 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classes/ReadOnlyProvider.Blockfrost.class.js +22 -12
- package/dist/cjs/classes/ReadOnlyProvider.Blockfrost.class.js.map +1 -1
- package/dist/cjs/classes/WalletObserver.class.js +105 -17
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/RenderWallet.js +2 -1
- package/dist/cjs/react-components/RenderWallet.js.map +1 -1
- package/dist/cjs/react-components/RenderWalletHandles.js +2 -1
- package/dist/cjs/react-components/RenderWalletHandles.js.map +1 -1
- package/dist/cjs/react-components/RenderWalletPeerConnect.js +2 -1
- package/dist/cjs/react-components/RenderWalletPeerConnect.js.map +1 -1
- package/dist/cjs/react-components/RenderWalletState.js +2 -1
- package/dist/cjs/react-components/RenderWalletState.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +60 -3
- package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useDerivedState.js +3 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useDerivedState.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js +24 -4
- package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +38 -36
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/context.js +40 -1
- package/dist/cjs/react-components/contexts/observer/context.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletData.js +6 -5
- package/dist/cjs/react-components/hooks/useWalletData.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletHandles.js +11 -7
- package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletLoadingState.js +6 -7
- package/dist/cjs/react-components/hooks/useWalletLoadingState.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletPeerConnect.js +18 -12
- package/dist/cjs/react-components/hooks/useWalletPeerConnect.js.map +1 -1
- package/dist/esm/classes/ReadOnlyProvider.Blockfrost.class.js +11 -6
- package/dist/esm/classes/ReadOnlyProvider.Blockfrost.class.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +79 -1
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/RenderWallet.js +3 -2
- package/dist/esm/react-components/RenderWallet.js.map +1 -1
- package/dist/esm/react-components/RenderWalletHandles.js +3 -2
- package/dist/esm/react-components/RenderWalletHandles.js.map +1 -1
- package/dist/esm/react-components/RenderWalletPeerConnect.js +3 -2
- package/dist/esm/react-components/RenderWalletPeerConnect.js.map +1 -1
- package/dist/esm/react-components/RenderWalletState.js +3 -2
- package/dist/esm/react-components/RenderWalletState.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +55 -4
- package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useDerivedState.js +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useDerivedState.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js +2 -2
- package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +4 -4
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/context.js +36 -0
- package/dist/esm/react-components/contexts/observer/context.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletData.js +7 -5
- package/dist/esm/react-components/hooks/useWalletData.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletHandles.js +11 -5
- package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletLoadingState.js +7 -9
- package/dist/esm/react-components/hooks/useWalletLoadingState.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletPeerConnect.js +14 -11
- package/dist/esm/react-components/hooks/useWalletPeerConnect.js.map +1 -1
- package/dist/types/classes/ReadOnlyProvider.Blockfrost.class.d.ts.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +11 -0
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/RenderWallet.d.ts +0 -6
- package/dist/types/react-components/RenderWallet.d.ts.map +1 -1
- package/dist/types/react-components/RenderWalletHandles.d.ts +0 -5
- package/dist/types/react-components/RenderWalletHandles.d.ts.map +1 -1
- package/dist/types/react-components/RenderWalletPeerConnect.d.ts +0 -5
- package/dist/types/react-components/RenderWalletPeerConnect.d.ts.map +1 -1
- package/dist/types/react-components/RenderWalletState.d.ts +1 -7
- package/dist/types/react-components/RenderWalletState.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/WalletObserverProvider.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/effects/useDerivedState.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/context.d.ts +16 -1
- package/dist/types/react-components/contexts/observer/context.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +48 -1
- package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletHandles.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletLoadingState.d.ts +1 -2
- package/dist/types/react-components/hooks/useWalletLoadingState.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletPeerConnect.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/classes/ReadOnlyProvider.Blockfrost.class.ts +22 -8
- package/src/classes/WalletObserver.class.ts +97 -1
- package/src/react-components/RenderWallet.tsx +4 -2
- package/src/react-components/RenderWalletHandles.tsx +6 -2
- package/src/react-components/RenderWalletPeerConnect.tsx +6 -2
- package/src/react-components/RenderWalletState.tsx +8 -4
- package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +92 -4
- package/src/react-components/WalletObserverProvider/hooks/effects/useDerivedState.ts +5 -2
- package/src/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.ts +2 -2
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +67 -37
- package/src/react-components/contexts/observer/context.ts +71 -1
- package/src/react-components/contexts/observer/types.ts +57 -1
- package/src/react-components/hooks/useWalletData.ts +5 -5
- package/src/react-components/hooks/useWalletHandles.ts +13 -8
- package/src/react-components/hooks/useWalletLoadingState.ts +13 -11
- package/src/react-components/hooks/useWalletPeerConnect.tsx +20 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletObserver.class.js","names":["_dappConnector","require","_asset","_merge","_interopRequireDefault","_events","_constants","_assets","_getLibs","_ReadOnlyApiClass","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newBalanceMap","_yield$Promise$all","_yield$Promise$all2","newNetwork","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","newFeeAddress","newChangeAddress","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getBalanceMap","syncApi","SYNCING_WALLET_END","all","getNetwork","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","getFeeAddress","getChangeAddress","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","feeAddress","changeAddress","_options","debug","console","log","concat","activeWallet","t0","_ref2","_callee2","selectedWallet","attempts","shouldContinue","_window","_window2","_cardano$selectedWall","cardano","_callee2$","_context2","startsWith","readOnlyProvider","ReadOnlyApi","getNetworkId","window","parent","enable","includes","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","metadataResolverChanged","metadataResolver","merge","_this$_metadataAbortC","_metadataAbortController","abort","_cachedMetadata","hasActiveConnection","sync","_ref3","_callee3","extension","_window$cardano","extensionObject","_this$peerConnectInst","_window$cardano2","data","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","warn","connectTimeout","CONNECT_WALLET_END","persistence","cause","mainAddress","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","_x2","_callee4","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_callee5","_this$_metadataAbortC2","_callee5$","_context5","removeItem","DISCONNECT","_callee6","_yield$Promise$all3","_yield$Promise$all4","Cardano","typedHex","cbor","_callee6$","_context6","getCardanoCore","getCardanoUtil","Address","fromBytes","toBech32","_callee7","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all5","_yield$Promise$all6","Serialization","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee7$","_context7","GET_BALANCE_MAP_START","getBalance","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee8","val","_callee8$","_context8","_callee9","_yield$Promise$all7","_yield$Promise$all8","_callee9$","_context9","map","_callee10","_yield$Promise$all9","_yield$Promise$all10","_callee10$","_context10","_callee11","_cbor","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","txOutput","TransactionUnspentOutput","input","output","_callee12","_window$cardano3","address","_callee12$","_context12","experimental","_callee13","_cbor2","_yield$Promise$all13","_yield$Promise$all14","_this$api","_this$api2","funcCall","_callee13$","_context13","_ref14","_callee14","assetIds","_this$_metadataAbortC3","cachedKeys","inputKeys","_end","currentController","newMetadata","_callee14$","_context14","Set","size","every","has","AbortController","normalizeAssetId","isAdaAsset","signal","aborted","fallbackMetadataResolver","_x3","_ref16","_callee15","_ref15","_callee15$","_context15","assetId","decimals","_x4","url","location","hostname","onApiEject","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","isSyncing","_getUtils","_callee16","_callee16$","_context16","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport {\n APIErrorCode,\n type ApiError,\n type Cip30WalletApi,\n type GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { ADA_ASSET_ID } from \"../constants.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { ReadOnlyApi } from \"./ReadOnlyApi.class.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent<AssetMetadata>}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> extends WalletObserverEvent<AssetMetadata> {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: string;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n // AbortController for cancelling in-flight metadata fetches when metadataResolver changes\n private _metadataAbortController: AbortController | null = null;\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n debug: false,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options,\n );\n\n if (!this._options.persistence) {\n return;\n }\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync<AssetMetadata>>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\",\n );\n }\n\n const start = performance.now();\n\n try {\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n // Check if account has changed.\n let newBalanceMap = await this.getBalanceMap();\n if (newBalanceMap instanceof Error) {\n await this.syncApi();\n newBalanceMap = await this.getBalanceMap();\n\n if (newBalanceMap instanceof Error) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw newBalanceMap;\n }\n }\n\n const [\n newNetwork,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n newFeeAddress,\n newChangeAddress,\n ] = await Promise.all([\n this.getNetwork(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n this.getFeeAddress(),\n this.getChangeAddress(),\n ]);\n\n const result: IWalletObserverSync<AssetMetadata> = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n feeAddress: newFeeAddress,\n changeAddress: newChangeAddress,\n };\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, {\n ...result,\n activeWallet: this.activeWallet!,\n });\n this._performingSync = false;\n return result;\n } catch (e) {\n this._performingSync = false;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Helper method to check if the instance has an active connection.\n *\n * @returns {boolean}\n */\n hasActiveConnection(): boolean {\n return Boolean(this.activeWallet && this.api);\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {string} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.\n */\n syncApi = async (\n activeWallet?: string,\n ): Promise<Cip30WalletApi | undefined> => {\n if (!activeWallet && !this.activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\",\n );\n }\n\n const selectedWallet = (activeWallet || this.activeWallet) as string;\n\n let attempts = 0;\n let shouldContinue = true;\n\n if (selectedWallet.startsWith(\"addr\")) {\n if (!this._options.readOnlyProvider) {\n throw new Error(\n \"You must provide a ReadOnlyProvider when connecting with a read-only address.\",\n );\n }\n\n this.api = new ReadOnlyApi(\n selectedWallet,\n selectedWallet.startsWith(\"addr_test\") ? 0 : 1,\n this._options.readOnlyProvider,\n );\n this.network = await this.api.getNetworkId();\n return this.api;\n }\n\n while (shouldContinue) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\",\n );\n }\n\n try {\n const cardano = window?.cardano || window?.parent?.cardano;\n const api = await cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n shouldContinue = false;\n } catch (e) {\n if (\n [\n \"user canceled connection\",\n \"User declined to sign the data.\",\n ].includes((e as Error)?.message) ||\n (e as ApiError)?.code === APIErrorCode.Refused\n ) {\n shouldContinue = false;\n return undefined;\n }\n\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Updates the wallet observer options. Merges the new options with the existing ones.\n * If metadataResolver changes, cancels any in-flight metadata fetch, clears the cache,\n * and triggers a new sync if there is an active connection.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} options - The new options to merge.\n */\n updateOptions = (\n options: Partial<TWalletObserverOptions<AssetMetadata>>,\n ): void => {\n const metadataResolverChanged =\n options.metadataResolver &&\n options.metadataResolver !== this._options.metadataResolver;\n\n this._options = merge<\n IResolvedWalletObserverOptions<AssetMetadata>,\n typeof options\n >(this._options, options);\n\n // If metadataResolver changed, abort in-flight fetch, clear cache, and re-sync\n if (metadataResolverChanged) {\n this._metadataAbortController?.abort();\n this._cachedMetadata = new Map();\n\n // Trigger a new sync if there's an active connection\n if (this.hasActiveConnection() && !this._performingSync) {\n this.sync();\n }\n }\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}\n */\n connectWallet = async (\n extension: string,\n ): Promise<IWalletObserverSync<AssetMetadata> | Error> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (\n typeof extensionObject === \"undefined\" &&\n !extension.startsWith(\"addr\")\n ) {\n if (this._options.debug) {\n console.warn(`Could not find extension: ${extension}. Trying again...`);\n }\n\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40),\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject && !extension.startsWith(\"addr\")) {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n throw new Error(\n `Could not find extension (${extension}) in the global context.`,\n );\n }\n\n this.activeWallet = extension;\n await this.syncApi(extension);\n const data = await this.sync();\n\n if (this._options.persistence) {\n if (data.usedAddresses instanceof Error) {\n data.usedAddresses.cause =\n \"Could not get a list of used addresses from the wallet when trying to save the connection.\";\n throw data.usedAddresses;\n }\n\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: data.usedAddresses[0],\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed),\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n ...data,\n activeWallet: extension,\n });\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n\n return data;\n };\n\n getCip45Instance = async () => {\n const start = performance.now();\n if (!this.peerConnectInstance) {\n const DAppPeerConnect = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs,\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCip45Instance: ${end - start}ms`);\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Clears the cached metadata and triggers a fresh sync to re-fetch metadata.\n * Useful when the client wants to manually refresh metadata without changing the resolver.\n *\n * @returns {Promise<void>}\n */\n resyncMetadata = async (): Promise<void> => {\n // Abort any in-flight fetch\n this._metadataAbortController?.abort();\n // Clear the cache\n this._cachedMetadata = new Map();\n\n // Trigger a new sync if there's an active connection\n if (this.hasActiveConnection()) {\n await this.sync();\n }\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this.activeWallet = undefined;\n this.api = undefined;\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Gets a the change address.\n *\n * @returns {Promise<string | Error>} The change address, or an error.\n */\n getChangeAddress = async (): Promise<string | Error> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query change address without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string;\n try {\n cbor = await this.api.getChangeAddress();\n } catch (e) {\n return e as Error;\n }\n\n const data = Cardano.Address.fromBytes(typedHex(cbor)).toBech32();\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getChangeAddress: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<\n WalletBalanceMap<AssetMetadata> | Error\n > => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n const start = performance.now();\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string;\n try {\n cbor = await this.api.getBalance();\n } catch (e) {\n return e as Error;\n }\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(ADA_ASSET_ID)),\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n normalizeAssetIdWithDot(id),\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id))),\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap: ${end - start}ms`);\n }\n\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number | Error>} The network ID or an Error from the wallet.\n */\n getNetwork = async (): Promise<number | Error> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const start = performance.now();\n\n let val: number;\n try {\n val = await this.api.getNetworkId();\n } catch (e) {\n return e as Error;\n }\n\n this.network = val;\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getNetwork: ${end - start}ms`);\n }\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[] | Error> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUsedAddresses();\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[] | Error>} The list of addresses or an Error returned by the wallet.\n */\n getUnusedAddresses = async (): Promise<string[] | Error> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUnusedAddresses();\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<\n TransactionUnspentOutput[] | Error | undefined\n > => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n cbor = await this.api.getUtxos();\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val),\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUtxos: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets the fee address set by the wallet, if available.\n *\n * @returns {Promise<string | Error | undefined>} The fee address or an Error.\n */\n getFeeAddress = async (): Promise<string | Error | undefined> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query fee address without an API instance.\",\n );\n }\n\n const start = performance.now();\n try {\n const address =\n window.cardano?.[this.activeWallet!]?.experimental?.feeAddress;\n const end = performance.now();\n\n if (this._options.debug) {\n console.log(`getFeeAddress: ${end - start}ms`);\n }\n\n return address;\n } catch (e) {\n return e as Error;\n }\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[] | Error | undefined>} The list of TransactionUnspentOutputs, if there are any, or an Error.\n */\n getCollateral = async (): Promise<\n TransactionUnspentOutput[] | Error | undefined\n > => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n cbor = [];\n } else {\n cbor = await funcCall();\n }\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val),\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCollateral: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n * Aborts any in-flight fetch when called, ensuring only the latest request completes.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[],\n ): Promise<Map<string, AssetMetadata>> => {\n const start = performance.now();\n\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver (cached): ${end - start}ms`);\n }\n return this._cachedMetadata;\n }\n }\n\n // Abort any in-flight metadata fetch\n this._metadataAbortController?.abort();\n this._metadataAbortController = new AbortController();\n const currentController = this._metadataAbortController;\n\n let attempts = 0;\n let newMetadata: Map<string, AssetMetadata> | undefined;\n while (attempts <= 3 && !newMetadata) {\n try {\n newMetadata = await this._options.metadataResolver({\n assetIds: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: normalizeAssetIdWithDot,\n isAdaAsset,\n });\n } catch (e) {\n attempts++;\n }\n }\n\n // If this request was aborted while in-flight, return current cache (a new fetch is in progress)\n if (currentController.signal.aborted) {\n return this._cachedMetadata;\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver({\n assetIds: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: normalizeAssetIdWithDot,\n isAdaAsset,\n });\n }\n\n // Double-check abort status after fallback resolver\n if (currentController.signal.aborted) {\n return this._cachedMetadata;\n }\n\n this._cachedMetadata = newMetadata;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver: ${end - start}ms`);\n }\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async ({ assetIds }) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(normalizeAssetIdWithDot(id), {\n assetId: normalizeAssetIdWithDot(id),\n decimals: 6,\n } as AssetMetadata),\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAQA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAKA,IAAAQ,iBAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AACA,IAAAU,qBAAA,GAAAV,OAAA;AACA,IAAAW,yBAAA,GAAAX,OAAA;AAAqE,SAAAG,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,2BAAAC,CAAA,EAAAT,CAAA,QAAAU,CAAA,yBAAAN,MAAA,IAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,KAAAI,CAAA,qBAAAC,CAAA,QAAAC,KAAA,CAAAC,OAAA,CAAAH,CAAA,MAAAC,CAAA,GAAAG,2BAAA,CAAAJ,CAAA,MAAAT,CAAA,IAAAS,CAAA,uBAAAA,CAAA,CAAAK,MAAA,IAAAJ,CAAA,KAAAD,CAAA,GAAAC,CAAA,OAAAK,EAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,WAAAH,EAAA,IAAAN,CAAA,CAAAK,MAAA,KAAAK,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAAX,CAAA,CAAAM,EAAA,UAAAf,CAAA,WAAAA,EAAAS,CAAA,UAAAA,CAAA,KAAAY,CAAA,EAAAL,CAAA,gBAAAM,SAAA,iJAAAnB,CAAA,EAAAoB,CAAA,OAAAC,CAAA,gBAAAP,CAAA,WAAAA,EAAA,IAAAP,CAAA,GAAAA,CAAA,CAAAe,IAAA,CAAAhB,CAAA,MAAAS,CAAA,WAAAA,EAAA,QAAAT,CAAA,GAAAC,CAAA,CAAAgB,IAAA,WAAAH,CAAA,GAAAd,CAAA,CAAAU,IAAA,EAAAV,CAAA,KAAAT,CAAA,WAAAA,EAAAS,CAAA,IAAAe,CAAA,OAAArB,CAAA,GAAAM,CAAA,KAAAY,CAAA,WAAAA,EAAA,UAAAE,CAAA,YAAAb,CAAA,cAAAA,CAAA,8BAAAc,CAAA,QAAArB,CAAA;AAAA,SAAAwB,mBAAAlB,CAAA,WAAAmB,kBAAA,CAAAnB,CAAA,KAAAoB,gBAAA,CAAApB,CAAA,KAAAI,2BAAA,CAAAJ,CAAA,KAAAqB,kBAAA;AAAA,SAAAA,mBAAA,cAAAR,SAAA;AAAA,SAAAO,iBAAApB,CAAA,8BAAAL,MAAA,YAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,aAAAI,CAAA,uBAAAE,KAAA,CAAAoB,IAAA,CAAAtB,CAAA;AAAA,SAAAmB,mBAAAnB,CAAA,QAAAE,KAAA,CAAAC,OAAA,CAAAH,CAAA,UAAAuB,iBAAA,CAAAvB,CAAA;AAAA,SAAAwB,oBAAA,kBA3BrE,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAjC,CAAA,SAAAU,CAAA,EAAAV,CAAA,OAAAS,CAAA,GAAAyB,MAAA,CAAA3B,SAAA,EAAAW,CAAA,GAAAT,CAAA,CAAA0B,cAAA,EAAAhC,CAAA,GAAA+B,MAAA,CAAAE,cAAA,cAAA1B,CAAA,EAAAV,CAAA,EAAAS,CAAA,IAAAC,CAAA,CAAAV,CAAA,IAAAS,CAAA,CAAAW,KAAA,KAAAiB,CAAA,wBAAAjC,MAAA,GAAAA,MAAA,OAAAmB,CAAA,GAAAc,CAAA,CAAAhC,QAAA,kBAAAiC,CAAA,GAAAD,CAAA,CAAAE,aAAA,uBAAAf,CAAA,GAAAa,CAAA,CAAAG,WAAA,8BAAAC,OAAA/B,CAAA,EAAAV,CAAA,EAAAS,CAAA,WAAAyB,MAAA,CAAAE,cAAA,CAAA1B,CAAA,EAAAV,CAAA,IAAAoB,KAAA,EAAAX,CAAA,EAAAiC,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAlC,CAAA,CAAAV,CAAA,WAAAyC,MAAA,mBAAA/B,CAAA,IAAA+B,MAAA,YAAAA,OAAA/B,CAAA,EAAAV,CAAA,EAAAS,CAAA,WAAAC,CAAA,CAAAV,CAAA,IAAAS,CAAA,gBAAAoC,KAAAnC,CAAA,EAAAV,CAAA,EAAAS,CAAA,EAAAS,CAAA,QAAAmB,CAAA,GAAArC,CAAA,IAAAA,CAAA,CAAAO,SAAA,YAAAuC,SAAA,GAAA9C,CAAA,GAAA8C,SAAA,EAAAvB,CAAA,GAAAW,MAAA,CAAAa,MAAA,CAAAV,CAAA,CAAA9B,SAAA,GAAA+B,CAAA,OAAAU,OAAA,CAAA9B,CAAA,gBAAAf,CAAA,CAAAoB,CAAA,eAAAH,KAAA,EAAA6B,gBAAA,CAAAvC,CAAA,EAAAD,CAAA,EAAA6B,CAAA,MAAAf,CAAA,aAAA2B,SAAAxC,CAAA,EAAAV,CAAA,EAAAS,CAAA,mBAAA0C,IAAA,YAAAC,GAAA,EAAA1C,CAAA,CAAAe,IAAA,CAAAzB,CAAA,EAAAS,CAAA,cAAAC,CAAA,aAAAyC,IAAA,WAAAC,GAAA,EAAA1C,CAAA,QAAAV,CAAA,CAAA6C,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAjC,CAAA,gBAAAJ,CAAA,gBAAAsC,CAAA,gBAAAT,UAAA,cAAAU,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAAjB,MAAA,CAAAiB,CAAA,EAAAnC,CAAA,qCAAAoC,CAAA,GAAAzB,MAAA,CAAA0B,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAApD,CAAA,IAAAS,CAAA,CAAAO,IAAA,CAAAoC,CAAA,EAAAtC,CAAA,MAAAmC,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAlD,SAAA,GAAAuC,SAAA,CAAAvC,SAAA,GAAA2B,MAAA,CAAAa,MAAA,CAAAW,CAAA,YAAAM,sBAAAtD,CAAA,gCAAAuD,OAAA,WAAAjE,CAAA,IAAAyC,MAAA,CAAA/B,CAAA,EAAAV,CAAA,YAAAU,CAAA,gBAAAwD,OAAA,CAAAlE,CAAA,EAAAU,CAAA,sBAAAyD,cAAAzD,CAAA,EAAAV,CAAA,aAAAoE,OAAA3D,CAAA,EAAAN,CAAA,EAAAkC,CAAA,EAAAd,CAAA,QAAAe,CAAA,GAAAY,QAAA,CAAAxC,CAAA,CAAAD,CAAA,GAAAC,CAAA,EAAAP,CAAA,mBAAAmC,CAAA,CAAAa,IAAA,QAAA3B,CAAA,GAAAc,CAAA,CAAAc,GAAA,EAAAC,CAAA,GAAA7B,CAAA,CAAAJ,KAAA,SAAAiC,CAAA,gBAAAnD,OAAA,CAAAmD,CAAA,KAAAnC,CAAA,CAAAO,IAAA,CAAA4B,CAAA,eAAArD,CAAA,CAAAqE,OAAA,CAAAhB,CAAA,CAAAiB,OAAA,EAAAC,IAAA,WAAA7D,CAAA,IAAA0D,MAAA,SAAA1D,CAAA,EAAA2B,CAAA,EAAAd,CAAA,gBAAAb,CAAA,IAAA0D,MAAA,UAAA1D,CAAA,EAAA2B,CAAA,EAAAd,CAAA,QAAAvB,CAAA,CAAAqE,OAAA,CAAAhB,CAAA,EAAAkB,IAAA,WAAA7D,CAAA,IAAAc,CAAA,CAAAJ,KAAA,GAAAV,CAAA,EAAA2B,CAAA,CAAAb,CAAA,gBAAAd,CAAA,WAAA0D,MAAA,UAAA1D,CAAA,EAAA2B,CAAA,EAAAd,CAAA,SAAAA,CAAA,CAAAe,CAAA,CAAAc,GAAA,SAAA3C,CAAA,EAAAN,CAAA,oBAAAiB,KAAA,WAAAA,MAAAV,CAAA,EAAAQ,CAAA,aAAAsD,2BAAA,eAAAxE,CAAA,WAAAA,CAAA,EAAAS,CAAA,IAAA2D,MAAA,CAAA1D,CAAA,EAAAQ,CAAA,EAAAlB,CAAA,EAAAS,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA8D,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAvB,iBAAAjD,CAAA,EAAAS,CAAA,EAAAS,CAAA,QAAAf,CAAA,GAAAkD,CAAA,mBAAAhB,CAAA,EAAAd,CAAA,QAAApB,CAAA,KAAAkB,CAAA,QAAAoD,KAAA,sCAAAtE,CAAA,KAAAc,CAAA,oBAAAoB,CAAA,QAAAd,CAAA,WAAAH,KAAA,EAAAV,CAAA,EAAAS,IAAA,eAAAD,CAAA,CAAAwD,MAAA,GAAArC,CAAA,EAAAnB,CAAA,CAAAkC,GAAA,GAAA7B,CAAA,UAAAe,CAAA,GAAApB,CAAA,CAAAyD,QAAA,MAAArC,CAAA,QAAAd,CAAA,GAAAoD,mBAAA,CAAAtC,CAAA,EAAApB,CAAA,OAAAM,CAAA,QAAAA,CAAA,KAAA+B,CAAA,mBAAA/B,CAAA,qBAAAN,CAAA,CAAAwD,MAAA,EAAAxD,CAAA,CAAA2D,IAAA,GAAA3D,CAAA,CAAA4D,KAAA,GAAA5D,CAAA,CAAAkC,GAAA,sBAAAlC,CAAA,CAAAwD,MAAA,QAAAvE,CAAA,KAAAkD,CAAA,QAAAlD,CAAA,GAAAc,CAAA,EAAAC,CAAA,CAAAkC,GAAA,EAAAlC,CAAA,CAAA6D,iBAAA,CAAA7D,CAAA,CAAAkC,GAAA,uBAAAlC,CAAA,CAAAwD,MAAA,IAAAxD,CAAA,CAAA8D,MAAA,WAAA9D,CAAA,CAAAkC,GAAA,GAAAjD,CAAA,GAAAkB,CAAA,MAAAqC,CAAA,GAAAR,QAAA,CAAAlD,CAAA,EAAAS,CAAA,EAAAS,CAAA,oBAAAwC,CAAA,CAAAP,IAAA,QAAAhD,CAAA,GAAAe,CAAA,CAAAC,IAAA,GAAAF,CAAA,GAAAqC,CAAA,EAAAI,CAAA,CAAAN,GAAA,KAAAG,CAAA,qBAAAnC,KAAA,EAAAsC,CAAA,CAAAN,GAAA,EAAAjC,IAAA,EAAAD,CAAA,CAAAC,IAAA,kBAAAuC,CAAA,CAAAP,IAAA,KAAAhD,CAAA,GAAAc,CAAA,EAAAC,CAAA,CAAAwD,MAAA,YAAAxD,CAAA,CAAAkC,GAAA,GAAAM,CAAA,CAAAN,GAAA,mBAAAwB,oBAAA5E,CAAA,EAAAS,CAAA,QAAAS,CAAA,GAAAT,CAAA,CAAAiE,MAAA,EAAAvE,CAAA,GAAAH,CAAA,CAAAK,QAAA,CAAAa,CAAA,OAAAf,CAAA,KAAAO,CAAA,SAAAD,CAAA,CAAAkE,QAAA,qBAAAzD,CAAA,IAAAlB,CAAA,CAAAK,QAAA,eAAAI,CAAA,CAAAiE,MAAA,aAAAjE,CAAA,CAAA2C,GAAA,GAAA1C,CAAA,EAAAkE,mBAAA,CAAA5E,CAAA,EAAAS,CAAA,eAAAA,CAAA,CAAAiE,MAAA,kBAAAxD,CAAA,KAAAT,CAAA,CAAAiE,MAAA,YAAAjE,CAAA,CAAA2C,GAAA,OAAA9B,SAAA,uCAAAJ,CAAA,iBAAAqC,CAAA,MAAAlB,CAAA,GAAAa,QAAA,CAAA/C,CAAA,EAAAH,CAAA,CAAAK,QAAA,EAAAI,CAAA,CAAA2C,GAAA,mBAAAf,CAAA,CAAAc,IAAA,SAAA1C,CAAA,CAAAiE,MAAA,YAAAjE,CAAA,CAAA2C,GAAA,GAAAf,CAAA,CAAAe,GAAA,EAAA3C,CAAA,CAAAkE,QAAA,SAAApB,CAAA,MAAAhC,CAAA,GAAAc,CAAA,CAAAe,GAAA,SAAA7B,CAAA,GAAAA,CAAA,CAAAJ,IAAA,IAAAV,CAAA,CAAAT,CAAA,CAAAiF,UAAA,IAAA1D,CAAA,CAAAH,KAAA,EAAAX,CAAA,CAAAiB,IAAA,GAAA1B,CAAA,CAAAkF,OAAA,eAAAzE,CAAA,CAAAiE,MAAA,KAAAjE,CAAA,CAAAiE,MAAA,WAAAjE,CAAA,CAAA2C,GAAA,GAAA1C,CAAA,GAAAD,CAAA,CAAAkE,QAAA,SAAApB,CAAA,IAAAhC,CAAA,IAAAd,CAAA,CAAAiE,MAAA,YAAAjE,CAAA,CAAA2C,GAAA,OAAA9B,SAAA,sCAAAb,CAAA,CAAAkE,QAAA,SAAApB,CAAA,cAAA4B,aAAAzE,CAAA,QAAAV,CAAA,KAAAoF,MAAA,EAAA1E,CAAA,YAAAA,CAAA,KAAAV,CAAA,CAAAqF,QAAA,GAAA3E,CAAA,WAAAA,CAAA,KAAAV,CAAA,CAAAsF,UAAA,GAAA5E,CAAA,KAAAV,CAAA,CAAAuF,QAAA,GAAA7E,CAAA,WAAA8E,UAAA,CAAAC,IAAA,CAAAzF,CAAA,cAAA0F,cAAAhF,CAAA,QAAAV,CAAA,GAAAU,CAAA,CAAAiF,UAAA,QAAA3F,CAAA,CAAAmD,IAAA,oBAAAnD,CAAA,CAAAoD,GAAA,EAAA1C,CAAA,CAAAiF,UAAA,GAAA3F,CAAA,aAAAgD,QAAAtC,CAAA,SAAA8E,UAAA,MAAAJ,MAAA,aAAA1E,CAAA,CAAAuD,OAAA,CAAAkB,YAAA,cAAAS,KAAA,iBAAA9B,OAAA9D,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAS,CAAA,GAAAT,CAAA,CAAAuB,CAAA,OAAAd,CAAA,SAAAA,CAAA,CAAAgB,IAAA,CAAAzB,CAAA,4BAAAA,CAAA,CAAA0B,IAAA,SAAA1B,CAAA,OAAA6F,KAAA,CAAA7F,CAAA,CAAAc,MAAA,SAAAX,CAAA,OAAAkC,CAAA,YAAAX,KAAA,aAAAvB,CAAA,GAAAH,CAAA,CAAAc,MAAA,OAAAI,CAAA,CAAAO,IAAA,CAAAzB,CAAA,EAAAG,CAAA,UAAAuB,IAAA,CAAAN,KAAA,GAAApB,CAAA,CAAAG,CAAA,GAAAuB,IAAA,CAAAP,IAAA,OAAAO,IAAA,SAAAA,IAAA,CAAAN,KAAA,GAAAV,CAAA,EAAAgB,IAAA,CAAAP,IAAA,OAAAO,IAAA,YAAAW,CAAA,CAAAX,IAAA,GAAAW,CAAA,gBAAAf,SAAA,CAAApB,OAAA,CAAAF,CAAA,kCAAAwD,iBAAA,CAAAjD,SAAA,GAAAkD,0BAAA,EAAAtD,CAAA,CAAA4D,CAAA,mBAAA3C,KAAA,EAAAqC,0BAAA,EAAAd,YAAA,SAAAxC,CAAA,CAAAsD,0BAAA,mBAAArC,KAAA,EAAAoC,iBAAA,EAAAb,YAAA,SAAAa,iBAAA,CAAAsC,WAAA,GAAArD,MAAA,CAAAgB,0BAAA,EAAAjC,CAAA,wBAAAxB,CAAA,CAAA+F,mBAAA,aAAArF,CAAA,QAAAV,CAAA,wBAAAU,CAAA,IAAAA,CAAA,CAAAJ,WAAA,WAAAN,CAAA,KAAAA,CAAA,KAAAwD,iBAAA,6BAAAxD,CAAA,CAAA8F,WAAA,IAAA9F,CAAA,CAAAgG,IAAA,OAAAhG,CAAA,CAAAiG,IAAA,aAAAvF,CAAA,WAAAwB,MAAA,CAAAgE,cAAA,GAAAhE,MAAA,CAAAgE,cAAA,CAAAxF,CAAA,EAAA+C,0BAAA,KAAA/C,CAAA,CAAAyF,SAAA,GAAA1C,0BAAA,EAAAhB,MAAA,CAAA/B,CAAA,EAAAc,CAAA,yBAAAd,CAAA,CAAAH,SAAA,GAAA2B,MAAA,CAAAa,MAAA,CAAAgB,CAAA,GAAArD,CAAA,KAAAV,CAAA,CAAAoG,KAAA,aAAA1F,CAAA,aAAA4D,OAAA,EAAA5D,CAAA,OAAAsD,qBAAA,CAAAG,aAAA,CAAA5D,SAAA,GAAAkC,MAAA,CAAA0B,aAAA,CAAA5D,SAAA,EAAA+B,CAAA,iCAAAtC,CAAA,CAAAmE,aAAA,GAAAA,aAAA,EAAAnE,CAAA,CAAAqG,KAAA,aAAA3F,CAAA,EAAAD,CAAA,EAAAS,CAAA,EAAAf,CAAA,EAAAkC,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAiE,OAAA,OAAA/E,CAAA,OAAA4C,aAAA,CAAAtB,IAAA,CAAAnC,CAAA,EAAAD,CAAA,EAAAS,CAAA,EAAAf,CAAA,GAAAkC,CAAA,UAAArC,CAAA,CAAA+F,mBAAA,CAAAtF,CAAA,IAAAc,CAAA,GAAAA,CAAA,CAAAG,IAAA,GAAA6C,IAAA,WAAA7D,CAAA,WAAAA,CAAA,CAAAS,IAAA,GAAAT,CAAA,CAAAU,KAAA,GAAAG,CAAA,CAAAG,IAAA,WAAAsC,qBAAA,CAAAD,CAAA,GAAAtB,MAAA,CAAAsB,CAAA,EAAAvC,CAAA,gBAAAiB,MAAA,CAAAsB,CAAA,EAAAxC,CAAA,iCAAAkB,MAAA,CAAAsB,CAAA,6DAAA/D,CAAA,CAAAuG,IAAA,aAAA7F,CAAA,QAAAV,CAAA,GAAAkC,MAAA,CAAAxB,CAAA,GAAAD,CAAA,gBAAAS,CAAA,IAAAlB,CAAA,EAAAS,CAAA,CAAAgF,IAAA,CAAAvE,CAAA,UAAAT,CAAA,CAAA+F,OAAA,aAAA9E,KAAA,WAAAjB,CAAA,CAAAK,MAAA,SAAAJ,CAAA,GAAAD,CAAA,CAAAgG,GAAA,QAAA/F,CAAA,IAAAV,CAAA,SAAA0B,IAAA,CAAAN,KAAA,GAAAV,CAAA,EAAAgB,IAAA,CAAAP,IAAA,OAAAO,IAAA,WAAAA,IAAA,CAAAP,IAAA,OAAAO,IAAA,QAAA1B,CAAA,CAAA8D,MAAA,GAAAA,MAAA,EAAAd,OAAA,CAAAzC,SAAA,KAAAD,WAAA,EAAA0C,OAAA,EAAA4C,KAAA,WAAAA,MAAA5F,CAAA,aAAA0G,IAAA,WAAAhF,IAAA,WAAAmD,IAAA,QAAAC,KAAA,GAAApE,CAAA,OAAAS,IAAA,YAAAwD,QAAA,cAAAD,MAAA,gBAAAtB,GAAA,GAAA1C,CAAA,OAAA8E,UAAA,CAAAvB,OAAA,CAAAyB,aAAA,IAAA1F,CAAA,WAAAS,CAAA,kBAAAA,CAAA,CAAAkG,MAAA,OAAAzF,CAAA,CAAAO,IAAA,OAAAhB,CAAA,MAAAoF,KAAA,EAAApF,CAAA,CAAAmG,KAAA,cAAAnG,CAAA,IAAAC,CAAA,MAAAmG,IAAA,WAAAA,KAAA,SAAA1F,IAAA,WAAAT,CAAA,QAAA8E,UAAA,IAAAG,UAAA,kBAAAjF,CAAA,CAAAyC,IAAA,QAAAzC,CAAA,CAAA0C,GAAA,cAAA0D,IAAA,KAAA/B,iBAAA,WAAAA,kBAAA/E,CAAA,aAAAmB,IAAA,QAAAnB,CAAA,MAAAS,CAAA,kBAAAsG,OAAA7F,CAAA,EAAAf,CAAA,WAAAoB,CAAA,CAAA4B,IAAA,YAAA5B,CAAA,CAAA6B,GAAA,GAAApD,CAAA,EAAAS,CAAA,CAAAiB,IAAA,GAAAR,CAAA,EAAAf,CAAA,KAAAM,CAAA,CAAAiE,MAAA,WAAAjE,CAAA,CAAA2C,GAAA,GAAA1C,CAAA,KAAAP,CAAA,aAAAA,CAAA,QAAAqF,UAAA,CAAA1E,MAAA,MAAAX,CAAA,SAAAA,CAAA,QAAAkC,CAAA,QAAAmD,UAAA,CAAArF,CAAA,GAAAoB,CAAA,GAAAc,CAAA,CAAAsD,UAAA,iBAAAtD,CAAA,CAAA+C,MAAA,SAAA2B,MAAA,aAAA1E,CAAA,CAAA+C,MAAA,SAAAsB,IAAA,QAAApE,CAAA,GAAApB,CAAA,CAAAO,IAAA,CAAAY,CAAA,eAAAb,CAAA,GAAAN,CAAA,CAAAO,IAAA,CAAAY,CAAA,qBAAAC,CAAA,IAAAd,CAAA,aAAAkF,IAAA,GAAArE,CAAA,CAAAgD,QAAA,SAAA0B,MAAA,CAAA1E,CAAA,CAAAgD,QAAA,gBAAAqB,IAAA,GAAArE,CAAA,CAAAiD,UAAA,SAAAyB,MAAA,CAAA1E,CAAA,CAAAiD,UAAA,cAAAhD,CAAA,aAAAoE,IAAA,GAAArE,CAAA,CAAAgD,QAAA,SAAA0B,MAAA,CAAA1E,CAAA,CAAAgD,QAAA,qBAAA7D,CAAA,QAAAiD,KAAA,qDAAAiC,IAAA,GAAArE,CAAA,CAAAiD,UAAA,SAAAyB,MAAA,CAAA1E,CAAA,CAAAiD,UAAA,YAAAN,MAAA,WAAAA,OAAAtE,CAAA,EAAAV,CAAA,aAAAS,CAAA,QAAA+E,UAAA,CAAA1E,MAAA,MAAAL,CAAA,SAAAA,CAAA,QAAAN,CAAA,QAAAqF,UAAA,CAAA/E,CAAA,OAAAN,CAAA,CAAAiF,MAAA,SAAAsB,IAAA,IAAAxF,CAAA,CAAAO,IAAA,CAAAtB,CAAA,wBAAAuG,IAAA,GAAAvG,CAAA,CAAAmF,UAAA,QAAAjD,CAAA,GAAAlC,CAAA,aAAAkC,CAAA,iBAAA3B,CAAA,mBAAAA,CAAA,KAAA2B,CAAA,CAAA+C,MAAA,IAAApF,CAAA,IAAAA,CAAA,IAAAqC,CAAA,CAAAiD,UAAA,KAAAjD,CAAA,cAAAd,CAAA,GAAAc,CAAA,GAAAA,CAAA,CAAAsD,UAAA,cAAApE,CAAA,CAAA4B,IAAA,GAAAzC,CAAA,EAAAa,CAAA,CAAA6B,GAAA,GAAApD,CAAA,EAAAqC,CAAA,SAAAqC,MAAA,gBAAAhD,IAAA,GAAAW,CAAA,CAAAiD,UAAA,EAAA/B,CAAA,SAAAyD,QAAA,CAAAzF,CAAA,MAAAyF,QAAA,WAAAA,SAAAtG,CAAA,EAAAV,CAAA,oBAAAU,CAAA,CAAAyC,IAAA,QAAAzC,CAAA,CAAA0C,GAAA,qBAAA1C,CAAA,CAAAyC,IAAA,mBAAAzC,CAAA,CAAAyC,IAAA,QAAAzB,IAAA,GAAAhB,CAAA,CAAA0C,GAAA,gBAAA1C,CAAA,CAAAyC,IAAA,SAAA2D,IAAA,QAAA1D,GAAA,GAAA1C,CAAA,CAAA0C,GAAA,OAAAsB,MAAA,kBAAAhD,IAAA,yBAAAhB,CAAA,CAAAyC,IAAA,IAAAnD,CAAA,UAAA0B,IAAA,GAAA1B,CAAA,GAAAuD,CAAA,KAAA0D,MAAA,WAAAA,OAAAvG,CAAA,aAAAV,CAAA,QAAAwF,UAAA,CAAA1E,MAAA,MAAAd,CAAA,SAAAA,CAAA,QAAAS,CAAA,QAAA+E,UAAA,CAAAxF,CAAA,OAAAS,CAAA,CAAA6E,UAAA,KAAA5E,CAAA,cAAAsG,QAAA,CAAAvG,CAAA,CAAAkF,UAAA,EAAAlF,CAAA,CAAA8E,QAAA,GAAAG,aAAA,CAAAjF,CAAA,GAAA8C,CAAA,yBAAA2D,OAAAxG,CAAA,aAAAV,CAAA,QAAAwF,UAAA,CAAA1E,MAAA,MAAAd,CAAA,SAAAA,CAAA,QAAAS,CAAA,QAAA+E,UAAA,CAAAxF,CAAA,OAAAS,CAAA,CAAA2E,MAAA,KAAA1E,CAAA,QAAAQ,CAAA,GAAAT,CAAA,CAAAkF,UAAA,kBAAAzE,CAAA,CAAAiC,IAAA,QAAAhD,CAAA,GAAAe,CAAA,CAAAkC,GAAA,EAAAsC,aAAA,CAAAjF,CAAA,YAAAN,CAAA,YAAAsE,KAAA,8BAAA0C,aAAA,WAAAA,cAAAnH,CAAA,EAAAS,CAAA,EAAAS,CAAA,gBAAAyD,QAAA,KAAAtE,QAAA,EAAAyD,MAAA,CAAA9D,CAAA,GAAAiF,UAAA,EAAAxE,CAAA,EAAAyE,OAAA,EAAAhE,CAAA,oBAAAwD,MAAA,UAAAtB,GAAA,GAAA1C,CAAA,GAAA6C,CAAA,OAAAvD,CAAA;AAAA,SAAAoH,QAAApH,CAAA,EAAAS,CAAA,QAAAC,CAAA,GAAAwB,MAAA,CAAAqE,IAAA,CAAAvG,CAAA,OAAAkC,MAAA,CAAAmF,qBAAA,QAAAlH,CAAA,GAAA+B,MAAA,CAAAmF,qBAAA,CAAArH,CAAA,GAAAS,CAAA,KAAAN,CAAA,GAAAA,CAAA,CAAAmH,MAAA,WAAA7G,CAAA,WAAAyB,MAAA,CAAAqF,wBAAA,CAAAvH,CAAA,EAAAS,CAAA,EAAAiC,UAAA,OAAAhC,CAAA,CAAA+E,IAAA,CAAA+B,KAAA,CAAA9G,CAAA,EAAAP,CAAA,YAAAO,CAAA;AAAA,SAAA+G,cAAAzH,CAAA,aAAAS,CAAA,MAAAA,CAAA,GAAAiH,SAAA,CAAA5G,MAAA,EAAAL,CAAA,UAAAC,CAAA,WAAAgH,SAAA,CAAAjH,CAAA,IAAAiH,SAAA,CAAAjH,CAAA,QAAAA,CAAA,OAAA2G,OAAA,CAAAlF,MAAA,CAAAxB,CAAA,OAAAuD,OAAA,WAAAxD,CAAA,IAAAkH,eAAA,CAAA3H,CAAA,EAAAS,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAyB,MAAA,CAAA0F,yBAAA,GAAA1F,MAAA,CAAA2F,gBAAA,CAAA7H,CAAA,EAAAkC,MAAA,CAAA0F,yBAAA,CAAAlH,CAAA,KAAA0G,OAAA,CAAAlF,MAAA,CAAAxB,CAAA,GAAAuD,OAAA,WAAAxD,CAAA,IAAAyB,MAAA,CAAAE,cAAA,CAAApC,CAAA,EAAAS,CAAA,EAAAyB,MAAA,CAAAqF,wBAAA,CAAA7G,CAAA,EAAAD,CAAA,iBAAAT,CAAA;AAAA,SAAA8H,eAAArH,CAAA,EAAAT,CAAA,WAAA+H,eAAA,CAAAtH,CAAA,KAAAuH,qBAAA,CAAAvH,CAAA,EAAAT,CAAA,KAAAa,2BAAA,CAAAJ,CAAA,EAAAT,CAAA,KAAAiI,gBAAA;AAAA,SAAAA,iBAAA,cAAA3G,SAAA;AAAA,SAAAT,4BAAAJ,CAAA,EAAAc,CAAA,QAAAd,CAAA,2BAAAA,CAAA,SAAAuB,iBAAA,CAAAvB,CAAA,EAAAc,CAAA,OAAAb,CAAA,MAAAwH,QAAA,CAAAzG,IAAA,CAAAhB,CAAA,EAAAmG,KAAA,6BAAAlG,CAAA,IAAAD,CAAA,CAAAH,WAAA,KAAAI,CAAA,GAAAD,CAAA,CAAAH,WAAA,CAAA0F,IAAA,aAAAtF,CAAA,cAAAA,CAAA,GAAAC,KAAA,CAAAoB,IAAA,CAAAtB,CAAA,oBAAAC,CAAA,+CAAAyH,IAAA,CAAAzH,CAAA,IAAAsB,iBAAA,CAAAvB,CAAA,EAAAc,CAAA;AAAA,SAAAS,kBAAAvB,CAAA,EAAAc,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAd,CAAA,CAAAK,MAAA,MAAAS,CAAA,GAAAd,CAAA,CAAAK,MAAA,YAAAd,CAAA,MAAAkB,CAAA,GAAAP,KAAA,CAAAY,CAAA,GAAAvB,CAAA,GAAAuB,CAAA,EAAAvB,CAAA,IAAAkB,CAAA,CAAAlB,CAAA,IAAAS,CAAA,CAAAT,CAAA,UAAAkB,CAAA;AAAA,SAAA8G,sBAAAvH,CAAA,EAAA6C,CAAA,QAAA5C,CAAA,WAAAD,CAAA,gCAAAL,MAAA,IAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,KAAAI,CAAA,4BAAAC,CAAA,QAAAV,CAAA,EAAAkB,CAAA,EAAAmB,CAAA,EAAAb,CAAA,EAAAD,CAAA,OAAAF,CAAA,OAAAlB,CAAA,iBAAAkC,CAAA,IAAA3B,CAAA,GAAAA,CAAA,CAAAe,IAAA,CAAAhB,CAAA,GAAAiB,IAAA,QAAA4B,CAAA,QAAApB,MAAA,CAAAxB,CAAA,MAAAA,CAAA,UAAAW,CAAA,uBAAAA,CAAA,IAAArB,CAAA,GAAAqC,CAAA,CAAAZ,IAAA,CAAAf,CAAA,GAAAS,IAAA,MAAAI,CAAA,CAAAkE,IAAA,CAAAzF,CAAA,CAAAoB,KAAA,GAAAG,CAAA,CAAAT,MAAA,KAAAwC,CAAA,GAAAjC,CAAA,iBAAAZ,CAAA,IAAAN,CAAA,OAAAe,CAAA,GAAAT,CAAA,yBAAAY,CAAA,YAAAX,CAAA,eAAAc,CAAA,GAAAd,CAAA,cAAAwB,MAAA,CAAAV,CAAA,MAAAA,CAAA,2BAAArB,CAAA,QAAAe,CAAA,aAAAK,CAAA;AAAA,SAAAwG,gBAAAtH,CAAA,QAAAE,KAAA,CAAAC,OAAA,CAAAH,CAAA,UAAAA,CAAA;AAAA,SAAA2H,mBAAAlH,CAAA,EAAAR,CAAA,EAAAV,CAAA,EAAAS,CAAA,EAAAN,CAAA,EAAAoB,CAAA,EAAAe,CAAA,cAAAD,CAAA,GAAAnB,CAAA,CAAAK,CAAA,EAAAe,CAAA,GAAAd,CAAA,GAAAa,CAAA,CAAAjB,KAAA,WAAAF,CAAA,gBAAAlB,CAAA,CAAAkB,CAAA,KAAAmB,CAAA,CAAAlB,IAAA,GAAAT,CAAA,CAAAc,CAAA,IAAA8E,OAAA,CAAAjC,OAAA,CAAA7C,CAAA,EAAA+C,IAAA,CAAA9D,CAAA,EAAAN,CAAA;AAAA,SAAAkI,kBAAAnH,CAAA,6BAAAR,CAAA,SAAAV,CAAA,GAAA0H,SAAA,aAAApB,OAAA,WAAA7F,CAAA,EAAAN,CAAA,QAAAoB,CAAA,GAAAL,CAAA,CAAAsG,KAAA,CAAA9G,CAAA,EAAAV,CAAA,YAAAsI,MAAApH,CAAA,IAAAkH,kBAAA,CAAA7G,CAAA,EAAAd,CAAA,EAAAN,CAAA,EAAAmI,KAAA,EAAAC,MAAA,UAAArH,CAAA,cAAAqH,OAAArH,CAAA,IAAAkH,kBAAA,CAAA7G,CAAA,EAAAd,CAAA,EAAAN,CAAA,EAAAmI,KAAA,EAAAC,MAAA,WAAArH,CAAA,KAAAoH,KAAA;AAAA,SAAAE,gBAAAjH,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAI,SAAA;AAAA,SAAAmH,kBAAAzI,CAAA,EAAAS,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAD,CAAA,CAAAK,MAAA,EAAAJ,CAAA,UAAAP,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,CAAAuC,UAAA,GAAAvC,CAAA,CAAAuC,UAAA,QAAAvC,CAAA,CAAAwC,YAAA,kBAAAxC,CAAA,KAAAA,CAAA,CAAAyC,QAAA,QAAAV,MAAA,CAAAE,cAAA,CAAApC,CAAA,EAAA0I,cAAA,CAAAvI,CAAA,CAAAwI,GAAA,GAAAxI,CAAA;AAAA,SAAAyI,aAAA5I,CAAA,EAAAS,CAAA,EAAAC,CAAA,WAAAD,CAAA,IAAAgI,iBAAA,CAAAzI,CAAA,CAAAO,SAAA,EAAAE,CAAA,GAAAC,CAAA,IAAA+H,iBAAA,CAAAzI,CAAA,EAAAU,CAAA,GAAAwB,MAAA,CAAAE,cAAA,CAAApC,CAAA,iBAAA4C,QAAA,SAAA5C,CAAA;AAAA,SAAA6I,WAAAnI,CAAA,EAAAP,CAAA,EAAAH,CAAA,WAAAG,CAAA,GAAA2I,eAAA,CAAA3I,CAAA,GAAA4I,0BAAA,CAAArI,CAAA,EAAAsI,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAA/I,CAAA,EAAAH,CAAA,QAAA8I,eAAA,CAAApI,CAAA,EAAAJ,WAAA,IAAAH,CAAA,CAAAqH,KAAA,CAAA9G,CAAA,EAAAV,CAAA;AAAA,SAAA+I,2BAAArI,CAAA,EAAAV,CAAA,QAAAA,CAAA,iBAAAE,OAAA,CAAAF,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAAsB,SAAA,qEAAA6H,sBAAA,CAAAzI,CAAA;AAAA,SAAAyI,uBAAAnJ,CAAA,mBAAAA,CAAA,YAAAoJ,cAAA,sEAAApJ,CAAA;AAAA,SAAAgJ,0BAAA,cAAAtI,CAAA,IAAA2I,OAAA,CAAA9I,SAAA,CAAA+I,OAAA,CAAA7H,IAAA,CAAAwH,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAA3I,CAAA,aAAAsI,yBAAA,YAAAA,0BAAA,aAAAtI,CAAA;AAAA,SAAAoI,gBAAApI,CAAA,WAAAoI,eAAA,GAAA5G,MAAA,CAAAgE,cAAA,GAAAhE,MAAA,CAAA0B,cAAA,CAAA2F,IAAA,eAAA7I,CAAA,WAAAA,CAAA,CAAAyF,SAAA,IAAAjE,MAAA,CAAA0B,cAAA,CAAAlD,CAAA,MAAAoI,eAAA,CAAApI,CAAA;AAAA,SAAA8I,UAAA9I,CAAA,EAAAV,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAAsB,SAAA,wDAAAZ,CAAA,CAAAH,SAAA,GAAA2B,MAAA,CAAAa,MAAA,CAAA/C,CAAA,IAAAA,CAAA,CAAAO,SAAA,IAAAD,WAAA,IAAAc,KAAA,EAAAV,CAAA,EAAAkC,QAAA,MAAAD,YAAA,WAAAT,MAAA,CAAAE,cAAA,CAAA1B,CAAA,iBAAAkC,QAAA,SAAA5C,CAAA,IAAAyJ,eAAA,CAAA/I,CAAA,EAAAV,CAAA;AAAA,SAAAyJ,gBAAA/I,CAAA,EAAAV,CAAA,WAAAyJ,eAAA,GAAAvH,MAAA,CAAAgE,cAAA,GAAAhE,MAAA,CAAAgE,cAAA,CAAAqD,IAAA,eAAA7I,CAAA,EAAAV,CAAA,WAAAU,CAAA,CAAAyF,SAAA,GAAAnG,CAAA,EAAAU,CAAA,KAAA+I,eAAA,CAAA/I,CAAA,EAAAV,CAAA;AAAA,SAAA2H,gBAAA3H,CAAA,EAAAS,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAiI,cAAA,CAAAjI,CAAA,MAAAT,CAAA,GAAAkC,MAAA,CAAAE,cAAA,CAAApC,CAAA,EAAAS,CAAA,IAAAW,KAAA,EAAAV,CAAA,EAAAgC,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAA5C,CAAA,CAAAS,CAAA,IAAAC,CAAA,EAAAV,CAAA;AAAA,SAAA0I,eAAAhI,CAAA,QAAA2B,CAAA,GAAAqH,YAAA,CAAAhJ,CAAA,gCAAAR,OAAA,CAAAmC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqH,aAAAhJ,CAAA,EAAAD,CAAA,oBAAAP,OAAA,CAAAQ,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAV,CAAA,GAAAU,CAAA,CAAAN,MAAA,CAAAuJ,WAAA,kBAAA3J,CAAA,QAAAqC,CAAA,GAAArC,CAAA,CAAAyB,IAAA,CAAAf,CAAA,EAAAD,CAAA,gCAAAP,OAAA,CAAAmC,CAAA,UAAAA,CAAA,YAAAf,SAAA,yEAAAb,CAAA,GAAAmJ,MAAA,GAAAC,MAAA,EAAAnJ,CAAA;AA6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAcaoJ,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAAE,oBAAA;EAmBzB;AACF;AACA;AACA;AACA;EACE,SAAAF,eAAYG,QAAwD,EAAE;IAAA,IAAAC,KAAA;IAAA1B,eAAA,OAAAsB,cAAA;IACpEI,KAAA,GAAArB,UAAA,OAAAiB,cAAA;;IAEA;IAAAnC,eAAA,CAAAuC,KAAA,aAvBuB,CAAC;IAAAvC,eAAA,CAAAuC,KAAA;IAAAvC,eAAA,CAAAuC,KAAA;IAAAvC,eAAA,CAAAuC,KAAA;IAAAvC,eAAA,CAAAuC,KAAA;IAAAvC,eAAA,CAAAuC,KAAA,qBAMS,KAAK;IAAAvC,eAAA,CAAAuC,KAAA;IAGxC;IAAAvC,eAAA,CAAAuC,KAAA,qBACsD,IAAIC,GAAG,CAAC,CAAC;IAE/D;IAAAxC,eAAA,CAAAuC,KAAA,8BAC2D,IAAI;IAiD/D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAXEvC,eAAA,CAAAuC,KAAA,uBAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAYO,SAAAmE,QAAA;MAAA,IAAAC,KAAA,EAAAC,aAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,gBAAA,EAAAC,MAAA,EAAAC,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAqI,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAzE,IAAA,GAAAyE,QAAA,CAAAzJ,IAAA;UAAA;YAAA,IACAwI,KAAA,CAAKkB,GAAG;cAAAD,QAAA,CAAAzJ,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,mEACF,CAAC;UAAA;YAGG4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAAH,QAAA,CAAAzE,IAAA;YAG7BwD,KAAA,CAAKqB,eAAe,GAAG,IAAI;YAC3BrB,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACC,oBAAoB,CAAC;;YAEzD;YAAAP,QAAA,CAAAzJ,IAAA;YAAA,OAC0BwI,KAAA,CAAKyB,aAAa,CAAC,CAAC;UAAA;YAA1CrB,aAAa,GAAAa,QAAA,CAAAtG,IAAA;YAAA,MACbyF,aAAa,YAAY7F,KAAK;cAAA0G,QAAA,CAAAzJ,IAAA;cAAA;YAAA;YAAAyJ,QAAA,CAAAzJ,IAAA;YAAA,OAC1BwI,KAAA,CAAK0B,OAAO,CAAC,CAAC;UAAA;YAAAT,QAAA,CAAAzJ,IAAA;YAAA,OACEwI,KAAA,CAAKyB,aAAa,CAAC,CAAC;UAAA;YAA1CrB,aAAa,GAAAa,QAAA,CAAAtG,IAAA;YAAA,MAETyF,aAAa,YAAY7F,KAAK;cAAA0G,QAAA,CAAAzJ,IAAA;cAAA;YAAA;YAChCwI,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACI,kBAAkB,CAAC;YACvD3B,KAAA,CAAKqB,eAAe,GAAG,KAAK;YAAC,MACvBjB,aAAa;UAAA;YAAAa,QAAA,CAAAzJ,IAAA;YAAA,OAYb4E,OAAO,CAACwF,GAAG,CAAC,CACpB5B,KAAA,CAAK6B,UAAU,CAAC,CAAC,EACjB7B,KAAA,CAAK8B,gBAAgB,CAAC,CAAC,EACvB9B,KAAA,CAAK+B,kBAAkB,CAAC,CAAC,EACzB/B,KAAA,CAAKgC,QAAQ,CAAC,CAAC,EACfhC,KAAA,CAAKiC,aAAa,CAAC,CAAC,EACpBjC,KAAA,CAAKkC,aAAa,CAAC,CAAC,EACpBlC,KAAA,CAAKmC,gBAAgB,CAAC,CAAC,CACxB,CAAC;UAAA;YAAA9B,kBAAA,GAAAY,QAAA,CAAAtG,IAAA;YAAA2F,mBAAA,GAAA1C,cAAA,CAAAyC,kBAAA;YAfAE,UAAU,GAAAD,mBAAA;YACVE,gBAAgB,GAAAF,mBAAA;YAChBG,kBAAkB,GAAAH,mBAAA;YAClBI,UAAU,GAAAJ,mBAAA;YACVK,aAAa,GAAAL,mBAAA;YACbM,aAAa,GAAAN,mBAAA;YACbO,gBAAgB,GAAAP,mBAAA;YAWZQ,MAA0C,GAAG;cACjDsB,UAAU,EAAEhC,aAAa;cACzBiC,aAAa,EAAE7B,gBAAgB;cAC/B8B,eAAe,EAAE7B,kBAAkB;cACnC8B,KAAK,EAAE7B,UAAU;cACjB8B,UAAU,EAAE7B,aAAa;cACzB8B,OAAO,EAAElC,UAAU;cACnBmC,UAAU,EAAE9B,aAAa;cACzB+B,aAAa,EAAE9B;YACjB,CAAC;YAEKE,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,UAAAC,MAAA,CAAUjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YACvC;YAEAH,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACI,kBAAkB,EAAApE,aAAA,CAAAA,aAAA,KACjDuD,MAAM;cACTmC,YAAY,EAAEjD,KAAA,CAAKiD;YAAa,EACjC,CAAC;YACFjD,KAAA,CAAKqB,eAAe,GAAG,KAAK;YAAC,OAAAJ,QAAA,CAAAnG,MAAA,WACtBgG,MAAM;UAAA;YAAAG,QAAA,CAAAzE,IAAA;YAAAyE,QAAA,CAAAiC,EAAA,GAAAjC,QAAA;YAEbjB,KAAA,CAAKqB,eAAe,GAAG,KAAK;YAC5BrB,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACI,kBAAkB,CAAC;YAAC,MAAAV,QAAA,CAAAiC,EAAA;UAAA;UAAA;YAAA,OAAAjC,QAAA,CAAAtE,IAAA;QAAA;MAAA,GAAAuD,OAAA;IAAA,CAG3D;IAsBD;AACF;AACA;AACA;AACA;AACA;AACA;IANEzC,eAAA,CAAAuC,KAAA;MAAA,IAAAmD,KAAA,GAAAhF,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAOU,SAAAqH,SACRH,YAAqB;QAAA,IAAAI,cAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,qBAAA,EAAAC,OAAA,EAAAzC,GAAA;QAAA,OAAAnJ,mBAAA,GAAAY,IAAA,UAAAiL,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArH,IAAA,GAAAqH,SAAA,CAAArM,IAAA;YAAA;cAAA,MAEjB,CAACyL,YAAY,IAAI,CAACjD,KAAA,CAAKiD,YAAY;gBAAAY,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAAA,MAC/B,IAAI+C,KAAK,CACb,kFACF,CAAC;YAAA;cAGG8I,cAAc,GAAIJ,YAAY,IAAIjD,KAAA,CAAKiD,YAAY;cAErDK,QAAQ,GAAG,CAAC;cACZC,cAAc,GAAG,IAAI;cAAA,KAErBF,cAAc,CAACS,UAAU,CAAC,MAAM,CAAC;gBAAAD,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAAA,IAC9BwI,KAAA,CAAK4C,QAAQ,CAACmB,gBAAgB;gBAAAF,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAAA,MAC3B,IAAI+C,KAAK,CACb,+EACF,CAAC;YAAA;cAGHyF,KAAA,CAAKkB,GAAG,GAAG,IAAI8C,6BAAW,CACxBX,cAAc,EACdA,cAAc,CAACS,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C9D,KAAA,CAAK4C,QAAQ,CAACmB,gBAChB,CAAC;cAACF,SAAA,CAAArM,IAAA;cAAA,OACmBwI,KAAA,CAAKkB,GAAG,CAAC+C,YAAY,CAAC,CAAC;YAAA;cAA5CjE,KAAA,CAAKyC,OAAO,GAAAoB,SAAA,CAAAlJ,IAAA;cAAA,OAAAkJ,SAAA,CAAA/I,MAAA,WACLkF,KAAA,CAAKkB,GAAG;YAAA;cAAA,KAGVqC,cAAc;gBAAAM,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAAA,MACf8L,QAAQ,KAAK,EAAE;gBAAAO,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAAA,MACX,IAAI+C,KAAK,CACb,0EACF,CAAC;YAAA;cAAAsJ,SAAA,CAAArH,IAAA;cAIKmH,OAAO,GAAG,EAAAH,OAAA,GAAAU,MAAM,cAAAV,OAAA,uBAANA,OAAA,CAAQG,OAAO,OAAAF,QAAA,GAAIS,MAAM,cAAAT,QAAA,gBAAAA,QAAA,GAANA,QAAA,CAAQU,MAAM,cAAAV,QAAA,uBAAdA,QAAA,CAAgBE,OAAO;cAAAE,SAAA,CAAArM,IAAA;cAAA,OACxCmM,OAAO,aAAPA,OAAO,gBAAAD,qBAAA,GAAPC,OAAO,CAAGN,cAAc,CAAC,cAAAK,qBAAA,uBAAzBA,qBAAA,CAA2BU,MAAM,CAAC,CAAC;YAAA;cAA/ClD,GAAG,GAAA2C,SAAA,CAAAlJ,IAAA;cAAA,IAEJuG,GAAG;gBAAA2C,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAAA,MACA+C,KAAK;YAAA;cAGbyF,KAAA,CAAKkB,GAAG,GAAGA,GAAG;cAAC2C,SAAA,CAAArM,IAAA;cAAA,OACM0J,GAAG,CAAC+C,YAAY,CAAC,CAAC;YAAA;cAAvCjE,KAAA,CAAKyC,OAAO,GAAAoB,SAAA,CAAAlJ,IAAA;cACZ4I,cAAc,GAAG,KAAK;cAACM,SAAA,CAAArM,IAAA;cAAA;YAAA;cAAAqM,SAAA,CAAArH,IAAA;cAAAqH,SAAA,CAAAX,EAAA,GAAAW,SAAA;cAAA,MAGrB,CACE,0BAA0B,EAC1B,iCAAiC,CAClC,CAACQ,QAAQ,CAAAR,SAAA,CAAAX,EAAA,aAAAW,SAAA,CAAAX,EAAA,uBAACW,SAAA,CAAAX,EAAA,CAAcoB,OAAO,CAAC,IACjC,CAAAT,SAAA,CAAAX,EAAA,aAAAW,SAAA,CAAAX,EAAA,uBAAAW,SAAA,CAAAX,EAAA,CAAiBqB,IAAI,MAAKC,2BAAY,CAACC,OAAO;gBAAAZ,SAAA,CAAArM,IAAA;gBAAA;cAAA;cAE9C+L,cAAc,GAAG,KAAK;cAAC,OAAAM,SAAA,CAAA/I,MAAA,WAChB4J,SAAS;YAAA;cAAAb,SAAA,CAAArM,IAAA;cAAA,OAGZ,IAAI4E,OAAO,CAAC,UAACuI,GAAG;gBAAA,OAAKC,UAAU,CAACD,GAAG,EAAE,GAAG,CAAC;cAAA,EAAC;YAAA;cAChDrB,QAAQ,EAAE;YAAC;cAAAO,SAAA,CAAArM,IAAA;cAAA;YAAA;cAAA,OAAAqM,SAAA,CAAA/I,MAAA,WAIRkF,KAAA,CAAKkB,GAAG;YAAA;YAAA;cAAA,OAAA2C,SAAA,CAAAlH,IAAA;UAAA;QAAA,GAAAyG,QAAA;MAAA,CAChB;MAAA,iBAAAyB,EAAA;QAAA,OAAA1B,KAAA,CAAA7F,KAAA,OAAAE,SAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJEC,eAAA,CAAAuC,KAAA,gBAKa,YAA8B;MACzC,OAAOA,KAAA,CAAK4C,QAAQ;IACtB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANEnF,eAAA,CAAAuC,KAAA,mBAOgB,UACdD,OAAuD,EAC9C;MACT,IAAM+E,uBAAuB,GAC3B/E,OAAO,CAACgF,gBAAgB,IACxBhF,OAAO,CAACgF,gBAAgB,KAAK/E,KAAA,CAAK4C,QAAQ,CAACmC,gBAAgB;MAE7D/E,KAAA,CAAK4C,QAAQ,GAAG,IAAAoC,iBAAK,EAGnBhF,KAAA,CAAK4C,QAAQ,EAAE7C,OAAO,CAAC;;MAEzB;MACA,IAAI+E,uBAAuB,EAAE;QAAA,IAAAG,qBAAA;QAC3B,CAAAA,qBAAA,GAAAjF,KAAA,CAAKkF,wBAAwB,cAAAD,qBAAA,eAA7BA,qBAAA,CAA+BE,KAAK,CAAC,CAAC;QACtCnF,KAAA,CAAKoF,eAAe,GAAG,IAAInF,GAAG,CAAC,CAAC;;QAEhC;QACA,IAAID,KAAA,CAAKqF,mBAAmB,CAAC,CAAC,IAAI,CAACrF,KAAA,CAAKqB,eAAe,EAAE;UACvDrB,KAAA,CAAKsF,IAAI,CAAC,CAAC;QACb;MACF;IACF,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE7H,eAAA,CAAAuC,KAAA;MAAA,IAAAuF,KAAA,GAAApH,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAQgB,SAAAyJ,SACdC,SAAiB;QAAA,IAAAC,eAAA;QAAA,IAAAvF,KAAA,EAAAmD,QAAA,EAAAqC,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAhF,GAAA;QAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAqN,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzJ,IAAA,GAAAyJ,SAAA,CAAAzO,IAAA;YAAA;cAEX2I,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;cAC/BpB,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAAC2E,oBAAoB,CAAC;cAErD5C,QAAQ,GAAG,CAAC;cACZqC,eAAe,IAAAD,eAAA,GAAGxB,MAAM,CAACP,OAAO,cAAA+B,eAAA,uBAAdA,eAAA,CAAiBD,SAAS,CAAC,EAEjD;cACA,IAAI,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEpB,QAAQ,CAAC,KAAK,CAAC,GAAE;gBAC/B,CAAAuB,qBAAA,GAAA5F,KAAA,CAAKmG,mBAAmB,cAAAP,qBAAA,eAAxBA,qBAAA,CAA0BQ,cAAc,CAAC,CAAC;cAC5C;YAAC;cAAA,MAGC,OAAOT,eAAe,KAAK,WAAW,IACtC,CAACF,SAAS,CAAC3B,UAAU,CAAC,MAAM,CAAC;gBAAAmC,SAAA,CAAAzO,IAAA;gBAAA;cAAA;cAE7B,IAAIwI,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;gBACvBC,OAAO,CAACuD,IAAI,8BAAArD,MAAA,CAA8ByC,SAAS,sBAAmB,CAAC;cACzE;cAAC,MAEGnC,QAAQ,KAAK,EAAE;gBAAA2C,SAAA,CAAAzO,IAAA;gBAAA;cAAA;cAAA,OAAAyO,SAAA,CAAAnL,MAAA;YAAA;cAAAmL,SAAA,CAAAzO,IAAA;cAAA,OAIb,IAAI4E,OAAO,CAAC,UAACuI,GAAG;gBAAA,OACpBC,UAAU,CAACD,GAAG,EAAG3E,KAAA,CAAK4C,QAAQ,CAAC0D,cAAc,GAAc,EAAE,CAAC;cAAA,CAChE,CAAC;YAAA;cACDX,eAAe,IAAAE,gBAAA,GAAG3B,MAAM,CAACP,OAAO,cAAAkC,gBAAA,uBAAdA,gBAAA,CAAiBJ,SAAS,CAAC;cAC7CnC,QAAQ,EAAE;cAAC2C,SAAA,CAAAzO,IAAA;cAAA;YAAA;cAAA,MAGT,CAACmO,eAAe,IAAI,CAACF,SAAS,CAAC3B,UAAU,CAAC,MAAM,CAAC;gBAAAmC,SAAA,CAAAzO,IAAA;gBAAA;cAAA;cACnDwI,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACgF,kBAAkB,CAAC;cAAC,MAClD,IAAIhM,KAAK,8BAAAyI,MAAA,CACgByC,SAAS,6BACxC,CAAC;YAAA;cAGHzF,KAAA,CAAKiD,YAAY,GAAGwC,SAAS;cAACQ,SAAA,CAAAzO,IAAA;cAAA,OACxBwI,KAAA,CAAK0B,OAAO,CAAC+D,SAAS,CAAC;YAAA;cAAAQ,SAAA,CAAAzO,IAAA;cAAA,OACVwI,KAAA,CAAKsF,IAAI,CAAC,CAAC;YAAA;cAAxBQ,IAAI,GAAAG,SAAA,CAAAtL,IAAA;cAAA,KAENqF,KAAA,CAAK4C,QAAQ,CAAC4D,WAAW;gBAAAP,SAAA,CAAAzO,IAAA;gBAAA;cAAA;cAAA,MACvBsO,IAAI,CAACzD,aAAa,YAAY9H,KAAK;gBAAA0L,SAAA,CAAAzO,IAAA;gBAAA;cAAA;cACrCsO,IAAI,CAACzD,aAAa,CAACoE,KAAK,GACtB,4FAA4F;cAAC,MACzFX,IAAI,CAACzD,aAAa;YAAA;cAGpB0D,IAAyB,GAAG;gBAChC9C,YAAY,EAAEwC,SAAS;gBACvBiB,WAAW,EAAEZ,IAAI,CAACzD,aAAa,CAAC,CAAC;cACnC,CAAC;cAED6B,MAAM,CAACyC,YAAY,CAACC,OAAO,CACzBhH,cAAc,CAACiH,qBAAqB,EACpCC,IAAI,CAACC,SAAS,CAAChB,IAAI,CACrB,CAAC;YAAC;cAGJ/F,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACgF,kBAAkB,EAAAhJ,aAAA,CAAAA,aAAA,KACjDuI,IAAI;gBACP7C,YAAY,EAAEwC;cAAS,EACxB,CAAC;cACI1E,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;cAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;gBACvBC,OAAO,CAACC,GAAG,mBAAAC,MAAA,CAAmBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;cAChD;cAAC,OAAA8F,SAAA,CAAAnL,MAAA,WAEMgL,IAAI;YAAA;YAAA;cAAA,OAAAG,SAAA,CAAAtJ,IAAA;UAAA;QAAA,GAAA6I,QAAA;MAAA,CACZ;MAAA,iBAAAwB,GAAA;QAAA,OAAAzB,KAAA,CAAAjI,KAAA,OAAAE,SAAA;MAAA;IAAA;IAAAC,eAAA,CAAAuC,KAAA,mCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAEkB,SAAAkL,SAAA;MAAA,IAAA9G,KAAA,EAAA+G,eAAA,EAAAnG,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAwO,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA5K,IAAA,GAAA4K,SAAA,CAAA5P,IAAA;UAAA;YACX2I,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAA,IAC1BpB,KAAA,CAAKmG,mBAAmB;cAAAiB,SAAA,CAAA5P,IAAA;cAAA;YAAA;YAAA4P,SAAA,CAAA5P,IAAA;YAAA,OACG,IAAA6P,uBAAc,EAAC,CAAC;UAAA;YAAxCH,eAAe,GAAAE,SAAA,CAAAzM,IAAA;YACrBqF,KAAA,CAAKmG,mBAAmB,GAAG,IAAIe,eAAe,CAC5ClH,KAAA,CAAK4C,QAAQ,CAAC0E,eAChB,CAAC;UAAC;YAGEvG,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,sBAAAC,MAAA,CAAsBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YACnD;YAAC,OAAAiH,SAAA,CAAAtM,MAAA,WAEM;cACLgB,IAAI,EAAEkE,KAAA,CAAK4C,QAAQ,CAAC0E,eAAe,CAACC,QAAQ,CAACzL,IAAI;cACjD0L,IAAI,EAAExH,KAAA,CAAKmG,mBAAmB,CAACsB,YAAY,CAAC,CAAC;cAC7CC,QAAQ,EAAE1H,KAAA,CAAKmG;YACjB,CAAC;UAAA;UAAA;YAAA,OAAAiB,SAAA,CAAAzK,IAAA;QAAA;MAAA,GAAAsK,QAAA;IAAA,CACF;IAED;AACF;AACA;AACA;AACA;IAJExJ,eAAA,CAAAuC,KAAA,4BAKyB;MAAA,OACvBA,KAAA,CAAKoF,eAAe;IAAA;IAEtB;AACF;AACA;AACA;AACA;AACA;IALE3H,eAAA,CAAAuC,KAAA,iCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAMiB,SAAA4L,SAAA;MAAA,IAAAC,sBAAA;MAAA,OAAA7P,mBAAA,GAAAY,IAAA,UAAAkP,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAtL,IAAA,GAAAsL,SAAA,CAAAtQ,IAAA;UAAA;YACf;YACA,CAAAoQ,sBAAA,GAAA5H,KAAA,CAAKkF,wBAAwB,cAAA0C,sBAAA,eAA7BA,sBAAA,CAA+BzC,KAAK,CAAC,CAAC;YACtC;YACAnF,KAAA,CAAKoF,eAAe,GAAG,IAAInF,GAAG,CAAC,CAAC;;YAEhC;YAAA,KACID,KAAA,CAAKqF,mBAAmB,CAAC,CAAC;cAAAyC,SAAA,CAAAtQ,IAAA;cAAA;YAAA;YAAAsQ,SAAA,CAAAtQ,IAAA;YAAA,OACtBwI,KAAA,CAAKsF,IAAI,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAwC,SAAA,CAAAnL,IAAA;QAAA;MAAA,GAAAgL,QAAA;IAAA,CAEpB;IAED;AACF;AACA;AACA;AACA;IAJElK,eAAA,CAAAuC,KAAA,gBAKa,YAAY;MACvBA,KAAA,CAAKiD,YAAY,GAAGyB,SAAS;MAC7B1E,KAAA,CAAKkB,GAAG,GAAGwD,SAAS;MACpBR,MAAM,CAACyC,YAAY,CAACoB,UAAU,CAACnI,cAAc,CAACiH,qBAAqB,CAAC;MACpE7G,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACyG,UAAU,CAAC;IACjD,CAAC;IAED;AACF;AACA;AACA;AACA;IAJEvK,eAAA,CAAAuC,KAAA,mCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKmB,SAAAkM,SAAA;MAAA,IAAA9H,KAAA,EAAA+H,mBAAA,EAAAC,mBAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,IAAA,EAAAxC,IAAA,EAAA/E,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAA4P,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAhM,IAAA,GAAAgM,SAAA,CAAAhR,IAAA;UAAA;YAAA,IACZwI,KAAA,CAAKkB,GAAG;cAAAsH,SAAA,CAAAhR,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,4DACF,CAAC;UAAA;YAGG4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAAoH,SAAA,CAAAhR,IAAA;YAAA,OAEO4E,OAAO,CAACwF,GAAG,CAAC,CAChD,IAAA6G,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAR,mBAAA,GAAAM,SAAA,CAAA7N,IAAA;YAAAwN,mBAAA,GAAAvK,cAAA,CAAAsK,mBAAA;YAHOE,OAAO,GAAAD,mBAAA,IAAPC,OAAO;YAAIC,QAAQ,GAAAF,mBAAA;YAAAK,SAAA,CAAAhM,IAAA;YAAAgM,SAAA,CAAAhR,IAAA;YAAA,OAObwI,KAAA,CAAKkB,GAAG,CAACiB,gBAAgB,CAAC,CAAC;UAAA;YAAxCmG,IAAI,GAAAE,SAAA,CAAA7N,IAAA;YAAA6N,SAAA,CAAAhR,IAAA;YAAA;UAAA;YAAAgR,SAAA,CAAAhM,IAAA;YAAAgM,SAAA,CAAAtF,EAAA,GAAAsF,SAAA;YAAA,OAAAA,SAAA,CAAA1N,MAAA,WAAA0N,SAAA,CAAAtF,EAAA;UAAA;YAKA4C,IAAI,GAAGsC,OAAO,CAACO,OAAO,CAACC,SAAS,CAACP,QAAQ,CAACC,IAAI,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;YAE3D9H,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,sBAAAC,MAAA,CAAsBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YACnD;YAAC,OAAAqI,SAAA,CAAA1N,MAAA,WACMgL,IAAI;UAAA;UAAA;YAAA,OAAA0C,SAAA,CAAA7L,IAAA;QAAA;MAAA,GAAAsL,QAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJExK,eAAA,CAAAuC,KAAA,gCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKgB,SAAA+M,SAAA;MAAA,IAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,iBAAA;MAAA,IAAA/I,KAAA,EAAAgJ,mBAAA,EAAAC,mBAAA,EAAAC,aAAA,EAAAhB,QAAA,EAAAC,IAAA,EAAAxC,IAAA,EAAAwD,cAAA,EAAAC,QAAA,EAAAnH,UAAA,EAAAoH,iBAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,EAAA,EAAAC,MAAA,EAAA9I,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAmR,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAvN,IAAA,GAAAuN,SAAA,CAAAvS,IAAA;UAAA;YAAA,IAGTwI,KAAA,CAAKkB,GAAG;cAAA6I,SAAA,CAAAvS,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,qDAAqD,CAAC;UAAA;YAGlE4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAE/BpB,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACyI,qBAAqB,CAAC;YAACD,SAAA,CAAAvS,IAAA;YAAA,OACf4E,OAAO,CAACwF,GAAG,CAAC,CACtD,IAAA6G,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAS,mBAAA,GAAAY,SAAA,CAAApP,IAAA;YAAAyO,mBAAA,GAAAxL,cAAA,CAAAuL,mBAAA;YAHOE,aAAa,GAAAD,mBAAA,IAAbC,aAAa;YAAIhB,QAAQ,GAAAe,mBAAA;YAAAW,SAAA,CAAAvN,IAAA;YAAAuN,SAAA,CAAAvS,IAAA;YAAA,OAOnBwI,KAAA,CAAKkB,GAAG,CAAC+I,UAAU,CAAC,CAAC;UAAA;YAAlC3B,IAAI,GAAAyB,SAAA,CAAApP,IAAA;YAAAoP,SAAA,CAAAvS,IAAA;YAAA;UAAA;YAAAuS,SAAA,CAAAvN,IAAA;YAAAuN,SAAA,CAAA7G,EAAA,GAAA6G,SAAA;YAAA,OAAAA,SAAA,CAAAjP,MAAA,WAAAiP,SAAA,CAAA7G,EAAA;UAAA;YAIA4C,IAAI,GAAGuD,aAAa,CAACa,KAAK,CAACC,QAAQ,CAAC9B,QAAQ,CAACC,IAAI,CAAC,CAAC;YACnDgB,cAAc,IAAAP,qBAAA,IAAAC,gBAAA,GAAGlD,IAAI,CAACsE,UAAU,CAAC,CAAC,cAAApB,gBAAA,uBAAjBA,gBAAA,CAAmB3M,IAAI,CAAC,CAAC,cAAA0M,qBAAA,cAAAA,qBAAA,GAAI,EAAE;YAAAgB,SAAA,CAAAvS,IAAA;YAAA,OAE/BwI,KAAA,CAAKqK,2BAA2B,EACrDC,uBAAY,EAAAtH,MAAA,CAAAvL,kBAAA,CACT6R,cAAc,EAClB,CAAC;UAAA;YAHIC,QAAQ,GAAAQ,SAAA,CAAApP,IAAA;YAKRyH,UAAU,GAAG,IAAImI,uCAAgB,CAAAvK,KAAoB,CAAC;YAC5DoC,UAAU,CAACoI,GAAG,CACZF,uBAAY,EACZ,IAAIG,kBAAW,CAAC3E,IAAI,CAAC4E,IAAI,CAAC,CAAC,EAAEnB,QAAQ,CAACoB,GAAG,CAACL,uBAAY,CAAC,CACzD,CAAC;YAEKd,iBAAiB,IAAAP,qBAAA,IAAAC,iBAAA,GAAGpD,IAAI,CAACsE,UAAU,CAAC,CAAC,cAAAlB,iBAAA,uBAAjBA,iBAAA,CAAmB0B,OAAO,CAAC,CAAC,cAAA3B,qBAAA,cAAAA,qBAAA,GAAI,EAAE;YAC5D,IAAIO,iBAAiB,EAAE;cAAAC,SAAA,GAAAnT,0BAAA,CACMkT,iBAAiB;cAAA;gBAA5C,KAAAC,SAAA,CAAA1S,CAAA,MAAA2S,KAAA,GAAAD,SAAA,CAAAzS,CAAA,IAAAC,IAAA,GAA8C;kBAAA0S,WAAA,GAAA/L,cAAA,CAAA8L,KAAA,CAAAxS,KAAA,MAAlC0S,EAAE,GAAAD,WAAA,KAAEE,MAAM,GAAAF,WAAA;kBACpBvH,UAAU,CAACoI,GAAG,CACZ,IAAAK,+BAAuB,EAACjB,EAAE,CAAC,EAC3B,IAAIa,kBAAW,CAACZ,MAAM,EAAEN,QAAQ,CAACoB,GAAG,CAAC,IAAAE,+BAAuB,EAACjB,EAAE,CAAC,CAAC,CACnE,CAAC;gBACH;cAAC,SAAAkB,GAAA;gBAAArB,SAAA,CAAA3T,CAAA,CAAAgV,GAAA;cAAA;gBAAArB,SAAA,CAAAtS,CAAA;cAAA;YACH;YAEA6I,KAAA,CAAKsB,QAAQ,CAACC,6BAAqB,CAACwJ,mBAAmB,EAAE;cACvD3I,UAAU,EAAVA;YACF,CAAC,CAAC;YAEIrB,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,mBAAAC,MAAA,CAAmBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YAChD;YAAC,OAAA4J,SAAA,CAAAjP,MAAA,WAEMsH,UAAU;UAAA;UAAA;YAAA,OAAA2H,SAAA,CAAApN,IAAA;QAAA;MAAA,GAAAmM,QAAA;IAAA,CAClB;IAED;AACF;AACA;AACA;AACA;IAJErL,eAAA,CAAAuC,KAAA,6BAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKa,SAAAiP,SAAA;MAAA,IAAA7K,KAAA,EAAA8K,GAAA,EAAAlK,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAuS,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA3O,IAAA,GAAA2O,SAAA,CAAA3T,IAAA;UAAA;YAAA,IACNwI,KAAA,CAAKkB,GAAG;cAAAiK,SAAA,CAAA3T,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,qDAAqD,CAAC;UAAA;YAGlE4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAA+J,SAAA,CAAA3O,IAAA;YAAA2O,SAAA,CAAA3T,IAAA;YAAA,OAIjBwI,KAAA,CAAKkB,GAAG,CAAC+C,YAAY,CAAC,CAAC;UAAA;YAAnCgH,GAAG,GAAAE,SAAA,CAAAxQ,IAAA;YAAAwQ,SAAA,CAAA3T,IAAA;YAAA;UAAA;YAAA2T,SAAA,CAAA3O,IAAA;YAAA2O,SAAA,CAAAjI,EAAA,GAAAiI,SAAA;YAAA,OAAAA,SAAA,CAAArQ,MAAA,WAAAqQ,SAAA,CAAAjI,EAAA;UAAA;YAKLlD,KAAA,CAAKyC,OAAO,GAAGwI,GAAG;YACZlK,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,gBAAAC,MAAA,CAAgBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YAC7C;YAAC,OAAAgL,SAAA,CAAArQ,MAAA,WACMmQ,GAAG;UAAA;UAAA;YAAA,OAAAE,SAAA,CAAAxO,IAAA;QAAA;MAAA,GAAAqO,QAAA;IAAA,CACX;IAED;AACF;AACA;AACA;AACA;IAJEvN,eAAA,CAAAuC,KAAA,mCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKmB,SAAAqP,SAAA;MAAA,IAAAjL,KAAA,EAAAkL,mBAAA,EAAAC,mBAAA,EAAAlD,OAAA,EAAAC,QAAA,EAAAC,IAAA,EAAAxC,IAAA,EAAA/E,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAA4S,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAhP,IAAA,GAAAgP,SAAA,CAAAhU,IAAA;UAAA;YAAA,IACZwI,KAAA,CAAKkB,GAAG;cAAAsK,SAAA,CAAAhU,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,4DACF,CAAC;UAAA;YAGG4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAAoK,SAAA,CAAAhU,IAAA;YAAA,OAEO4E,OAAO,CAACwF,GAAG,CAAC,CAChD,IAAA6G,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAA2C,mBAAA,GAAAG,SAAA,CAAA7Q,IAAA;YAAA2Q,mBAAA,GAAA1N,cAAA,CAAAyN,mBAAA;YAHOjD,OAAO,GAAAkD,mBAAA,IAAPlD,OAAO;YAAIC,QAAQ,GAAAiD,mBAAA;YAAAE,SAAA,CAAAhP,IAAA;YAAAgP,SAAA,CAAAhU,IAAA;YAAA,OAObwI,KAAA,CAAKkB,GAAG,CAACY,gBAAgB,CAAC,CAAC;UAAA;YAAxCwG,IAAI,GAAAkD,SAAA,CAAA7Q,IAAA;YAAA6Q,SAAA,CAAAhU,IAAA;YAAA;UAAA;YAAAgU,SAAA,CAAAhP,IAAA;YAAAgP,SAAA,CAAAtI,EAAA,GAAAsI,SAAA;YAAA,OAAAA,SAAA,CAAA1Q,MAAA,WAAA0Q,SAAA,CAAAtI,EAAA;UAAA;YAKA4C,IAAI,GAAGwC,IAAI,CAACmD,GAAG,CAAC,UAACR,GAAG;cAAA,OACxB7C,OAAO,CAACO,OAAO,CAACC,SAAS,CAACP,QAAQ,CAAC4C,GAAG,CAAC,CAAC,CAACpC,QAAQ,CAAC,CAAC;YAAA,CACrD,CAAC;YAEK9H,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,sBAAAC,MAAA,CAAsBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YACnD;YAAC,OAAAqL,SAAA,CAAA1Q,MAAA,WACMgL,IAAI;UAAA;UAAA;YAAA,OAAA0F,SAAA,CAAA7O,IAAA;QAAA;MAAA,GAAAyO,QAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJE3N,eAAA,CAAAuC,KAAA,qCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKqB,SAAA2P,UAAA;MAAA,IAAAvL,KAAA,EAAAwL,mBAAA,EAAAC,oBAAA,EAAAxD,OAAA,EAAAC,QAAA,EAAAC,IAAA,EAAAxC,IAAA,EAAA/E,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAkT,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAAtP,IAAA,GAAAsP,UAAA,CAAAtU,IAAA;UAAA;YAAA,IACdwI,KAAA,CAAKkB,GAAG;cAAA4K,UAAA,CAAAtU,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,8DACF,CAAC;UAAA;YAGG4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAA0K,UAAA,CAAAtU,IAAA;YAAA,OAEO4E,OAAO,CAACwF,GAAG,CAAC,CAChD,IAAA6G,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAiD,mBAAA,GAAAG,UAAA,CAAAnR,IAAA;YAAAiR,oBAAA,GAAAhO,cAAA,CAAA+N,mBAAA;YAHOvD,OAAO,GAAAwD,oBAAA,IAAPxD,OAAO;YAAIC,QAAQ,GAAAuD,oBAAA;YAAAE,UAAA,CAAAtP,IAAA;YAAAsP,UAAA,CAAAtU,IAAA;YAAA,OAObwI,KAAA,CAAKkB,GAAG,CAACa,kBAAkB,CAAC,CAAC;UAAA;YAA1CuG,IAAI,GAAAwD,UAAA,CAAAnR,IAAA;YAAAmR,UAAA,CAAAtU,IAAA;YAAA;UAAA;YAAAsU,UAAA,CAAAtP,IAAA;YAAAsP,UAAA,CAAA5I,EAAA,GAAA4I,UAAA;YAAA,OAAAA,UAAA,CAAAhR,MAAA,WAAAgR,UAAA,CAAA5I,EAAA;UAAA;YAKA4C,IAAI,GAAGwC,IAAI,CAACmD,GAAG,CAAC,UAACR,GAAG;cAAA,OACxB7C,OAAO,CAACO,OAAO,CAACC,SAAS,CAACP,QAAQ,CAAC4C,GAAG,CAAC,CAAC,CAACpC,QAAQ,CAAC,CAAC;YAAA,CACrD,CAAC;YAEK9H,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,wBAAAC,MAAA,CAAwBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YACrD;YAAC,OAAA2L,UAAA,CAAAhR,MAAA,WACMgL,IAAI;UAAA;UAAA;YAAA,OAAAgG,UAAA,CAAAnP,IAAA;QAAA;MAAA,GAAA+O,SAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJEjO,eAAA,CAAAuC,KAAA,2BAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKW,SAAAgQ,UAAA;MAAA,IAAAC,KAAA;MAAA,IAAA7L,KAAA,EAAA8L,oBAAA,EAAAC,oBAAA,EAAA7C,aAAA,EAAAhB,QAAA,EAAAC,IAAA,EAAAxC,IAAA,EAAA/E,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAwT,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA5P,IAAA,GAAA4P,UAAA,CAAA5U,IAAA;UAAA;YAAA,IAGJwI,KAAA,CAAKkB,GAAG;cAAAkL,UAAA,CAAA5U,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,mDAAmD,CAAC;UAAA;YAGhE4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAAgL,UAAA,CAAA5U,IAAA;YAAA,OAEa4E,OAAO,CAACwF,GAAG,CAAC,CACtD,IAAA6G,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAuD,oBAAA,GAAAG,UAAA,CAAAzR,IAAA;YAAAuR,oBAAA,GAAAtO,cAAA,CAAAqO,oBAAA;YAHO5C,aAAa,GAAA6C,oBAAA,IAAb7C,aAAa;YAAIhB,QAAQ,GAAA6D,oBAAA;YAAAE,UAAA,CAAA5P,IAAA;YAAA4P,UAAA,CAAA5U,IAAA;YAAA,OAOnBwI,KAAA,CAAKkB,GAAG,CAACc,QAAQ,CAAC,CAAC;UAAA;YAAhCsG,IAAI,GAAA8D,UAAA,CAAAzR,IAAA;YAAAyR,UAAA,CAAA5U,IAAA;YAAA;UAAA;YAAA4U,UAAA,CAAA5P,IAAA;YAAA4P,UAAA,CAAAlJ,EAAA,GAAAkJ,UAAA;YAAA,OAAAA,UAAA,CAAAtR,MAAA,WAAAsR,UAAA,CAAAlJ,EAAA;UAAA;YAKA4C,IAAI,IAAAkG,KAAA,GAAG1D,IAAI,cAAA0D,KAAA,uBAAJA,KAAA,CAAMP,GAAG,CAAC,UAACR,GAAG,EAAK;cAC9B,IAAMoB,QAAQ,GAAGhD,aAAa,CAACiD,wBAAwB,CAACnC,QAAQ,CAC9D9B,QAAQ,CAAC4C,GAAG,CACd,CAAC;;cAED;cACAoB,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAAClN,IAAI,CAACgN,QAAQ,CAAC;cAC9CA,QAAQ,CAACG,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAACnN,IAAI,CAACgN,QAAQ,CAAC;cAChD,OAAOA,QAAQ;YACjB,CAAC,CAAC;YAEItL,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,cAAAC,MAAA,CAAcjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YAC3C;YAAC,OAAAiM,UAAA,CAAAtR,MAAA,WACMgL,IAAI;UAAA;UAAA;YAAA,OAAAsG,UAAA,CAAAzP,IAAA;QAAA;MAAA,GAAAoP,SAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;IAJEtO,eAAA,CAAAuC,KAAA,gCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKgB,SAAA0Q,UAAA;MAAA,IAAAtM,KAAA,EAAAuM,gBAAA,EAAAC,OAAA,EAAA5L,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAiU,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAArQ,IAAA,GAAAqQ,UAAA,CAAArV,IAAA;UAAA;YAAA,IACTwI,KAAA,CAAKkB,GAAG;cAAA2L,UAAA,CAAArV,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CACb,yDACF,CAAC;UAAA;YAGG4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAAyL,UAAA,CAAArQ,IAAA;YAEvBmQ,OAAO,IAAAD,gBAAA,GACXxI,MAAM,CAACP,OAAO,cAAA+I,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAiB1M,KAAA,CAAKiD,YAAY,CAAE,cAAAyJ,gBAAA,gBAAAA,gBAAA,GAApCA,gBAAA,CAAsCI,YAAY,cAAAJ,gBAAA,uBAAlDA,gBAAA,CAAoDhK,UAAU;YAC1D3B,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAE7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,mBAAAC,MAAA,CAAmBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YAChD;YAAC,OAAA0M,UAAA,CAAA/R,MAAA,WAEM6R,OAAO;UAAA;YAAAE,UAAA,CAAArQ,IAAA;YAAAqQ,UAAA,CAAA3J,EAAA,GAAA2J,UAAA;YAAA,OAAAA,UAAA,CAAA/R,MAAA,WAAA+R,UAAA,CAAA3J,EAAA;UAAA;UAAA;YAAA,OAAA2J,UAAA,CAAAlQ,IAAA;QAAA;MAAA,GAAA8P,SAAA;IAAA,CAIjB;IAED;AACF;AACA;AACA;AACA;IAJEhP,eAAA,CAAAuC,KAAA,gCAAA7B,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKgB,SAAAgR,UAAA;MAAA,IAAAC,MAAA;MAAA,IAAA7M,KAAA,EAAA8M,oBAAA,EAAAC,oBAAA,EAAA7D,aAAA,EAAAhB,QAAA,EAAAC,IAAA,EAAA6E,SAAA,EAAAC,UAAA,EAAAC,QAAA,EAAAvH,IAAA,EAAA/E,GAAA;MAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAA2U,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA/Q,IAAA,GAAA+Q,UAAA,CAAA/V,IAAA;UAAA;YAAA,IAGTwI,KAAA,CAAKkB,GAAG;cAAAqM,UAAA,CAAA/V,IAAA;cAAA;YAAA;YAAA,MACL,IAAI+C,KAAK,CAAC,mDAAmD,CAAC;UAAA;YAGhE4F,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;YAAAmM,UAAA,CAAA/V,IAAA;YAAA,OAEa4E,OAAO,CAACwF,GAAG,CAAC,CACtD,IAAA6G,uBAAc,EAAC,CAAC,EAChB,IAAAC,uBAAc,EAAC,CAAC,CACjB,CAAC;UAAA;YAAAuE,oBAAA,GAAAM,UAAA,CAAA5S,IAAA;YAAAuS,oBAAA,GAAAtP,cAAA,CAAAqP,oBAAA;YAHO5D,aAAa,GAAA6D,oBAAA,IAAb7D,aAAa;YAAIhB,QAAQ,GAAA6E,oBAAA;YAAAK,UAAA,CAAA/Q,IAAA;YAO1B6Q,QAAQ,GACZ,EAAAF,SAAA,GAAAnN,KAAA,CAAKkB,GAAG,cAAAiM,SAAA,uBAARA,SAAA,CAAUlL,aAAa,OAAAmL,UAAA,GACtBpN,KAAA,CAAKkB,GAAG,cAAAkM,UAAA,uBAARA,UAAA,CAAUN,YAAY,CAAC7K,aAAa,CAAkB;YAAA,MACrD,OAAOoL,QAAQ,KAAK,UAAU;cAAAE,UAAA,CAAA/V,IAAA;cAAA;YAAA;YAChC8Q,IAAI,GAAG,EAAE;YAACiF,UAAA,CAAA/V,IAAA;YAAA;UAAA;YAAA+V,UAAA,CAAA/V,IAAA;YAAA,OAEG6V,QAAQ,CAAC,CAAC;UAAA;YAAvB/E,IAAI,GAAAiF,UAAA,CAAA5S,IAAA;UAAA;YAAA4S,UAAA,CAAA/V,IAAA;YAAA;UAAA;YAAA+V,UAAA,CAAA/Q,IAAA;YAAA+Q,UAAA,CAAArK,EAAA,GAAAqK,UAAA;YAAA,OAAAA,UAAA,CAAAzS,MAAA,WAAAyS,UAAA,CAAArK,EAAA;UAAA;YAMF4C,IAAI,IAAAkH,MAAA,GAAG1E,IAAI,cAAA0E,MAAA,uBAAJA,MAAA,CAAMvB,GAAG,CAAC,UAACR,GAAG,EAAK;cAC9B,IAAMoB,QAAQ,GAAGhD,aAAa,CAACiD,wBAAwB,CAACnC,QAAQ,CAC9D9B,QAAQ,CAAC4C,GAAG,CACd,CAAC;;cAED;cACAoB,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAAClN,IAAI,CAACgN,QAAQ,CAAC;cAC9CA,QAAQ,CAACG,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAACnN,IAAI,CAACgN,QAAQ,CAAC;cAChD,OAAOA,QAAQ;YACjB,CAAC,CAAC;YAEItL,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;YAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;cACvBC,OAAO,CAACC,GAAG,mBAAAC,MAAA,CAAmBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;YAChD;YAAC,OAAAoN,UAAA,CAAAzS,MAAA,WACMgL,IAAI;UAAA;UAAA;YAAA,OAAAyH,UAAA,CAAA5Q,IAAA;QAAA;MAAA,GAAAoQ,SAAA;IAAA,CACZ;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPEtP,eAAA,CAAAuC,KAAA;MAAA,IAAAwN,MAAA,GAAArP,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAQsC,SAAA0R,UACpCC,QAAkB;QAAA,IAAAC,sBAAA;QAAA,IAAAxN,KAAA,EAAAyN,UAAA,EAAAC,SAAA,EAAAC,IAAA,EAAAC,iBAAA,EAAAzK,QAAA,EAAA0K,WAAA,EAAAjN,GAAA;QAAA,OAAAhJ,mBAAA,GAAAY,IAAA,UAAAsV,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA1R,IAAA,GAAA0R,UAAA,CAAA1W,IAAA;YAAA;cAEZ2I,KAAK,GAAGgB,WAAW,CAACC,GAAG,CAAC,CAAC;cAAA,KAE3BpB,KAAA,CAAKoF,eAAe;gBAAA8I,UAAA,CAAA1W,IAAA;gBAAA;cAAA;cAChBoW,UAAU,GAAG,IAAIO,GAAG,CAACnO,KAAA,CAAKoF,eAAe,CAAC/I,IAAI,CAAC,CAAC,CAAC;cACjDwR,SAAS,GAAG,IAAIM,GAAG,CAACT,QAAQ,CAAC;cAAA,MAGjCE,UAAU,CAACQ,IAAI,KAAKP,SAAS,CAACO,IAAI,IAClC3W,kBAAA,CAAImW,UAAU,EAAES,KAAK,CAAC,UAAC5P,GAAG;gBAAA,OAAKoP,SAAS,CAACS,GAAG,CAAC7P,GAAG,CAAC;cAAA,EAAC;gBAAAyP,UAAA,CAAA1W,IAAA;gBAAA;cAAA;cAE5CuJ,IAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;cAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;gBACvBC,OAAO,CAACC,GAAG,+BAAAC,MAAA,CAA+BjC,IAAG,GAAGZ,KAAK,OAAI,CAAC;cAC5D;cAAC,OAAA+N,UAAA,CAAApT,MAAA,WACMkF,KAAA,CAAKoF,eAAe;YAAA;cAI/B;cACA,CAAAuI,sBAAA,GAAA3N,KAAA,CAAKkF,wBAAwB,cAAAyI,sBAAA,eAA7BA,sBAAA,CAA+BxI,KAAK,CAAC,CAAC;cACtCnF,KAAA,CAAKkF,wBAAwB,GAAG,IAAIqJ,eAAe,CAAC,CAAC;cAC/CR,iBAAiB,GAAG/N,KAAA,CAAKkF,wBAAwB;cAEnD5B,QAAQ,GAAG,CAAC;YAAA;cAAA,MAETA,QAAQ,IAAI,CAAC,IAAI,CAAC0K,WAAW;gBAAAE,UAAA,CAAA1W,IAAA;gBAAA;cAAA;cAAA0W,UAAA,CAAA1R,IAAA;cAAA0R,UAAA,CAAA1W,IAAA;cAAA,OAEZwI,KAAA,CAAK4C,QAAQ,CAACmC,gBAAgB,CAAC;gBACjD2I,QAAQ,EAAEA,QAAQ,CAACjC,GAAG,CAACZ,+BAAuB,CAAC;gBAC/C2D,gBAAgB,EAAE3D,+BAAuB;gBACzC4D,UAAU,EAAVA;cACF,CAAC,CAAC;YAAA;cAJFT,WAAW,GAAAE,UAAA,CAAAvT,IAAA;cAAAuT,UAAA,CAAA1W,IAAA;cAAA;YAAA;cAAA0W,UAAA,CAAA1R,IAAA;cAAA0R,UAAA,CAAAhL,EAAA,GAAAgL,UAAA;cAMX5K,QAAQ,EAAE;YAAC;cAAA4K,UAAA,CAAA1W,IAAA;cAAA;YAAA;cAAA,KAKXuW,iBAAiB,CAACW,MAAM,CAACC,OAAO;gBAAAT,UAAA,CAAA1W,IAAA;gBAAA;cAAA;cAAA,OAAA0W,UAAA,CAAApT,MAAA,WAC3BkF,KAAA,CAAKoF,eAAe;YAAA;cAAA,IAGxB4I,WAAW;gBAAAE,UAAA,CAAA1W,IAAA;gBAAA;cAAA;cAAA0W,UAAA,CAAA1W,IAAA;cAAA,OACMwI,KAAA,CAAK4O,wBAAwB,CAAC;gBAChDlB,QAAQ,EAAEA,QAAQ,CAACjC,GAAG,CAACZ,+BAAuB,CAAC;gBAC/C2D,gBAAgB,EAAE3D,+BAAuB;gBACzC4D,UAAU,EAAVA;cACF,CAAC,CAAC;YAAA;cAJFT,WAAW,GAAAE,UAAA,CAAAvT,IAAA;YAAA;cAAA,KAQToT,iBAAiB,CAACW,MAAM,CAACC,OAAO;gBAAAT,UAAA,CAAA1W,IAAA;gBAAA;cAAA;cAAA,OAAA0W,UAAA,CAAApT,MAAA,WAC3BkF,KAAA,CAAKoF,eAAe;YAAA;cAG7BpF,KAAA,CAAKoF,eAAe,GAAG4I,WAAW;cAE5BjN,GAAG,GAAGI,WAAW,CAACC,GAAG,CAAC,CAAC;cAC7B,IAAIpB,KAAA,CAAK4C,QAAQ,CAACC,KAAK,EAAE;gBACvBC,OAAO,CAACC,GAAG,sBAAAC,MAAA,CAAsBjC,GAAG,GAAGZ,KAAK,OAAI,CAAC;cACnD;cAAC,OAAA+N,UAAA,CAAApT,MAAA,WACMkT,WAAW;YAAA;YAAA;cAAA,OAAAE,UAAA,CAAAvR,IAAA;UAAA;QAAA,GAAA8Q,SAAA;MAAA,CACnB;MAAA,iBAAAoB,GAAA;QAAA,OAAArB,MAAA,CAAAlQ,KAAA,OAAAE,SAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJEC,eAAA,CAAAuC,KAAA;MAAA,IAAA8O,MAAA,GAAA3Q,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAME,SAAAgT,UAAAC,MAAA;QAAA,IAAAtB,QAAA,EAAAjC,GAAA;QAAA,OAAA1T,mBAAA,GAAAY,IAAA,UAAAsW,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA1S,IAAA,GAAA0S,UAAA,CAAA1X,IAAA;YAAA;cAASkW,QAAQ,GAAAsB,MAAA,CAARtB,QAAQ;cACTjC,GAAG,GAAG,IAAIxL,GAAG,CAAwB,CAAC;cAC5CyN,QAAQ,CAAC3T,OAAO,CAAC,UAAC6P,EAAE;gBAAA,OAClB6B,GAAG,CAACjB,GAAG,CAAC,IAAAK,+BAAuB,EAACjB,EAAE,CAAC,EAAE;kBACnCuF,OAAO,EAAE,IAAAtE,+BAAuB,EAACjB,EAAE,CAAC;kBACpCwF,QAAQ,EAAE;gBACZ,CAAkB,CAAC;cAAA,CACrB,CAAC;cAAC,OAAAF,UAAA,CAAApU,MAAA,WAEK2Q,GAAG;YAAA;YAAA;cAAA,OAAAyD,UAAA,CAAAvS,IAAA;UAAA;QAAA,GAAAoS,SAAA;MAAA,CACX;MAAA,iBAAAM,GAAA;QAAA,OAAAP,MAAA,CAAAxR,KAAA,OAAAE,SAAA;MAAA;IAAA;IA3yBDwC,KAAA,CAAK4C,QAAQ,GAAG,IAAAoC,iBAAK,EACnB;MACED,gBAAgB,EAAE/E,KAAA,CAAK4O,wBAAwB;MAC/CpI,WAAW,EAAE,KAAK;MAClBF,cAAc,EAAE,KAAK;MACrBzD,KAAK,EAAE,KAAK;MACZyE,eAAe,EAAE;QACfC,QAAQ,EAAE;UACRzL,IAAI,EAAE,iCAAiC;UACvCwT,GAAG,EAAEpL,MAAM,CAACqL,QAAQ,CAACC;QACvB,CAAC;QACDC,UAAU,EAAE,SAAAA,WAAC3T,IAAI,EAAE6Q,OAAO,EAAK;UAAA,IAAA+C,qBAAA,EAAAC,sBAAA;UAC7B5P,QAAO,aAAPA,QAAO,gBAAA2P,qBAAA,GAAP3P,QAAO,CAAEuH,eAAe,cAAAoI,qBAAA,gBAAAC,sBAAA,GAAxBD,qBAAA,CAA0BD,UAAU,cAAAE,sBAAA,eAApCA,sBAAA,CAAApY,IAAA,CAAAmY,qBAAA,EAAuC5T,IAAI,EAAE6Q,OAAO,CAAC;UACrD3M,KAAA,CAAK4P,UAAU,CAAC,CAAC;QACnB,CAAC;QACDC,WAAW,EAAE,SAAAA,YAAC/T,IAAI,EAAE6Q,OAAO,EAAK;UAAA,IAAAmD,sBAAA,EAAAC,sBAAA;UAC9BhQ,QAAO,aAAPA,QAAO,gBAAA+P,sBAAA,GAAP/P,QAAO,CAAEuH,eAAe,cAAAwI,sBAAA,gBAAAC,sBAAA,GAAxBD,sBAAA,CAA0BD,WAAW,cAAAE,sBAAA,eAArCA,sBAAA,CAAAxY,IAAA,CAAAuY,sBAAA,EAAwChU,IAAI,EAAE6Q,OAAO,CAAC;UACtD3M,KAAA,CAAKgQ,aAAa,CAAClU,IAAI,CAAC;QAC1B,CAAC;QACDmU,gBAAgB,WAAAA,iBAACC,UAAU,EAAEC,QAAQ,EAAE;UAAA,IAAAC,qBAAA;UACrC,OAAOD,QAAQ,CAAC,IAAI,GAAAC,qBAAA,GAAEF,UAAU,CAACG,kBAAkB,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC;QAC9D,CAAC;QACDE,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE,CACR,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B;MAEnC;IACF,CAAC,EACDxQ,QACF,CAAC;IAED,IAAI,CAACC,KAAA,CAAK4C,QAAQ,CAAC4D,WAAW,EAAE;MAC9B,OAAA3H,0BAAA,CAAAmB,KAAA;IACF;IAAC,OAAAA,KAAA;EACH;EAACV,SAAA,CAAAM,cAAA,EAAAE,oBAAA;EAAA,OAAApB,YAAA,CAAAkB,cAAA;IAAAnB,GAAA;IAAAvH,KAAA;IAuFD;AACF;AACA;AACA;AACA;AACA;AACA;IACE,SAAAsZ,UAAA,EAAqB;MACnB,OAAO,IAAI,CAACnP,eAAe;IAC7B;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA5C,GAAA;IAAAvH,KAAA,EAKA,SAAAmO,oBAAA,EAA+B;MAC7B,OAAOlG,OAAO,CAAC,IAAI,CAAC8D,YAAY,IAAI,IAAI,CAAC/B,GAAG,CAAC;IAC/C;EAAC;IAAAzC,GAAA;IAAAvH,KAAA;IAgqBD;AACF;AACA;AACA;AACA;IAJE;MAAA,IAAAuZ,SAAA,GAAAtS,iBAAA,eAAApG,mBAAA,GAAAgE,IAAA,CAKA,SAAA2U,UAAA;QAAA,OAAA3Y,mBAAA,GAAAY,IAAA,UAAAgY,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAApU,IAAA,GAAAoU,UAAA,CAAApZ,IAAA;YAAA;cAAA,IACO,IAAI,CAACqZ,KAAK;gBAAAD,UAAA,CAAApZ,IAAA;gBAAA;cAAA;cAAAoZ,UAAA,CAAApZ,IAAA;cAAA,OACMsZ,6CAAmB,OAAI,CAAC,IAAI,CAACrO,OAAO,CAAC;YAAA;cAAxD,IAAI,CAACoO,KAAK,GAAAD,UAAA,CAAAjW,IAAA;YAAA;cAAA,OAAAiW,UAAA,CAAA9V,MAAA,WAGL,IAAI,CAAC+V,KAAK;YAAA;YAAA;cAAA,OAAAD,UAAA,CAAAjU,IAAA;UAAA;QAAA,GAAA+T,SAAA;MAAA,CAClB;MAAA,SAAAK,SAAA;QAAA,OAAAN,SAAA,CAAAnT,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAuT,QAAA;IAAA;EAAA;AAAA,EAl1BOC,yCAAmB;AAAAvT,eAAA,CAFhBmC,cAAc,2BAGM,gBAAgB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WalletObserver.class.js","names":["_dappConnector","require","_asset","_merge","_interopRequireDefault","_events","_constants","_assets","_getLibs","_ReadOnlyApiClass","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","pending","_syncQueue","_doSync","_callee","start","newBalanceMap","_yield$Promise$all","_yield$Promise$all2","newNetwork","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","newFeeAddress","newChangeAddress","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getBalanceMap","syncApi","SYNCING_WALLET_END","all","getNetwork","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","getFeeAddress","getChangeAddress","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","feeAddress","changeAddress","_options","debug","console","log","concat","activeWallet","t0","_ref2","_callee2","selectedWallet","attempts","shouldContinue","_window","_window2","_cardano$selectedWall","cardano","_callee2$","_context2","startsWith","readOnlyProvider","ReadOnlyApi","getNetworkId","window","parent","enable","includes","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","metadataResolverChanged","metadataResolver","merge","_this$_metadataAbortC","_metadataAbortController","abort","_cachedMetadata","_lastBalanceCbor","_lastBalanceMap","hasActiveConnection","sync","_ref3","_callee3","extension","_window$cardano","extensionObject","_this$peerConnectInst","_window$cardano2","data","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","warn","connectTimeout","CONNECT_WALLET_END","persistence","cause","mainAddress","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","_x2","_callee4","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_callee5","_this$_metadataAbortC2","_callee5$","_context5","_lastUsedAddressesCbor","_lastUsedAddresses","_lastUnusedAddressesCbor","_lastUnusedAddresses","_lastChangeAddressCbor","_lastChangeAddress","_clearSyncCaches","removeItem","DISCONNECT","_callee6","_yield$Promise$all3","_yield$Promise$all4","Cardano","typedHex","cbor","_end","_callee6$","_context6","getCardanoCore","getCardanoUtil","Address","fromBytes","toBech32","_callee7","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all5","_yield$Promise$all6","Serialization","_end2","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee7$","_context7","GET_BALANCE_MAP_START","getBalance","GET_BALANCE_MAP_END","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","_callee8","val","_callee8$","_context8","_callee9","_yield$Promise$all7","_yield$Promise$all8","_end3","_callee9$","_context9","every","map","_callee10","_yield$Promise$all9","_yield$Promise$all10","_end4","_callee10$","_context10","_callee11","_cbor","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","txOutput","TransactionUnspentOutput","input","output","_callee12","_window$cardano3","address","_callee12$","_context12","experimental","_callee13","_cbor2","_yield$Promise$all13","_yield$Promise$all14","_this$api","_this$api2","funcCall","_callee13$","_context13","_ref14","_callee14","assetIds","_this$_metadataAbortC3","cachedKeys","inputKeys","_end5","currentController","newMetadata","_callee14$","_context14","Set","size","has","AbortController","normalizeAssetId","isAdaAsset","signal","aborted","fallbackMetadataResolver","_x3","_ref16","_callee15","_ref15","_callee15$","_context15","assetId","decimals","_x4","url","location","hostname","onApiEject","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","isSyncing","_getUtils","_callee16","_callee16$","_context16","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport {\n APIErrorCode,\n type ApiError,\n type Cip30WalletApi,\n type GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { ADA_ASSET_ID } from \"../constants.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { ReadOnlyApi } from \"./ReadOnlyApi.class.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent<AssetMetadata>}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> extends WalletObserverEvent<AssetMetadata> {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: string;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _syncQueue: Promise<IWalletObserverSync<AssetMetadata> | void> =\n Promise.resolve();\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n private _lastBalanceCbor: string | null = null;\n private _lastBalanceMap: WalletBalanceMap<AssetMetadata> | null = null;\n private _lastUsedAddressesCbor: string[] | null = null;\n private _lastUsedAddresses: string[] | null = null;\n private _lastUnusedAddressesCbor: string[] | null = null;\n private _lastUnusedAddresses: string[] | null = null;\n private _lastChangeAddressCbor: string | null = null;\n private _lastChangeAddress: string | null = null;\n\n // AbortController for cancelling in-flight metadata fetches when metadataResolver changes\n private _metadataAbortController: AbortController | null = null;\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n debug: false,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options,\n );\n\n if (!this._options.persistence) {\n return;\n }\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync<AssetMetadata>>} - A promise that resolves to the wallet sync data.\n */\n sync = (): Promise<IWalletObserverSync<AssetMetadata>> => {\n const pending = this._syncQueue.then(() => this._doSync());\n // Chain onto queue but swallow rejections in the queue itself\n // so a failed sync doesn't block subsequent syncs.\n this._syncQueue = pending.catch(() => {});\n return pending;\n };\n\n private _doSync = async (): Promise<IWalletObserverSync<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\",\n );\n }\n\n const start = performance.now();\n\n try {\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n // Check if account has changed.\n let newBalanceMap = await this.getBalanceMap();\n if (newBalanceMap instanceof Error) {\n await this.syncApi();\n newBalanceMap = await this.getBalanceMap();\n\n if (newBalanceMap instanceof Error) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw newBalanceMap;\n }\n }\n\n const [\n newNetwork,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n newFeeAddress,\n newChangeAddress,\n ] = await Promise.all([\n this.getNetwork(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n this.getFeeAddress(),\n this.getChangeAddress(),\n ]);\n\n const result: IWalletObserverSync<AssetMetadata> = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n feeAddress: newFeeAddress,\n changeAddress: newChangeAddress,\n };\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, {\n ...result,\n activeWallet: this.activeWallet!,\n });\n this._performingSync = false;\n return result;\n } catch (e) {\n this._performingSync = false;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Helper method to check if the instance has an active connection.\n *\n * @returns {boolean}\n */\n hasActiveConnection(): boolean {\n return Boolean(this.activeWallet && this.api);\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {string} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.\n */\n syncApi = async (\n activeWallet?: string,\n ): Promise<Cip30WalletApi | undefined> => {\n if (!activeWallet && !this.activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\",\n );\n }\n\n const selectedWallet = (activeWallet || this.activeWallet) as string;\n\n let attempts = 0;\n let shouldContinue = true;\n\n if (selectedWallet.startsWith(\"addr\")) {\n if (!this._options.readOnlyProvider) {\n throw new Error(\n \"You must provide a ReadOnlyProvider when connecting with a read-only address.\",\n );\n }\n\n this.api = new ReadOnlyApi(\n selectedWallet,\n selectedWallet.startsWith(\"addr_test\") ? 0 : 1,\n this._options.readOnlyProvider,\n );\n this.network = await this.api.getNetworkId();\n return this.api;\n }\n\n while (shouldContinue) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\",\n );\n }\n\n try {\n const cardano = window?.cardano || window?.parent?.cardano;\n const api = await cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n shouldContinue = false;\n } catch (e) {\n if (\n [\n \"user canceled connection\",\n \"User declined to sign the data.\",\n ].includes((e as Error)?.message) ||\n (e as ApiError)?.code === APIErrorCode.Refused\n ) {\n shouldContinue = false;\n return undefined;\n }\n\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Updates the wallet observer options. Merges the new options with the existing ones.\n * If metadataResolver changes, cancels any in-flight metadata fetch, clears the cache,\n * and triggers a new sync if there is an active connection.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} options - The new options to merge.\n */\n updateOptions = (\n options: Partial<TWalletObserverOptions<AssetMetadata>>,\n ): void => {\n const metadataResolverChanged =\n options.metadataResolver &&\n options.metadataResolver !== this._options.metadataResolver;\n\n this._options = merge<\n IResolvedWalletObserverOptions<AssetMetadata>,\n typeof options\n >(this._options, options);\n\n // If metadataResolver changed, abort in-flight fetch, clear cache, and re-sync\n if (metadataResolverChanged) {\n this._metadataAbortController?.abort();\n this._cachedMetadata = new Map();\n this._lastBalanceCbor = null;\n this._lastBalanceMap = null;\n\n // Trigger a new sync if there's an active connection\n if (this.hasActiveConnection() && !this._performingSync) {\n this.sync();\n }\n }\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}\n */\n connectWallet = async (\n extension: string,\n ): Promise<IWalletObserverSync<AssetMetadata> | Error> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (\n typeof extensionObject === \"undefined\" &&\n !extension.startsWith(\"addr\")\n ) {\n if (this._options.debug) {\n console.warn(`Could not find extension: ${extension}. Trying again...`);\n }\n\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40),\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject && !extension.startsWith(\"addr\")) {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n throw new Error(\n `Could not find extension (${extension}) in the global context.`,\n );\n }\n\n this.activeWallet = extension;\n await this.syncApi(extension);\n const data = await this.sync();\n\n if (this._options.persistence) {\n if (data.usedAddresses instanceof Error) {\n data.usedAddresses.cause =\n \"Could not get a list of used addresses from the wallet when trying to save the connection.\";\n throw data.usedAddresses;\n }\n\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: data.usedAddresses[0],\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed),\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n ...data,\n activeWallet: extension,\n });\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n\n return data;\n };\n\n getCip45Instance = async () => {\n const start = performance.now();\n if (!this.peerConnectInstance) {\n const DAppPeerConnect = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs,\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCip45Instance: ${end - start}ms`);\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Clears the cached metadata and triggers a fresh sync to re-fetch metadata.\n * Useful when the client wants to manually refresh metadata without changing the resolver.\n *\n * @returns {Promise<void>}\n */\n resyncMetadata = async (): Promise<void> => {\n // Abort any in-flight fetch\n this._metadataAbortController?.abort();\n // Clear the cache\n this._cachedMetadata = new Map();\n this._lastBalanceCbor = null;\n this._lastBalanceMap = null;\n\n // Trigger a new sync if there's an active connection\n if (this.hasActiveConnection()) {\n await this.sync();\n }\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n private _clearSyncCaches = (): void => {\n this._lastBalanceCbor = null;\n this._lastBalanceMap = null;\n this._lastUsedAddressesCbor = null;\n this._lastUsedAddresses = null;\n this._lastUnusedAddressesCbor = null;\n this._lastUnusedAddresses = null;\n this._lastChangeAddressCbor = null;\n this._lastChangeAddress = null;\n };\n\n disconnect = (): void => {\n this.activeWallet = undefined;\n this.api = undefined;\n this._clearSyncCaches();\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Gets a the change address.\n *\n * @returns {Promise<string | Error>} The change address, or an error.\n */\n getChangeAddress = async (): Promise<string | Error> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query change address without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string;\n try {\n cbor = await this.api.getChangeAddress();\n } catch (e) {\n return e as Error;\n }\n\n // Return cached if CBOR hasn't changed\n if (cbor === this._lastChangeAddressCbor && this._lastChangeAddress) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getChangeAddress (cached): ${end - start}ms`);\n }\n return this._lastChangeAddress;\n }\n\n const data = Cardano.Address.fromBytes(typedHex(cbor)).toBech32();\n\n this._lastChangeAddressCbor = cbor;\n this._lastChangeAddress = data;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getChangeAddress: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<\n WalletBalanceMap<AssetMetadata> | Error\n > => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n const start = performance.now();\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string;\n try {\n cbor = await this.api.getBalance();\n } catch (e) {\n return e as Error;\n }\n\n // Return cached map if CBOR hasn't changed\n if (cbor === this._lastBalanceCbor && this._lastBalanceMap) {\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap: this._lastBalanceMap,\n });\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap (cached): ${end - start}ms`);\n }\n return this._lastBalanceMap;\n }\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(ADA_ASSET_ID)),\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n normalizeAssetIdWithDot(id),\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id))),\n );\n }\n }\n\n this._lastBalanceCbor = cbor;\n this._lastBalanceMap = balanceMap;\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap: ${end - start}ms`);\n }\n\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number | Error>} The network ID or an Error from the wallet.\n */\n getNetwork = async (): Promise<number | Error> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const start = performance.now();\n\n let val: number;\n try {\n val = await this.api.getNetworkId();\n } catch (e) {\n return e as Error;\n }\n\n this.network = val;\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getNetwork: ${end - start}ms`);\n }\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[] | Error> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUsedAddresses();\n } catch (e) {\n return e as Error;\n }\n\n // Return cached if CBOR hasn't changed\n if (\n this._lastUsedAddressesCbor &&\n this._lastUsedAddresses &&\n cbor.length === this._lastUsedAddressesCbor.length &&\n cbor.every((v, i) => v === this._lastUsedAddressesCbor![i])\n ) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses (cached): ${end - start}ms`);\n }\n return this._lastUsedAddresses;\n }\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n this._lastUsedAddressesCbor = cbor;\n this._lastUsedAddresses = data;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[] | Error>} The list of addresses or an Error returned by the wallet.\n */\n getUnusedAddresses = async (): Promise<string[] | Error> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUnusedAddresses();\n } catch (e) {\n return e as Error;\n }\n\n // Return cached if CBOR hasn't changed\n if (\n this._lastUnusedAddressesCbor &&\n this._lastUnusedAddresses &&\n cbor.length === this._lastUnusedAddressesCbor.length &&\n cbor.every((v, i) => v === this._lastUnusedAddressesCbor![i])\n ) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses (cached): ${end - start}ms`);\n }\n return this._lastUnusedAddresses;\n }\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n this._lastUnusedAddressesCbor = cbor;\n this._lastUnusedAddresses = data;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<\n TransactionUnspentOutput[] | Error | undefined\n > => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n cbor = await this.api.getUtxos();\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val),\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUtxos: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets the fee address set by the wallet, if available.\n *\n * @returns {Promise<string | Error | undefined>} The fee address or an Error.\n */\n getFeeAddress = async (): Promise<string | Error | undefined> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query fee address without an API instance.\",\n );\n }\n\n const start = performance.now();\n try {\n const address =\n window.cardano?.[this.activeWallet!]?.experimental?.feeAddress;\n const end = performance.now();\n\n if (this._options.debug) {\n console.log(`getFeeAddress: ${end - start}ms`);\n }\n\n return address;\n } catch (e) {\n return e as Error;\n }\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[] | Error | undefined>} The list of TransactionUnspentOutputs, if there are any, or an Error.\n */\n getCollateral = async (): Promise<\n TransactionUnspentOutput[] | Error | undefined\n > => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n cbor = [];\n } else {\n cbor = await funcCall();\n }\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val),\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCollateral: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n * Aborts any in-flight fetch when called, ensuring only the latest request completes.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[],\n ): Promise<Map<string, AssetMetadata>> => {\n const start = performance.now();\n\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver (cached): ${end - start}ms`);\n }\n return this._cachedMetadata;\n }\n }\n\n // Abort any in-flight metadata fetch\n this._metadataAbortController?.abort();\n this._metadataAbortController = new AbortController();\n const currentController = this._metadataAbortController;\n\n let attempts = 0;\n let newMetadata: Map<string, AssetMetadata> | undefined;\n while (attempts <= 3 && !newMetadata) {\n try {\n newMetadata = await this._options.metadataResolver({\n assetIds: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: normalizeAssetIdWithDot,\n isAdaAsset,\n });\n } catch (e) {\n attempts++;\n }\n }\n\n // If this request was aborted while in-flight, return current cache (a new fetch is in progress)\n if (currentController.signal.aborted) {\n return this._cachedMetadata;\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver({\n assetIds: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: normalizeAssetIdWithDot,\n isAdaAsset,\n });\n }\n\n // Double-check abort status after fallback resolver\n if (currentController.signal.aborted) {\n return this._cachedMetadata;\n }\n\n this._cachedMetadata = newMetadata;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver: ${end - start}ms`);\n }\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async ({ assetIds }) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(normalizeAssetIdWithDot(id), {\n assetId: normalizeAssetIdWithDot(id),\n decimals: 6,\n } as AssetMetadata),\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
14
14
|
* compose on this and include state for Handles, PeerConnect (CIP-45),
|
|
15
15
|
* and syncing state (RenderWalletState).
|
|
16
16
|
*/
|
|
17
|
-
var
|
|
17
|
+
var RenderWalletInner = function RenderWalletInner(_ref) {
|
|
18
18
|
var render = _ref.render,
|
|
19
19
|
loader = _ref.loader,
|
|
20
20
|
fallback = _ref.fallback;
|
|
@@ -32,4 +32,5 @@ var RenderWallet = exports.RenderWallet = function RenderWallet(_ref) {
|
|
|
32
32
|
})
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
|
+
var RenderWallet = exports.RenderWallet = /*#__PURE__*/(0, _react.memo)(RenderWalletInner);
|
|
35
36
|
//# sourceMappingURL=RenderWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderWallet.js","names":["_react","require","_reactErrorBoundary","_useWalletObserver","_jsxRuntime","
|
|
1
|
+
{"version":3,"file":"RenderWallet.js","names":["_react","require","_reactErrorBoundary","_useWalletObserver","_jsxRuntime","RenderWalletInner","_ref","render","loader","fallback","state","useWalletObserver","jsx","ErrorBoundary","onError","error","observer","getOptions","debug","console","log","message","stack","children","Suspense","RenderWallet","exports","memo"],"sources":["../../../src/react-components/RenderWallet.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { memo, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>>;\n\nexport type TRenderWalletFunction<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = (state: TRenderWalletFunctionState<T>) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletProps<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n render: TRenderWalletFunction<T>;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is responsible for rendering just the wallet state\n * that is returned from syncWallet. It is the basics. Other components\n * compose on this and include state for Handles, PeerConnect (CIP-45),\n * and syncing state (RenderWalletState).\n */\nconst RenderWalletInner = <\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n>({\n render,\n loader,\n fallback,\n}: IRenderWalletProps<T>) => {\n const state = useWalletObserver<T>();\n\n return (\n <ErrorBoundary\n fallback={fallback || null}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>{render(state)}</Suspense>\n </ErrorBoundary>\n );\n};\n\nexport const RenderWallet = memo(RenderWalletInner) as typeof RenderWalletInner;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAiE,IAAAG,WAAA,GAAAH,OAAA;AAkBjE;AACA;AACA;AACA;AACA;AACA;AACA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAMM;EAAA,IAH3BC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAER,IAAMC,KAAK,GAAG,IAAAC,oCAAiB,EAAI,CAAC;EAEpC,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACV,mBAAA,CAAAW,aAAa;IACZJ,QAAQ,EAAEA,QAAQ,IAAI,IAAK;IAC3BK,OAAO,EAAE,SAAAA,QAACC,KAAK,EAAK;MAClB,IAAIL,KAAK,CAACM,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAC,QAAA,eAEF,IAAAnB,WAAA,CAAAQ,GAAA,EAACZ,MAAA,CAAAwB,QAAQ;MAACf,QAAQ,EAAED,MAAO;MAAAe,QAAA,EAAEhB,MAAM,CAACG,KAAK;IAAC,CAAW;EAAC,CACzC,CAAC;AAEpB,CAAC;AAEM,IAAMe,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAG,IAAAE,WAAI,EAACtB,iBAAiB,CAA6B","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
20
20
|
* fetching and updating wallet Handles with their extra
|
|
21
21
|
* metadata.
|
|
22
22
|
*/
|
|
23
|
-
var
|
|
23
|
+
var RenderWalletHandlesInner = function RenderWalletHandlesInner(_ref) {
|
|
24
24
|
var render = _ref.render,
|
|
25
25
|
loader = _ref.loader,
|
|
26
26
|
fallback = _ref.fallback;
|
|
@@ -39,4 +39,5 @@ var RenderWalletHandles = exports.RenderWalletHandles = function RenderWalletHan
|
|
|
39
39
|
})
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
|
+
var RenderWalletHandles = exports.RenderWalletHandles = /*#__PURE__*/(0, _react.memo)(RenderWalletHandlesInner);
|
|
42
43
|
//# sourceMappingURL=RenderWalletHandles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderWalletHandles.js","names":["_react","require","_reactErrorBoundary","_useWalletHandles","_useWalletObserver","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","
|
|
1
|
+
{"version":3,"file":"RenderWalletHandles.js","names":["_react","require","_reactErrorBoundary","_useWalletHandles","_useWalletObserver","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","RenderWalletHandlesInner","_ref","render","loader","fallback","state","useWalletObserver","handleData","useWalletHandles","jsx","ErrorBoundary","onError","error","observer","getOptions","debug","console","log","message","stack","children","Suspense","RenderWalletHandles","exports","memo"],"sources":["../../../src/react-components/RenderWalletHandles.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { memo, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletHandles } from \"./hooks/useWalletHandles.js\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletHandlesFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletHandles<T>>;\n\nexport type TRenderWalletHandlesFunction<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = (state: TRenderWalletHandlesFunctionState<T>) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletHandlesProps<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n render: TRenderWalletHandlesFunction<T>;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is the same as RenderWallet, but supports\n * fetching and updating wallet Handles with their extra\n * metadata.\n */\nconst RenderWalletHandlesInner = <\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n>({\n render,\n loader,\n fallback,\n}: IRenderWalletHandlesProps<T>) => {\n const state = useWalletObserver<T>();\n const handleData = useWalletHandles<T>();\n\n return (\n <ErrorBoundary\n fallback={fallback || null}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({ ...state, ...handleData })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n\nexport const RenderWalletHandles = memo(\n RenderWalletHandlesInner,\n) as typeof RenderWalletHandlesInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
20
20
|
* and exposing them to the render function, including a QR Code
|
|
21
21
|
* element that can be placed in the consuming app.
|
|
22
22
|
*/
|
|
23
|
-
var
|
|
23
|
+
var RenderWalletPeerConnectInner = function RenderWalletPeerConnectInner(_ref) {
|
|
24
24
|
var render = _ref.render,
|
|
25
25
|
loader = _ref.loader,
|
|
26
26
|
fallback = _ref.fallback;
|
|
@@ -44,4 +44,5 @@ var RenderWalletPeerConnect = exports.RenderWalletPeerConnect = function RenderW
|
|
|
44
44
|
})
|
|
45
45
|
});
|
|
46
46
|
};
|
|
47
|
+
var RenderWalletPeerConnect = exports.RenderWalletPeerConnect = /*#__PURE__*/(0, _react.memo)(RenderWalletPeerConnectInner);
|
|
47
48
|
//# sourceMappingURL=RenderWalletPeerConnect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderWalletPeerConnect.js","names":["_react","require","_reactErrorBoundary","_useWalletObserver","_useWalletPeerConnect","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","
|
|
1
|
+
{"version":3,"file":"RenderWalletPeerConnect.js","names":["_react","require","_reactErrorBoundary","_useWalletObserver","_useWalletPeerConnect","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","RenderWalletPeerConnectInner","_ref","render","loader","fallback","state","useWalletObserver","peerConnectState","useWalletPeerConnect","peerConnect","jsx","ErrorBoundary","children","error","onError","observer","getOptions","debug","console","log","message","stack","Suspense","RenderWalletPeerConnect","exports","memo"],"sources":["../../../src/react-components/RenderWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { memo, ReactElement, ReactNode, Suspense } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\nimport { useWalletPeerConnect } from \"./hooks/useWalletPeerConnect.js\";\n\nexport type TRenderWalletPeerConnectFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletPeerConnect<T>>;\n\nexport type TRenderWalletPeerConnectFunction<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = (state: TRenderWalletPeerConnectFunctionState<T>) => ReactNode;\n\nexport interface IRenderWalletPeerConnectProps<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n render: TRenderWalletPeerConnectFunction<T>;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is responsible for generating CIP-45 utilities\n * and exposing them to the render function, including a QR Code\n * element that can be placed in the consuming app.\n */\nconst RenderWalletPeerConnectInner = <\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n>({\n render,\n loader,\n fallback,\n}: IRenderWalletPeerConnectProps<T>) => {\n const state = useWalletObserver<T>();\n const peerConnectState = useWalletPeerConnect<T>();\n\n if (!peerConnectState.peerConnect) {\n return null;\n }\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>{peerConnectState.error}</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({ ...state, ...peerConnectState })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n\nexport const RenderWalletPeerConnect = memo(\n RenderWalletPeerConnectInner,\n) as typeof RenderWalletPeerConnectInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,7 +21,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
21
21
|
* a sync or connection operation. Useful for displaying
|
|
22
22
|
* internal operation states of the wallet.
|
|
23
23
|
*/
|
|
24
|
-
var
|
|
24
|
+
var RenderWalletStateInner = function RenderWalletStateInner(_ref) {
|
|
25
25
|
var render = _ref.render,
|
|
26
26
|
loader = _ref.loader,
|
|
27
27
|
fallback = _ref.fallback;
|
|
@@ -40,4 +40,5 @@ var RenderWalletState = exports.RenderWalletState = function RenderWalletState(_
|
|
|
40
40
|
})
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
|
+
var RenderWalletState = exports.RenderWalletState = /*#__PURE__*/(0, _react.memo)(RenderWalletStateInner);
|
|
43
44
|
//# sourceMappingURL=RenderWalletState.js.map
|