diff --git a/html/main.js.map b/html/main.js.map index 74f29940..675b1a80 100644 --- a/html/main.js.map +++ b/html/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/api/models/wallet.model.ts","./src/app/api/services/backend.service.ts","./src/app/api/services/wrap-info.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/layouts/full-layout/full-layout.component.ts","./src/app/layouts/full-layout/full-layout.module.ts","./src/app/layouts/sidebar/sidebar.component.ts","./src/app/layouts/sidebar/sidebar.module.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.component.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.module.ts","./src/app/pages/add-wallet/add-wallet.component.ts","./src/app/pages/assign-alias/assign-alias.component.ts","./src/app/pages/auth/auth-routing.module.ts","./src/app/pages/auth/auth.module.ts","./src/app/pages/auth/login/login.component.ts","./src/app/pages/auth/no-wallet/no-wallet.component.ts","./src/app/pages/create-wallet/create-wallet.component.ts","./src/app/pages/deeplink/deeplink.component.ts","./src/app/pages/deeplink/deeplink.module.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.component.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.module.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.component.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.module.ts","./src/app/pages/edit-alias/edit-alias.component.ts","./src/app/pages/export-import/export-import.component.ts","./src/app/pages/open-wallet/open-wallet.component.ts","./src/app/pages/pages-routing.module.ts","./src/app/pages/pages.module.ts","./src/app/pages/paths.ts","./src/app/pages/restore-wallet/restore-wallet.component.ts","./src/app/pages/seed-phrase/seed-phrase.component.ts","./src/app/pages/settings/settings.component.ts","./src/app/pages/transfer-alias/transfer-alias.component.ts","./src/app/pages/wallet-details/wallet-details.component.ts","./src/app/pages/wallet/tabs/assets/assets.component.ts","./src/app/pages/wallet/tabs/history/history.component.ts","./src/app/pages/wallet/tabs/receive/receive.component.ts","./src/app/pages/wallet/tabs/send/modals/send-details-modal/send-details-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/send-modal/send-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/wallet-modals.module.ts","./src/app/pages/wallet/tabs/send/send.component.ts","./src/app/pages/wallet/tabs/staking/staking.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.html","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.html","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.html","./src/app/pages/wallet/tabs/swap/parts/guards/swap-proposal-hex.guard.ts","./src/app/pages/wallet/wallet-routing.module.ts","./src/app/pages/wallet/wallet.module.ts","./src/app/pages/wallet/wallet/modals/add-custom-token/add-custom-token.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.module.ts","./src/app/pages/wallet/wallet/wallet.component.ts","./src/app/parts/components/back-button/back-button.component.ts","./src/app/parts/components/back-button/back-button.component.html","./src/app/parts/components/breadcrumbs/breadcrumbs.component.ts","./src/app/parts/components/breadcrumbs/breadcrumbs.component.html","./src/app/parts/components/checkbox.component.ts","./src/app/parts/components/copy-button.component.ts","./src/app/parts/components/loader.component.ts","./src/app/parts/components/register-context-templates.component.ts","./src/app/parts/components/staking-switch.component.ts","./src/app/parts/components/switch.component.ts","./src/app/parts/components/synchronization-status.component.ts","./src/app/parts/components/transaction-details.component.ts","./src/app/parts/components/wallet-card.component.ts","./src/app/parts/data/assets.ts","./src/app/parts/data/constants.ts","./src/app/parts/data/scale-items.ts","./src/app/parts/directives/autofocus.directive.ts","./src/app/parts/directives/back-button/back-button.directive.ts","./src/app/parts/directives/back-button/back-button.module.ts","./src/app/parts/directives/default-img/default-img.directive.ts","./src/app/parts/directives/default-img/default-img.module.ts","./src/app/parts/directives/default-img/index.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.directive.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.module.ts","./src/app/parts/directives/disable-price-fetch/index.ts","./src/app/parts/directives/index.ts","./src/app/parts/directives/input-disable-selection/index.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.directive.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.module.ts","./src/app/parts/directives/input-validate/index.ts","./src/app/parts/directives/input-validate/input-validate.directive.ts","./src/app/parts/directives/input-validate/input-validate.module.ts","./src/app/parts/directives/lower-case.directive.ts","./src/app/parts/directives/tooltip/index.ts","./src/app/parts/directives/tooltip/tooltip.directive.ts","./src/app/parts/directives/tooltip/tooltip.module.ts","./src/app/parts/functions/hasOwnProperty.ts","./src/app/parts/modals/asset-details/asset-details.component.ts","./src/app/parts/modals/asset-details/asset-details.module.ts","./src/app/parts/modals/confirm-modal/confirm-modal.component.ts","./src/app/parts/modals/confirm-modal/confirm-modal.module.ts","./src/app/parts/modals/modal-container/modal-container.component.ts","./src/app/parts/modals/open-wallet-modal/open-wallet-modal.component.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages-pipe.module.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe.ts","./src/app/parts/pipes/contract-status-messages-pipe/index.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left-pipe.module.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left.pipe.ts","./src/app/parts/pipes/contract-time-left-pipe/index.ts","./src/app/parts/pipes/get-asset.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages-pipe.module.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/index.ts","./src/app/parts/pipes/index.ts","./src/app/parts/pipes/int-to-money-pipe/index.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money-pipe.module.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money.pipe.ts","./src/app/parts/pipes/is-available-alias-name-pipe/index.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name-pipe.module.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name.pipe.ts","./src/app/parts/pipes/money-to-int-pipe/index.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int-pipe.module.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int.pipe.ts","./src/app/parts/pipes/safe-html-pipe/index.ts","./src/app/parts/pipes/safe-html-pipe/safe-html-pipe.module.ts","./src/app/parts/pipes/safe-html-pipe/safe-html.pipe.ts","./src/app/parts/pipes/short-string-pipe/index.ts","./src/app/parts/pipes/short-string-pipe/short-string-pipe.module.ts","./src/app/parts/pipes/short-string-pipe/short-string.pipe.ts","./src/app/parts/services/back.service.ts","./src/app/parts/services/modal.service.ts","./src/app/parts/services/variables.service.ts","./src/app/parts/services/wallets.service.ts","./src/app/parts/utils/MIME-types.ts","./src/app/parts/utils/zano-errors.ts","./src/app/parts/utils/zano-validators.ts","./src/app/store/pagination/pagination.service.ts","./src/app/store/pagination/pagination.store.ts","./src/app/store/store.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Contracts } from './contract.model';\nimport { Transaction, Transactions } from './transaction.model';\nimport { BigNumber } from 'bignumber.js';\nimport { Asset, Assets } from './assets.model';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { MIXIN } from '@parts/data/constants';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\nexport const defaultSendMoneyParams: SendMoneyParams = {\n asset_id: zanoAssetInfo.asset_id,\n wallet_id: undefined,\n address: '',\n amount: undefined,\n comment: '',\n mixin: MIXIN,\n fee: '0.01',\n hide: false,\n};\n\nexport class Wallet {\n open_from_exist: boolean;\n updated = false;\n wallet_id: number;\n name: string;\n pass: string;\n path: string;\n address: string;\n\n private _balances$ = new BehaviorSubject(undefined);\n\n get balances$(): Observable {\n return this._balances$.asObservable();\n }\n\n get balances(): Assets | null | undefined {\n return this._balances$.value;\n }\n\n set balances(value: Assets | null | undefined) {\n const sortedAssets: Assets = [];\n if (value) {\n const assets = [...value];\n const indexZano = assets.findIndex(({ asset_info: { ticker } }) => ticker === 'ZANO');\n if (indexZano >= 0) {\n const assetZano = assets.splice(indexZano, 1)[0];\n sortedAssets.push(assetZano);\n }\n const sortedAssetsByBalance = assets.sort((a, b) => new BigNumber(b.total).minus(new BigNumber(a.total)).toNumber());\n sortedAssets.push(...sortedAssetsByBalance);\n }\n this._balances$.next(sortedAssets);\n }\n\n mined_total: number;\n tracking_hey: string;\n is_auditable: boolean;\n is_watch_only: boolean;\n exclude_mining_txs: boolean;\n alias_available: boolean;\n\n alias?: Partial;\n wakeAlias?: boolean;\n staking?: boolean;\n new_messages?: number;\n new_contracts?: number;\n\n history: Transactions = [];\n total_history_item?: number;\n pages = [];\n totalPages: number;\n currentPage: number;\n excluded_history: Transactions = [];\n\n contracts: Contracts = [];\n\n progress?: number;\n loaded?: boolean;\n restore?: boolean;\n\n sendMoneyParams: SendMoneyParams | null = null;\n\n constructor(id, name, pass, path, address, balances, unlocked_balance, mined = 0, tracking = '') {\n this.wallet_id = id;\n this.name = name;\n this.pass = pass;\n this.path = path;\n this.address = address;\n this.balances = balances;\n this.mined_total = mined;\n this.tracking_hey = tracking;\n\n this.alias = {};\n this.staking = false;\n this.new_messages = 0;\n this.new_contracts = 0;\n\n this.history = [];\n this.excluded_history = [];\n\n this.progress = 0;\n this.loaded = false;\n }\n\n getBalanceByTicker(searchTicker: string): Asset | undefined {\n return this.balances?.find(({ asset_info: { ticker } }) => ticker === searchTicker);\n }\n\n getMoneyEquivalentForZano(equivalent): string {\n const balanceZano = this.getBalanceByTicker('ZANO')?.total || 0;\n return new BigNumber(balanceZano).multipliedBy(equivalent).toFixed(0);\n }\n\n prepareHistory(items: Transaction[]): void {\n for (let i = 0; i < items.length; i++) {\n if (\n (items[i].tx_type === 7 && items[i].subtransfers.find(({ is_income }) => is_income)) ||\n (items[i].tx_type === 11 && items[i].subtransfers.find(({ is_income }) => is_income))\n ) {\n let exists = false;\n for (let j = 0; j < this.excluded_history.length; j++) {\n if (this.excluded_history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.excluded_history[j].height !== items[i].height) {\n this.excluded_history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n this.excluded_history.push(items[i]);\n }\n } else {\n let exists = false;\n for (let j = 0; j < this.history.length; j++) {\n if (this.history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.history[j].height !== items[i].height) {\n this.history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n if (this.history.length > 0 && items[i].timestamp >= this.history[0].timestamp) {\n this.history.unshift(items[i]);\n } else {\n this.history.push(items[i]);\n }\n }\n }\n }\n }\n\n removeFromHistory(hash: string): void {\n for (let i = 0; i < this.history.length; i++) {\n if (this.history[i].tx_hash === hash) {\n this.history.splice(i, 1);\n break;\n }\n }\n }\n}\n\nexport interface DeeplinkParams {\n action?: 'send' | string;\n address?: string;\n amount?: string;\n my_deposit?: string;\n seller_deposit?: string;\n seller_address?: string;\n hide_sender?: string;\n hide_receiver?: string;\n title?: string;\n description?: string;\n category?: string;\n price?: string;\n img_url?: string;\n url?: string;\n contact?: string;\n comment?: string;\n comments?: string;\n mixins?: string;\n fee?: string;\n}\n\nexport interface PushOffer {\n wallet_id: number;\n od: {\n ap: string;\n at: string;\n cat: string;\n cnt: string;\n com: string;\n do: string;\n et: number;\n fee: BigNumber;\n lci: string;\n lco: string;\n ot: number;\n pt: string;\n t: string;\n url: string;\n };\n}\n\nexport interface ResponseGetWalletInfo {\n address: string;\n balances: Assets;\n is_auditable: boolean;\n is_watch_only: boolean;\n mined_total: number;\n path: string;\n view_sec_key: string;\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport JSONBigNumber from 'json-bignumber';\nimport { BigNumber } from 'bignumber.js';\nimport { ResponseGetWalletInfo } from '../models/wallet.model';\nimport {\n AssetInfo,\n ParamsAddCustomAssetId,\n ParamsRemoveCustomAssetId,\n ResponseAddCustomAssetId,\n ResponseRemoveCustomAssetId,\n} from '@api/models/assets.model';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\nexport interface PramsObj {\n [key: string]: any;\n}\n\nexport type PramsArray = (string | PramsObj)[];\n\nexport type Params = string | PramsObj | PramsArray;\n\nexport enum ParamsType {\n array = 'array',\n object = 'object',\n string = 'string',\n}\n\nexport const getParamsType = (value: Params): ParamsType | null => {\n if (!value) {\n return null;\n }\n const array: false | ParamsType.array = Array.isArray(value) && ParamsType.array;\n const object: false | ParamsType = Object.keys(ParamsType).includes(typeof value) && ParamsType[typeof value];\n return array || object || null;\n};\n\nexport type ConvertersObjectForTypes = {\n [key in ParamsType]: (value: Params) => string | string[];\n};\n\nexport const convertersObjectForTypes: ConvertersObjectForTypes = {\n [ParamsType.string]: (value: string): string => value,\n [ParamsType.object]: (value: PramsObj): string => JSONBigNumber.stringify(value),\n [ParamsType.array]: (value: PramsArray): string[] =>\n value.map(v => {\n return typeof v === ParamsType.string ? (v as string) : JSONBigNumber.stringify(v);\n }),\n};\n\nexport const convertorParams = (value: Params): string | string[] => {\n const type: ParamsType = getParamsType(value);\n return convertersObjectForTypes[type](value);\n};\n\nexport interface ResponseAsyncTransfer {\n error_code: string | 'NOT_ENOUGH_MONEY' | 'OK';\n response_data: {\n success: boolean;\n tx_blob_size: number;\n tx_hash: string;\n };\n}\n\nexport interface AsyncCommandResults {\n job_id: number;\n response: ResponseAsyncTransfer;\n}\n\nexport enum StatusCurrentActionState {\n STATE_SENDING = 'STATE_SENDING',\n STATE_SENT_SUCCESS = 'STATE_SENT_SUCCESS',\n STATE_SEND_FAILED = 'STATE_SEND_FAILED',\n STATE_INITIALIZING = 'STATE_INITIALIZING',\n STATE_DOWNLOADING_CONSENSUS = 'STATE_DOWNLOADING_CONSENSUS',\n STATE_MAKING_TUNNEL_A = 'STATE_MAKING_TUNNEL_A',\n STATE_MAKING_TUNNEL_B = 'STATE_MAKING_TUNNEL_B',\n STATE_CREATING_STREAM = 'STATE_CREATING_STREAM',\n STATE_FAILED = 'STATE_FAILED',\n STATE_SUCCESS = 'STATE_SUCCESS',\n}\n\nexport interface CurrentActionState {\n status: StatusCurrentActionState;\n wallet_id: number;\n}\n\nexport enum Commands {\n money_transfer_cancel = 'money_transfer_cancel',\n handle_deeplink_click = 'handle_deeplink_click',\n money_transfer = 'money_transfer',\n update_daemon_state = 'update_daemon_state',\n wallet_sync_progress = 'wallet_sync_progress',\n update_wallet_status = 'update_wallet_status',\n quit_requested = 'quit_requested',\n on_core_event = 'on_core_event',\n get_wallet_info = 'get_wallet_info',\n remove_custom_asset_id = 'remove_custom_asset_id',\n add_custom_asset_id = 'add_custom_asset_id',\n get_options = 'get_options',\n handle_current_action_state = 'handle_current_action_state',\n set_enable_tor = 'set_enable_tor',\n dispatch_async_call_result = 'dispatch_async_call_result',\n async_call = 'async_call',\n set_log_level = 'set_log_level',\n get_network_type = 'get_network_type',\n get_version = 'get_version',\n get_tx_pool_info = 'get_tx_pool_info',\n get_recent_transfers = 'get_recent_transfers',\n resync_wallet = 'resync_wallet',\n get_alias_coast = 'get_alias_coast',\n get_alias_info_by_address = 'get_alias_info_by_address',\n get_alias_info_by_name = 'get_alias_info_by_name',\n get_all_aliases = 'get_all_aliases',\n request_alias_update = 'request_alias_update',\n webkit_launched_script = 'webkit_launched_script',\n on_request_quit = 'on_request_quit',\n get_app_data = 'get_app_data',\n store_app_data = 'store_app_data',\n get_secure_app_data = 'get_secure_app_data',\n set_master_password = 'set_master_password',\n check_master_password = 'check_master_password',\n get_is_disabled_notifications = 'get_is_disabled_notifications',\n set_is_disabled_notifications = 'set_is_disabled_notifications',\n store_secure_app_data = 'store_secure_app_data',\n drop_secure_app_data = 'drop_secure_app_data',\n have_secure_app_data = 'have_secure_app_data',\n show_savefile_dialog = 'show_savefile_dialog',\n show_openfile_dialog = 'show_openfile_dialog',\n store_to_file = 'store_to_file',\n load_from_file = 'load_from_file',\n push_offer = 'push_offer',\n generate_wallet = 'generate_wallet',\n export_wallet_history = 'export_wallet_history',\n open_wallet = 'open_wallet',\n close_wallet = 'close_wallet',\n get_smart_wallet_info = 'get_smart_wallet_info',\n get_seed_phrase_info = 'get_seed_phrase_info',\n run_wallet = 'run_wallet',\n is_valid_restore_wallet_text = 'is_valid_restore_wallet_text',\n restore_wallet = 'restore_wallet',\n transfer = 'transfer',\n validate_address = 'validate_address',\n set_clipboard = 'set_clipboard',\n get_clipboard = 'get_clipboard',\n create_proposal = 'create_proposal',\n get_contracts = 'get_contracts',\n accept_proposal = 'accept_proposal',\n release_contract = 'release_contract',\n request_cancel_contract = 'request_cancel_contract',\n accept_cancel_contract = 'accept_cancel_contract',\n get_mining_history = 'get_mining_history',\n start_pos_mining = 'start_pos_mining',\n stop_pos_mining = 'stop_pos_mining',\n open_url_in_browser = 'open_url_in_browser',\n start_backend = 'start_backend',\n get_default_fee = 'get_default_fee',\n set_localization_strings = 'set_localization_strings',\n request_alias_registration = 'request_alias_registration',\n call_rpc = 'call_rpc',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BackendService {\n dispatchAsyncCallResult$ = new Subject();\n\n handleCurrentActionState$ = new Subject();\n\n backendObject: any;\n\n backendLoaded = false;\n\n constructor(\n private translate: TranslateService,\n private variablesService: VariablesService,\n private modalService: ModalService,\n private moneyToIntPipe: MoneyToIntPipe,\n private ngZone: NgZone\n ) {}\n\n static bigNumberParser(key, val): any {\n if (\n val.constructor.name === 'BigNumber' &&\n ['balance', 'unlocked_balance', 'amount', 'fee', 'b_fee', 'to_pay', 'a_pledge', 'b_pledge', 'coast', 'a'].indexOf(key) === -1\n ) {\n return val.toNumber();\n }\n if (key === 'rcv' || key === 'spn') {\n for (let i = 0; i < val.length; i++) {\n val[i] = new BigNumber(val[i]);\n }\n }\n return val;\n }\n\n static Debug(type, message): void {\n switch (type) {\n case 0:\n console.error(message);\n break;\n case 1:\n console.warn(message);\n break;\n case 2:\n console.log(message);\n break;\n default:\n console.log(message);\n break;\n }\n }\n\n eventSubscribe(command: Commands, callback): void {\n if (command === Commands.on_core_event) {\n this.backendObject[command].connect(callback);\n } else {\n this.backendObject[command].connect(str => {\n callback(JSONBigNumber.parse(str, BackendService.bigNumberParser));\n });\n }\n }\n\n initService(): Observable {\n return new Observable(observer => {\n if (!this.backendLoaded) {\n this.backendLoaded = true;\n (window).QWebChannel((window).qt.webChannelTransport, channel => {\n this.backendObject = channel.objects.mediator_object;\n observer.next('backendObject loaded');\n });\n } else {\n observer.error('backend not loaded');\n if (!this.backendObject) {\n observer.error('backendObject not loaded');\n }\n }\n });\n }\n\n webkitLaunchedScript(): void {\n this.runCommand(Commands.webkit_launched_script);\n }\n\n quitRequest(): void {\n this.runCommand(Commands.on_request_quit);\n }\n\n getAppData(callback): void {\n this.runCommand(Commands.get_app_data, {}, callback);\n }\n\n storeAppData(callback?): void {\n if (this.variablesService.wallets.length > 0) {\n this.variablesService.settings.wallets = [];\n this.variablesService.wallets.forEach(wallet => {\n this.variablesService.settings.wallets.push({\n name: wallet.name,\n path: wallet.path,\n });\n });\n }\n this.runCommand(Commands.store_app_data, this.variablesService.settings, callback);\n }\n\n getSecureAppData(pass, callback): void {\n this.runCommand(Commands.get_secure_app_data, pass, callback);\n }\n\n setMasterPassword(pass, callback): void {\n this.runCommand(Commands.set_master_password, pass, callback);\n }\n\n checkMasterPassword(pass, callback): void {\n this.runCommand(Commands.check_master_password, pass, callback);\n }\n\n getIsDisabledNotifications(callback): void {\n const params = {};\n this.runCommand(Commands.get_is_disabled_notifications, params, callback);\n }\n\n setIsDisabledNotifications(state): void {\n this.runCommand(Commands.set_is_disabled_notifications, state);\n }\n\n storeSecureAppData(callback?): void {\n const wallets = [];\n const contacts = [];\n this.variablesService.wallets.forEach(wallet => {\n wallets.push({\n name: wallet.name,\n pass: wallet.pass,\n path: wallet.path,\n staking: wallet.staking,\n });\n });\n this.variablesService.contacts.forEach(contact => {\n contacts.push({\n name: contact.name,\n address: contact.address,\n notes: contact.notes,\n });\n });\n const data = { wallets: wallets, contacts: contacts };\n this.backendObject[Commands.store_secure_app_data](JSON.stringify(data), this.variablesService.appPass, dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.store_secure_app_data);\n });\n }\n\n dropSecureAppData(callback?): void {\n this.backendObject[Commands.drop_secure_app_data](dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.drop_secure_app_data);\n });\n }\n\n haveSecureAppData(callback): void {\n this.runCommand(Commands.have_secure_app_data, {}, callback);\n }\n\n saveFileDialog(caption, fileMask, default_path, callback): void {\n const dir = default_path ? default_path : '/';\n const params = {\n caption: caption,\n filemask: fileMask,\n default_dir: dir,\n };\n this.runCommand(Commands.show_savefile_dialog, params, callback);\n }\n\n openFileDialog(caption, filemask, default_path, callback): void {\n const default_dir = default_path ? default_path : '/';\n const params = {\n caption,\n filemask,\n default_dir,\n };\n this.runCommand(Commands.show_openfile_dialog, params, callback);\n }\n\n storeFile(path, buff): void {\n this.backendObject[Commands.store_to_file](path, buff);\n }\n\n loadFile(path, callback): void {\n this.runCommand(Commands.load_from_file, path, callback);\n }\n\n push_offer(params, callback): void {\n this.runCommand(Commands.push_offer, params, callback);\n }\n\n generateWallet(path, pass, callback): void {\n const params = {\n path: path,\n pass: pass,\n };\n this.runCommand(Commands.generate_wallet, params, callback);\n }\n\n exportWalletHistory(json_string): void {\n this.runCommand(Commands.export_wallet_history, json_string);\n }\n\n openWallet(path, pass, txs_to_return, testEmpty, callback): void {\n const params = {\n path: path,\n pass: pass,\n txs_to_return: txs_to_return,\n };\n params['testEmpty'] = !!testEmpty;\n this.runCommand(Commands.open_wallet, params, callback);\n }\n\n closeWallet(wallet_id, callback?): void {\n this.runCommand(Commands.close_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n getSmartWalletInfo({ wallet_id, seed_password }, callback): void {\n this.runCommand(Commands.get_smart_wallet_info, { wallet_id: +wallet_id, seed_password }, callback);\n }\n\n getSeedPhraseInfo(param, callback): void {\n this.runCommand(Commands.get_seed_phrase_info, param, callback);\n }\n\n runWallet(wallet_id, callback?): void {\n this.runCommand(Commands.run_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n isValidRestoreWalletText(param, callback): void {\n this.runCommand(Commands.is_valid_restore_wallet_text, param, callback);\n }\n\n restoreWallet(path, pass, seed_phrase, seed_pass, callback): void {\n const params = {\n seed_phrase: seed_phrase,\n path: path,\n pass: pass,\n seed_pass,\n };\n this.runCommand(Commands.restore_wallet, params, callback);\n }\n\n sendMoney({ wallet_id, address, amount, fee, mixin, comment, hide, asset_id }: SendMoneyParams, callback): void {\n const params = {\n wallet_id,\n destinations: [\n {\n address,\n amount,\n ...(asset_id && { asset_id }),\n },\n ],\n mixin_count: mixin ?? 0,\n lock_time: 0,\n fee: this.moneyToIntPipe.transform(fee),\n comment: comment,\n push_payer: !hide,\n };\n\n this.asyncCall(Commands.transfer, params, callback);\n }\n\n validateAddress(address, callback): void {\n this.runCommand(Commands.validate_address, address, callback);\n }\n\n setClipboard(str, callback?): void {\n this.runCommand(Commands.set_clipboard, str, callback);\n }\n\n getClipboard(callback): void {\n this.runCommand(Commands.get_clipboard, {}, callback);\n }\n\n createProposal(wallet_id, title, comment, a_addr, b_addr, to_pay, a_pledge, b_pledge, time, payment_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n details: {\n t: title,\n c: comment,\n a_addr: a_addr,\n b_addr: b_addr,\n to_pay: this.moneyToIntPipe.transform(to_pay),\n a_pledge: this.moneyToIntPipe.transform(a_pledge),\n b_pledge: this.moneyToIntPipe.transform(b_pledge),\n },\n payment_id: payment_id,\n expiration_period: parseInt(time, 10) * 60 * 60,\n fee: this.variablesService.default_fee_big,\n b_fee: this.variablesService.default_fee_big,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.create_proposal, params, callback);\n }\n\n getContracts(wallet_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.get_contracts, params, callback);\n }\n\n acceptProposal(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_proposal, params, callback);\n }\n\n releaseProposal(wallet_id, contract_id, release_type, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n release_type: release_type, // \"normal\" or \"burn\"\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.release_contract, params, callback);\n }\n\n requestCancelContract(wallet_id, contract_id, time, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n fee: this.variablesService.default_fee_big,\n expiration_period: parseInt(time, 10) * 60 * 60,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.request_cancel_contract, params, callback);\n }\n\n acceptCancelContract(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_cancel_contract, params, callback);\n }\n\n getMiningHistory(wallet_id, callback): void {\n this.runCommand(Commands.get_mining_history, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n startPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.start_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n stopPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.stop_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n openUrlInBrowser(url, callback?): void {\n this.runCommand(Commands.open_url_in_browser, url, callback);\n }\n\n start_backend(node, host, port, callback): void {\n const params = {\n configure_for_remote_node: node,\n remote_node_host: host,\n remote_node_port: parseInt(port, 10),\n };\n this.runCommand(Commands.start_backend, params, callback);\n }\n\n getDefaultFee(callback): void {\n this.runCommand(Commands.get_default_fee, {}, callback);\n }\n\n setBackendLocalization(stringsArray, title, callback?): void {\n const params = {\n strings: stringsArray,\n language_title: title,\n };\n this.runCommand(Commands.set_localization_strings, params, callback);\n }\n\n registerAlias(wallet_id, alias, address, fee, comment, reward, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias,\n address: address,\n tracking_key: '',\n comment: comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n reward: this.moneyToIntPipe.transform(reward),\n };\n this.runCommand(Commands.request_alias_registration, params, callback);\n }\n\n updateAlias(wallet_id, alias, fee, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias.name.replace('@', ''),\n address: alias.address,\n tracking_key: '',\n comment: alias.comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n };\n this.runCommand(Commands.request_alias_update, params, callback);\n }\n\n getAllAliases(callback): void {\n this.runCommand(Commands.get_all_aliases, {}, callback);\n }\n\n getAliasInfoByName(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_name, value, callback);\n }\n\n getAliasByAddress(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_address, value, callback);\n }\n\n getAliasCoast(alias, callback): void {\n this.runCommand(Commands.get_alias_coast, { v: alias }, callback);\n }\n\n resyncWallet(id): void {\n this.runCommand(Commands.resync_wallet, { wallet_id: id });\n }\n\n getWalletAlias(address): Partial {\n if (address !== null && this.variablesService.daemon_state === 2) {\n if (this.variablesService.aliasesChecked[address] == null) {\n this.variablesService.aliasesChecked[address] = {};\n if (this.variablesService.aliases.length) {\n for (let i = 0, length = this.variablesService.aliases.length; i < length; i++) {\n if (i in this.variablesService.aliases && this.variablesService.aliases[i]['address'] === address) {\n this.variablesService.aliasesChecked[address]['name'] = this.variablesService.aliases[i].name;\n this.variablesService.aliasesChecked[address]['address'] = this.variablesService.aliases[i].address;\n this.variablesService.aliasesChecked[address]['comment'] = this.variablesService.aliases[i].comment;\n return this.variablesService.aliasesChecked[address];\n }\n }\n }\n this.getAliasByAddress(address, (status, data) => {\n if (status) {\n this.variablesService.aliasesChecked[data.address]['name'] = '@' + data.alias;\n this.variablesService.aliasesChecked[data.address]['address'] = data.address;\n this.variablesService.aliasesChecked[data.address]['comment'] = data.comment;\n }\n });\n }\n return this.variablesService.aliasesChecked[address];\n }\n return {};\n }\n\n getContactAlias(): void {\n if (this.variablesService.contacts.length > 0 && this.variablesService.daemon_state === 2) {\n this.variablesService.contacts.map(contact => {\n this.getAliasByAddress(contact.address, (status, data) => {\n if (status) {\n if (data.alias) {\n contact.alias = '@' + data.alias;\n }\n } else {\n contact.alias = null;\n }\n });\n });\n }\n }\n\n getRecentTransfers(id, offset, count, exclude_mining_txs, callback): void {\n const params = {\n wallet_id: id,\n offset: offset,\n count: count,\n exclude_mining_txs: exclude_mining_txs,\n };\n this.runCommand(Commands.get_recent_transfers, params, callback);\n }\n\n getPoolInfo(callback): void {\n this.runCommand(Commands.get_tx_pool_info, {}, callback);\n }\n\n getVersion(callback): void {\n this.runCommand(Commands.get_version, {}, (status, version, errorVersion) => {\n this.runCommand(Commands.get_network_type, {}, (status_network, type, errorType) => {\n callback(version, type, errorVersion ?? errorType);\n });\n });\n }\n\n setLogLevel(level): void {\n this.runCommand(Commands.set_log_level, { v: level });\n }\n\n asyncCall(command: string, params: PramsObj, callback?: (job_id?: number) => void | any): void {\n this.runCommand(Commands.async_call, [command, params], (status, { job_id }: { job_id: number }) => {\n callback(job_id);\n });\n }\n\n dispatchAsyncCallResult(): void {\n this.backendObject[Commands.dispatch_async_call_result].connect((job_id: string, json_resp: string) => {\n const asyncCommandResults: AsyncCommandResults = {\n job_id: +job_id,\n response: JSON.parse(json_resp),\n };\n this.ngZone.run(() => this.dispatchAsyncCallResult$.next(asyncCommandResults));\n });\n }\n\n handleCurrentActionState(): void {\n this.backendObject[Commands.handle_current_action_state].connect((response: string) => {\n const currentActionState: CurrentActionState = JSON.parse(response);\n this.ngZone.run(() => this.handleCurrentActionState$.next(currentActionState));\n });\n }\n\n setEnableTor(value: boolean): void {\n this.runCommand(Commands.set_enable_tor, <{ v: boolean }>{\n v: value,\n });\n }\n\n getOptions(): any {\n this.runCommand(\n Commands.get_options,\n {},\n (status, { disable_price_fetch, use_debug_mode }: { disable_price_fetch: boolean; use_debug_mode: boolean }) => {\n this.variablesService.disable_price_fetch$.next(disable_price_fetch);\n this.variablesService.use_debug_mode$.next(use_debug_mode);\n }\n );\n }\n\n addCustomAssetId(\n params: ParamsAddCustomAssetId,\n callback: (\n status: boolean,\n response_data: ResponseAddCustomAssetId,\n res_error_code?: {\n error_code: 'FAILED' | string;\n response_data: {\n asset_descriptor: Partial;\n status: 'FAILED' | string;\n };\n }\n ) => void\n ): void {\n this.runCommand(Commands.add_custom_asset_id, params, callback);\n }\n\n removeCustomAssetId(\n params: ParamsRemoveCustomAssetId,\n callback?: (status: boolean, response_data: ResponseRemoveCustomAssetId) => void\n ): void {\n this.runCommand(Commands.remove_custom_asset_id, params, callback);\n }\n\n getWalletInfo(wallet_id, callback?: (status: boolean, response_data: ResponseGetWalletInfo) => void): void {\n this.runCommand(Commands.get_wallet_info, { wallet_id }, callback);\n }\n\n // Use for call rpc-api https://docs.zano.org/docs/build/rpc-api\n call_rpc(params: ParamsCallRpc, callback?: (status: boolean, response_data: any) => void): void {\n this.runCommand(Commands.call_rpc, params, callback);\n }\n\n private informerRun(error: string, params, command: string): void {\n let error_translate = '';\n switch (error) {\n case 'NOT_ENOUGH_MONEY':\n error_translate = 'ERRORS.NOT_ENOUGH_MONEY';\n // error_translate = 'ERRORS.NO_MONEY'; maybe that one?\n if (command === 'cancel_offer') {\n error_translate = this.translate.instant('ERRORS.NO_MONEY_REMOVE_OFFER', {\n fee: this.variablesService.default_fee,\n currency: this.variablesService.defaultCurrency,\n });\n }\n break;\n case 'CORE_BUSY':\n error_translate = 'ERRORS.CORE_BUSY';\n break;\n case 'BUSY':\n error_translate = 'ERRORS.DAEMON_BUSY';\n break;\n case 'OVERFLOW':\n if (command !== 'get_all_aliases') {\n error_translate = '';\n }\n break;\n case 'NOT_ENOUGH_OUTPUTS_FOR_MIXING':\n error_translate = 'ERRORS.NOT_ENOUGH_OUTPUTS_TO_MIX';\n break;\n case 'TX_IS_TOO_BIG':\n error_translate = 'ERRORS.TRANSACTION_IS_TO_BIG';\n break;\n case 'DISCONNECTED':\n error_translate = 'ERRORS.TRANSFER_ATTEMPT';\n break;\n case 'ACCESS_DENIED':\n error_translate = 'ERRORS.ACCESS_DENIED';\n break;\n case 'TX_REJECTED':\n // if (command === 'request_alias_registration') {\n // error_translate = 'INFORMER.ALIAS_IN_REGISTER';\n // } else {\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n // }\n break;\n case 'INTERNAL_ERROR':\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n break;\n case 'BAD_ARG':\n error_translate = 'ERRORS.BAD_ARG';\n break;\n case 'WALLET_WRONG_ID':\n error_translate = 'ERRORS.WALLET_WRONG_ID';\n break;\n case 'WALLET_WATCH_ONLY_NOT_SUPPORTED':\n error_translate = 'ERRORS.WALLET_WATCH_ONLY_NOT_SUPPORTED';\n break;\n // case 'WRONG_PASSWORD':\n // params = JSON.parse(params);\n // if (!params.testEmpty) {\n // error_translate = 'ERRORS.WRONG_PASSWORD';\n // }\n // break;\n case 'FILE_RESTORED':\n if (command === 'open_wallet') {\n error_translate = 'ERRORS.FILE_RESTORED';\n }\n break;\n case 'FILE_NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'CANCELED':\n case '':\n break;\n case 'FAIL':\n if (\n command === 'create_proposal' ||\n command === 'accept_proposal' ||\n command === 'release_contract' ||\n command === 'request_cancel_contract' ||\n command === 'accept_cancel_contract'\n ) {\n error_translate = ' ';\n }\n break;\n case 'ALREADY_EXISTS':\n error_translate = 'ERRORS.FILE_EXIST';\n break;\n case 'FAILED':\n BackendService.Debug(0, `Error: (${error}) was triggered by command: ${command}`);\n break;\n default:\n error_translate = '';\n }\n if (error.indexOf('FAIL:failed to save file') > -1) {\n error_translate = 'ERRORS.FILE_NOT_SAVED';\n }\n if (error.indexOf('FAILED:failed to open binary wallet file for saving') > -1 && command === 'generate_wallet') {\n error_translate = '';\n }\n\n if (error_translate !== '') {\n this.modalService.prepareModal('error', error_translate);\n }\n }\n\n private commandDebug(command: Commands, params: Params, result: any): void {\n BackendService.Debug(2, '----------------- ' + command + ' -----------------');\n const debug = {\n _send_params: params,\n _result: result,\n };\n BackendService.Debug(2, debug);\n try {\n BackendService.Debug(2, JSONBigNumber.parse(result, BackendService.bigNumberParser));\n } catch (e) {\n BackendService.Debug(2, { response_data: result, error_code: 'OK' });\n }\n }\n\n private backendCallback(resultStr, params, callback, command: Commands): any {\n let Result = resultStr;\n if (command !== Commands.get_clipboard) {\n if (!resultStr || resultStr === '') {\n Result = {};\n } else {\n try {\n Result = JSONBigNumber.parse(resultStr, BackendService.bigNumberParser);\n } catch (e) {\n Result = { response_data: resultStr, error_code: 'OK' };\n }\n }\n } else {\n Result = {\n error_code: 'OK',\n response_data: Result,\n };\n }\n\n const core_busy = Result.error_code === 'CORE_BUSY';\n const Status = Result.error_code === 'OK' || Result.error_code === 'TRUE';\n\n if (!Status && Status !== undefined && Result.error_code !== undefined) {\n BackendService.Debug(1, 'API error for command: \"' + command + '\". Error code: ' + Result.error_code);\n }\n const data = typeof Result === 'object' && 'response_data' in Result ? Result.response_data : Result;\n\n let res_error_code = false;\n if (\n typeof Result === 'object' &&\n 'error_code' in Result &&\n Result.error_code !== 'OK' &&\n Result.error_code !== 'TRUE' &&\n Result.error_code !== 'FALSE' &&\n Result.error_code !== 'WRAP'\n ) {\n if (core_busy) {\n setTimeout(() => {\n // this is will avoid update data when user\n // on other wallet after CORE_BUSY (blink of data)\n if (command !== Commands.get_recent_transfers) {\n this.runCommand(command, params, callback);\n } else {\n const current_wallet_id = this.variablesService.currentWallet.wallet_id;\n if (current_wallet_id === params.wallet_id) {\n this.runCommand(command, params, callback);\n }\n }\n }, 50);\n } else {\n this.informerRun(Result.error_code, params, command);\n res_error_code = Result.error_code;\n }\n }\n\n if (!core_busy) {\n if (typeof callback === 'function') {\n callback(Status, data, res_error_code);\n } else {\n return data;\n }\n }\n }\n\n private runCommand(command: Commands, params?: Params, callback?): any {\n if (!this.backendObject) {\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = true;\n }\n\n const Action = this.backendObject[command];\n\n if (!Action) {\n BackendService.Debug(0, 'Run Command Error! Command \"' + command + '\" don\\'t found in backendObject');\n return;\n }\n\n const type: ParamsType = getParamsType(params);\n params = params && convertorParams(params);\n\n if (type === ParamsType.array) {\n Action(...(params as string[]), resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = false;\n }\n Action(params, resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { WrapInfo } from '@api/models/wrap-info';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WrapInfoService {\n private httpClient = inject(HttpClient);\n\n getWrapInfo(): Observable {\n return this.httpClient.get('https://wrapped.zano.org/api2/get_wrap_info');\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [RouterModule.forRoot([], { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { BigNumber } from 'bignumber.js';\nimport { ModalService } from '@parts/services/modal.service';\nimport { StateKeys, Store } from '@store/store';\nimport { Subject, take } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { paths, pathsChildrenAuth } from './pages/paths';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog } from '@angular/cdk/dialog';\n\n@Component({\n selector: 'app-root',\n template: `\n \n\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n

\n \n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n

\n \n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n

\n
\n \n\n \n\n \n `,\n})\nexport class AppComponent implements OnInit, OnDestroy {\n intervalUpdatePriceState;\n\n intervalUpdateContractsState;\n\n expMedTsEvent;\n\n onQuitRequest = false;\n\n firstOnlineState = false;\n\n translateUsed = false;\n\n needOpenWallets = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public translate: TranslateService,\n private http: HttpClient,\n private renderer: Renderer2,\n private backendService: BackendService,\n private router: Router,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private modalService: ModalService,\n private store: Store,\n private dialog: Dialog\n ) {\n translate.addLangs(['en', 'fr', 'de', 'it', 'pt']);\n translate.setDefaultLang('en');\n translate.use('en').subscribe({\n next: () => {\n this.translateUsed = true;\n },\n });\n }\n\n setBackendLocalization(): void {\n if (this.translateUsed) {\n const stringsArray = [\n this.translate.instant('BACKEND_LOCALIZATION.QUIT'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_RECEIVED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_UNCONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.MINED'),\n this.translate.instant('BACKEND_LOCALIZATION.LOCKED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_MINIMIZE'),\n this.translate.instant('BACKEND_LOCALIZATION.RESTORE'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_SHOW'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_MINIMIZE'),\n ];\n this.backendService.setBackendLocalization(stringsArray, this.variablesService.settings.language);\n } else {\n console.warn('wait translate use');\n setTimeout(() => {\n this.setBackendLocalization();\n }, 10000);\n }\n }\n\n ngOnInit(): void {\n this.backendService.initService().subscribe({\n next: initMessage => {\n console.log('Init message: ', initMessage);\n this.backendService.getOptions();\n this.backendService.webkitLaunchedScript();\n\n this.backendService.start_backend(false, '127.0.0.1', 11512, (st2, dd2) => {\n console.log(st2, dd2);\n });\n\n this.backendService.eventSubscribe(Commands.quit_requested, async () => {\n if (this.onQuitRequest) {\n return;\n }\n\n await this.ngZone.run(async () => {\n await this.router.navigate(['/']);\n });\n\n this.dialog.closeAll();\n this.needOpenWallets = [];\n this.variablesService.daemon_state = 5;\n\n const saveFunction = (): void => {\n this.backendService.storeAppData((): void => {\n const recursionCloseWallets = (): void => {\n if (this.variablesService.wallets.length > 0) {\n const lastIndex = this.variablesService.wallets.length - 1;\n this.backendService.closeWallet(this.variablesService.wallets[lastIndex].wallet_id, () => {\n this.variablesService.wallets.splice(lastIndex, 1);\n recursionCloseWallets();\n });\n } else {\n this.ngZone.run(() => {\n this.backendService.quitRequest();\n });\n }\n };\n recursionCloseWallets();\n });\n };\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData(saveFunction);\n } else {\n saveFunction();\n }\n\n this.onQuitRequest = true;\n });\n\n this.backendService.eventSubscribe(Commands.update_wallet_status, data => {\n console.log('----------------- update_wallet_status -----------------');\n console.log(data);\n\n const wallet_state = data.wallet_state;\n const is_mining = data.is_mining;\n const wallet = this.variablesService.getWallet(data.wallet_id);\n // 1-synch, 2-ready, 3 - error\n if (wallet) {\n this.ngZone.run(() => {\n wallet.loaded = false;\n wallet.staking = is_mining;\n if (wallet_state === 2) {\n // ready\n wallet.loaded = true;\n }\n if (wallet_state === 3) {\n // error\n // wallet.error = true;\n }\n wallet.balances = data.balances;\n wallet.mined_total = data.minied_total;\n wallet.alias_available = data.is_alias_operations_available;\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.wallet_sync_progress, data => {\n console.log('----------------- wallet_sync_progress -----------------');\n console.log(data);\n const wallet = this.variablesService.getWallet(data.wallet_id);\n if (wallet) {\n this.ngZone.run(() => {\n wallet.progress = data.progress < 0 ? 0 : data.progress > 100 ? 100 : data.progress;\n if (!this.variablesService.sync_started) {\n this.variablesService.sync_started = true;\n this.variablesService.sync_wallets[wallet.wallet_id] = true;\n }\n this.addToStore(wallet, true); // subscribe on data\n if (wallet.progress === 0) {\n wallet.loaded = false;\n } else if (wallet.progress === 100) {\n wallet.loaded = true;\n this.addToStore(wallet, false);\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[wallet.wallet_id] = false;\n }\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.update_daemon_state, data => {\n console.log('----------------- update_daemon_state -----------------');\n console.log('DAEMON:' + data.daemon_network_state);\n console.log(data);\n // this.variablesService.exp_med_ts = data['expiration_median_timestamp'] + 600 + 1;\n this.variablesService.setExpMedTs(data['expiration_median_timestamp'] + 600 + 1);\n this.variablesService.net_time_delta_median = data.net_time_delta_median;\n this.variablesService.last_build_available = data.last_build_available;\n this.variablesService.last_build_displaymode = data.last_build_displaymode;\n this.variablesService.setHeightApp(data.height);\n this.variablesService.setHeightMax(data.max_net_seen_height);\n\n this.variablesService.setDownloadedBytes(data.downloaded_bytes);\n this.variablesService.setTotalBytes(data.download_total_data_size);\n\n this.backendService.getContactAlias();\n this.ngZone.run(() => {\n this.variablesService.daemon_state = data['daemon_network_state'];\n if (data['daemon_network_state'] === 1) {\n const max = data['max_net_seen_height'] - data['synchronization_start_height'];\n const current = data.height - data['synchronization_start_height'];\n const return_val = Math.floor(((current * 100) / max) * 100) / 100;\n if (max === 0 || return_val < 0) {\n this.variablesService.sync.progress_value = 0;\n this.variablesService.sync.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.sync.progress_value = 100;\n this.variablesService.sync.progress_value_text = '99.99';\n } else {\n this.variablesService.sync.progress_value = return_val;\n this.variablesService.sync.progress_value_text = return_val.toFixed(2);\n }\n }\n\n if (data['daemon_network_state'] === 6) {\n const max = data['download_total_data_size'];\n const current = data['downloaded_bytes'];\n const return_val = Math.floor((current / max) * 100);\n if (max === 0 || return_val < 0) {\n this.variablesService.download.progress_value = 0;\n this.variablesService.download.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.download.progress_value = 100;\n this.variablesService.download.progress_value_text = '99.99';\n } else {\n this.variablesService.download.progress_value = return_val;\n this.variablesService.download.progress_value_text = return_val.toFixed(2);\n }\n }\n });\n if (!this.firstOnlineState && data['daemon_network_state'] === 2) {\n this.getAliases();\n this.backendService.getContactAlias();\n this.backendService.getDefaultFee((status_fee, data_fee) => {\n this.variablesService.default_fee_big = new BigNumber(data_fee);\n this.variablesService.default_fee = this.intToMoneyPipe.transform(data_fee);\n });\n this.firstOnlineState = true;\n }\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer, data => {\n console.log('----------------- money_transfer -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n\n const wallet = this.variablesService.getWallet(wallet_id);\n if (wallet) {\n if (wallet.history.length > 40) {\n wallet.history.splice(40, 1);\n }\n this.ngZone.run(() => {\n wallet.balances = data.balances;\n\n if (tr_info.tx_type === 6) {\n this.variablesService.setRefreshStacking(wallet_id);\n }\n\n let tr_exists = wallet.excluded_history.some(elem => elem.tx_hash === tr_info.tx_hash);\n tr_exists = !tr_exists ? wallet.history.some(elem => elem.tx_hash === tr_info.tx_hash) : tr_exists;\n\n if (wallet.currentPage === 1) {\n wallet.prepareHistory([tr_info]);\n if (wallet.restore) {\n wallet.total_history_item = wallet.history.length;\n wallet.totalPages = Math.ceil(wallet.total_history_item / this.variablesService.count);\n wallet.totalPages > this.variablesService.maxPages\n ? (wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (wallet.pages = new Array(wallet.totalPages).fill(1).map((value, index) => value + index));\n }\n }\n\n if (hasOwnProperty(tr_info, 'contract')) {\n const exp_med_ts = this.variablesService.exp_med_ts;\n const height_app = this.variablesService.height_app;\n const contract = tr_info.contract[0];\n if (tr_exists) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (wallet.contracts[i].contract_id === contract.contract_id && wallet.contracts[i].is_a === contract.is_a) {\n wallet.contracts[i].cancel_expiration_time = contract.cancel_expiration_time;\n wallet.contracts[i].expiration_time = contract.expiration_time;\n wallet.contracts[i].height = contract.height;\n wallet.contracts[i].timestamp = contract.timestamp;\n break;\n }\n }\n // $rootScope.getContractsRecount();\n return;\n }\n\n if (contract.state === 1 && contract.expiration_time < exp_med_ts) {\n contract.state = 110;\n } else if (contract.state === 5 && contract.cancel_expiration_time < exp_med_ts) {\n contract.state = 130;\n } else if (contract.state === 1) {\n const searchResult2 = this.variablesService.settings.notViewedContracts.find(\n elem => elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult2) {\n if (searchResult2.time === contract.expiration_time) {\n contract.state = 110;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 2 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 201;\n } else if (contract.state === 2) {\n const searchResult3 = this.variablesService.settings.viewedContracts.some(\n elem => elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult3) {\n contract.state = 120;\n }\n } else if (contract.state === 5) {\n const searchResult4 = this.variablesService.settings.notViewedContracts.find(\n elem => elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult4) {\n if (searchResult4.time === contract.cancel_expiration_time) {\n contract.state = 130;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 6 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 601;\n }\n\n const searchResult = this.variablesService.settings.viewedContracts.some(\n elem => elem.state === contract.state && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n contract.is_new = !searchResult;\n\n let findContract = false;\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (wallet.contracts[i].contract_id === contract.contract_id && wallet.contracts[i].is_a === contract.is_a) {\n for (const prop in contract) {\n if (hasOwnProperty(contract, prop)) {\n wallet.contracts[i][prop] = contract[prop];\n }\n }\n findContract = true;\n break;\n }\n }\n if (findContract === false) {\n wallet.contracts.push(contract);\n }\n // wallet.recountNewContracts();\n }\n });\n }\n });\n\n this.backendService.backendObject[Commands.handle_deeplink_click].connect(data => {\n console.log('----------------- handle_deeplink_click -----------------');\n console.log(data);\n this.ngZone.run(() => {\n if (data) {\n this.variablesService.deeplink$.next(data);\n }\n });\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer_cancel, data => {\n console.log('----------------- money_transfer_cancel -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n const wallet = this.variablesService.getWallet(wallet_id);\n\n if (wallet) {\n if (hasOwnProperty(tr_info, 'contract')) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === tr_info.contract[0].contract_id &&\n wallet.contracts[i].is_a === tr_info.contract[0].is_a\n ) {\n if (wallet.contracts[i].state === 1 || wallet.contracts[i].state === 110) {\n wallet.contracts[i].is_new = true;\n wallet.contracts[i].state = 140;\n // wallet.recountNewContracts();\n }\n break;\n }\n }\n }\n\n wallet.removeFromHistory(tr_info.tx_hash);\n\n let error_tr = '';\n switch (tr_info.tx_type) {\n case 0:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NORMAL') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_TO') +\n ' ' +\n this.intToMoneyPipe.transform(tr_info.amount) +\n ' ' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_END');\n break;\n case 1:\n // this.translate.instant('ERRORS.TX_TYPE_PUSH_OFFER');\n break;\n case 2:\n // this.translate.instant('ERRORS.TX_TYPE_UPDATE_OFFER');\n break;\n case 3:\n // this.translate.instant('ERRORS.TX_TYPE_CANCEL_OFFER');\n break;\n case 4:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 5:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_UPDATE_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 6:\n error_tr = this.translate.instant('ERRORS.TX_TYPE_COIN_BASE');\n break;\n }\n if (error_tr) {\n this.modalService.prepareModal('error', error_tr);\n }\n }\n });\n\n this.backendService.eventSubscribe(Commands.on_core_event, data => {\n console.log('----------------- on_core_event -----------------');\n console.log(data);\n\n data = JSON.parse(data);\n\n if (data.events != null) {\n for (let i = 0, length = data.events.length; i < length; i++) {\n switch (data.events[i].method) {\n case 'CORE_EVENT_BLOCK_ADDED':\n break;\n case 'CORE_EVENT_ADD_ALIAS':\n if (this.variablesService.aliasesChecked[data.events[i].details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.address]['name'] = '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.address]['address'] = data.events[i].details.address;\n this.variablesService.aliasesChecked[data.events[i].details.address]['comment'] = data.events[i].details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const newAlias = {\n name: '@' + data.events[i].details.alias,\n address: data.events[i].details.address,\n comment: data.events[i].details.comment,\n };\n this.variablesService.aliases = this.variablesService.aliases.concat(newAlias);\n this.variablesService.changeAliases();\n }\n break;\n case 'CORE_EVENT_UPDATE_ALIAS':\n for (const address in this.variablesService.aliasesChecked) {\n if (hasOwnProperty(this.variablesService.aliasesChecked, address)) {\n if (this.variablesService.aliasesChecked[address].name === '@' + data.events[i].details.alias) {\n if (this.variablesService.aliasesChecked[address].address !== data.events[i].details.details.address) {\n delete this.variablesService.aliasesChecked[address]['name'];\n delete this.variablesService.aliasesChecked[address]['address'];\n delete this.variablesService.aliasesChecked[address]['comment'];\n } else {\n this.variablesService.aliasesChecked[address].comment = data.events[i].details.details.comment;\n }\n break;\n }\n }\n }\n if (this.variablesService.aliasesChecked[data.events[i].details.details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['name'] =\n '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['address'] =\n data.events[i].details.details.address;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['comment'] =\n data.events[i].details.details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const CurrentAlias = this.variablesService.aliases.find(element => element.name === '@' + data.events[i].details.alias);\n if (CurrentAlias) {\n CurrentAlias.address = data.events[i].details.details.address;\n CurrentAlias.comment = data.events[i].details.details.comment;\n }\n }\n this.variablesService.changeAliases();\n break;\n default:\n break;\n }\n }\n }\n });\n\n this.intervalUpdateContractsState = setInterval(() => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (contract.state === 201 && contract.height !== 0 && this.variablesService.height_app - contract.height >= 10) {\n contract.state = 2;\n contract.is_new = true;\n console.warn('need check state in contracts');\n } else if (contract.state === 601 && contract.height !== 0 && this.variablesService.height_app - contract.height >= 10) {\n contract.state = 6;\n contract.is_new = true;\n }\n });\n });\n }, 30000);\n\n this.expMedTsEvent = this.variablesService.getExpMedTsEvent.subscribe({\n next: (newTimestamp: number) => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (contract.state === 1 && contract.expiration_time <= newTimestamp) {\n contract.state = 110;\n contract.is_new = true;\n } else if (contract.state === 5 && contract.cancel_expiration_time <= newTimestamp) {\n contract.state = 130;\n contract.is_new = true;\n }\n });\n });\n },\n });\n\n this.backendService.getAppData((status, data) => {\n if (data && Object.keys(data).length > 0) {\n for (const key in data) {\n if (hasOwnProperty(data, key) && hasOwnProperty(this.variablesService.settings, key)) {\n this.variablesService.settings[key] = data[key];\n }\n }\n // TODO: Delete this line after return appUseTor\n this.variablesService.settings.appUseTor = false;\n if (\n hasOwnProperty(this.variablesService.settings, 'scale') &&\n ['8px', '10px', '12px', '14px'].indexOf(this.variablesService.settings.scale) !== -1\n ) {\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n } else {\n this.variablesService.settings.scale = '10px';\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n }\n }\n this.translate.use(this.variablesService.settings.language);\n this.setBackendLocalization();\n\n this.backendService.setLogLevel(this.variablesService.settings.appLog);\n this.backendService.setEnableTor(this.variablesService.settings.appUseTor);\n\n if (!this.variablesService.settings.wallets || this.variablesService.settings.wallets.length === 0) {\n return this.router.navigate([`${paths.auth}/${pathsChildrenAuth.noWallet}`]).then();\n }\n\n if (this.router.url !== '/login') {\n this.backendService.haveSecureAppData(statusPass => {\n if (statusPass) {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n } else {\n if (Object.keys(data).length !== 0) {\n this.needOpenWallets = JSON.parse(JSON.stringify(this.variablesService.settings.wallets));\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'reg' },\n });\n });\n }\n }\n });\n }\n });\n\n this.backendService.dispatchAsyncCallResult();\n\n this.backendService.handleCurrentActionState();\n\n this.getVersion();\n },\n error: error => {\n console.log(error);\n },\n });\n\n this.variablesService.disable_price_fetch$.pipe(takeUntil(this.destroy$)).subscribe({\n next: disable_price_fetch => {\n if (!disable_price_fetch) {\n this.updateMoneyEquivalent();\n this.intervalUpdatePriceState = setInterval(() => {\n this.updateMoneyEquivalent();\n }, 30000);\n } else {\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n if (this.intervalUpdateContractsState) {\n clearInterval(this.intervalUpdateContractsState);\n }\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n this.expMedTsEvent.unsubscribe();\n }\n\n updateMoneyEquivalent(): void {\n this.http\n .get('https://api.coingecko.com/api/v3/ping')\n .pipe(take(1))\n .subscribe({\n next: () => {\n this.http\n .get('https://api.coingecko.com/api/v3/simple/price?ids=zano&vs_currencies=usd&include_24hr_change=true')\n .pipe(take(1))\n .subscribe({\n next: data => {\n this.variablesService.moneyEquivalent = data['zano']['usd'];\n this.variablesService.moneyEquivalentPercent = data['zano']['usd_24h_change'];\n },\n error: error => {\n console.warn('api.coingecko.com price error: ', error);\n },\n });\n },\n error: error => {\n console.warn('api.coingecko.com error: ', error);\n },\n });\n }\n\n getAliases(): void {\n this.backendService.getAllAliases((status, data, error) => {\n console.warn(error);\n\n if (error === 'CORE_BUSY') {\n window.setTimeout(() => {\n this.getAliases();\n }, 10000);\n } else if (error === 'OVERFLOW') {\n this.variablesService.aliases = [];\n this.variablesService.enableAliasSearch = false;\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n } else {\n this.variablesService.enableAliasSearch = true;\n if (data.aliases && data.aliases.length) {\n this.variablesService.aliases = [];\n data.aliases.forEach(alias => {\n const newAlias = {\n name: '@' + alias.alias,\n address: alias.address,\n comment: alias.comment,\n };\n this.variablesService.aliases.push(newAlias);\n });\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n this.variablesService.aliases = this.variablesService.aliases.sort((a, b) => {\n if (a.name.length > b.name.length) {\n return 1;\n }\n if (a.name.length < b.name.length) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n return 0;\n });\n this.variablesService.changeAliases();\n }\n }\n });\n }\n\n addToStore(wallet, boolean): void {\n const value = this.store.state.sync;\n if (value && value.length > 0) {\n const sync = value.filter(item => item.wallet_id === wallet.wallet_id);\n if (sync && sync.length > 0) {\n const result = value.map(item => {\n if (item.wallet_id === wallet.wallet_id) {\n return { sync: boolean, wallet_id: wallet.wallet_id };\n } else {\n return item;\n }\n });\n this.store.set(StateKeys.sync, result);\n } else {\n value.push({ sync: boolean, wallet_id: wallet.wallet_id });\n this.store.set(StateKeys.sync, value);\n }\n } else {\n this.store.set(StateKeys.sync, [{ sync: boolean, wallet_id: wallet.wallet_id }]);\n }\n }\n\n getVersion(): void {\n this.backendService.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n console.log('----------------- version -----------------', version);\n console.log('----------------- type -----------------', type);\n this.variablesService.testnet = type === 'testnet';\n this.variablesService.networkType = type;\n }\n });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { PagesModule } from './pages/pages.module';\nimport { CommonModule } from '@angular/common';\nimport { TranslateLoader, TranslateModule, TranslateModuleConfig } from '@ngx-translate/core';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ChartModule, HIGHCHARTS_MODULES } from 'angular-highcharts';\nimport * as highcharts from 'highcharts';\nimport exporting from 'highcharts/modules/exporting.src';\nimport { MoneyToIntPipeModule } from '@parts/pipes';\nimport { OpenWalletModalComponent } from '@parts/modals/open-wallet-modal/open-wallet-modal.component';\nimport { FlexModule } from '@angular/flex-layout';\nimport { FormsModule } from '@angular/forms';\nimport { RegisterContextTemplatesComponent } from '@parts/components/register-context-templates.component';\n\nexport function highchartsFactory(): any[] {\n highcharts.setOptions({\n time: {\n useUTC: false,\n },\n });\n\n return [exporting];\n}\n\nexport const provideHighchartsFactory = {\n provide: HIGHCHARTS_MODULES,\n useFactory: highchartsFactory,\n};\n\nexport function HttpLoaderFactory(httpClient: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\n}\n\nexport const translateModuleConfig: TranslateModuleConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n};\n\n@NgModule({\n declarations: [AppComponent, OpenWalletModalComponent],\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n TranslateModule.forRoot(translateModuleConfig),\n AppRoutingModule,\n PagesModule,\n ChartModule,\n MoneyToIntPipeModule,\n FlexModule,\n FormsModule,\n RegisterContextTemplatesComponent,\n ],\n providers: [provideHighchartsFactory],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-full-layout',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class FullLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FullLayoutComponent } from './full-layout.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [FullLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule],\n exports: [FullLayoutComponent],\n})\nexport class FullLayoutModule {}\n","import { Component, NgZone, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-sidebar',\n template: `\n
\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n \n {{ 'SIDEBAR.ADD_NEW' | translate }}\n \n\n \n \n {{ 'SIDEBAR.SETTINGS' | translate }}\n \n\n \n \n \n {{ 'SIDEBAR.LOG_OUT' | translate }}\n \n \n\n \n \n \n {{ 'SIDEBAR.LOG_OUT' | translate }}\n \n \n
\n \n\n
\n \n
\n\n \n `,\n styles: [],\n})\nexport class SidebarComponent implements OnDestroy {\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private ngZone: NgZone,\n private dialog: Dialog\n ) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n goMainPage(): void {\n if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl === 'login') {\n this.ngZone.run(() => {\n this.router.navigate(['/'], { queryParams: { prevUrl: 'login' } });\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n\n selectWallet(id: number): void {\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(id);\n this.router.navigate(['/wallet/assets']);\n });\n }\n\n drop(event: CdkDragDrop): void {\n moveItemInArray(this.variablesService.wallets, event.previousIndex, event.currentIndex);\n }\n\n beforeClose(wallet_id): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.closeWallet(wallet_id),\n });\n }\n\n closeWallet(wallet_id): void {\n this.walletsService.closeWallet(wallet_id);\n }\n\n logOut(): void {\n this.variablesService.stopCountdown();\n this.variablesService.appLogin = false;\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.router.navigate(['/login'], { queryParams: { type: 'auth' } });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarComponent } from './sidebar.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from '../../pages/deeplink/deeplink.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { WalletCardComponent } from '@parts/components/wallet-card.component';\n\n@NgModule({\n declarations: [SidebarComponent],\n imports: [\n CommonModule,\n RouterModule,\n DragDropModule,\n TooltipModule,\n TranslateModule,\n DisablePriceFetchModule,\n ConfirmModalModule,\n SynchronizationStatusComponent,\n DeeplinkModule,\n StakingSwitchComponent,\n FlexLayoutModule,\n IntToMoneyPipeModule,\n WalletCardComponent,\n ],\n exports: [SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-with-sidebar-layout',\n template: `\n \n\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n display: flex;\n }\n `,\n ],\n})\nexport class WithSidebarLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WithSidebarLayoutComponent } from './with-sidebar-layout.component';\nimport { SidebarModule } from '../sidebar/sidebar.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [WithSidebarLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule, SidebarModule],\n exports: [WithSidebarLayoutComponent],\n})\nexport class WithSidebarLayoutModule {}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { filePathWalletValidator } from '@parts/utils/zano-validators';\nimport { ModalService } from '@parts/services/modal.service';\n\n@Component({\n selector: 'app-add-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n

\n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n
\n
\n
\n
\n `,\n})\nexport class AddWalletComponent {\n private translateService = inject(TranslateService);\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private modalService: ModalService,\n private backendService: BackendService,\n private ngZone: NgZone\n ) {}\n\n openWallet(): void {\n const caption = this.translateService.instant('MAIN.CHOOSE_PATH');\n const default_path = this.variablesService.settings.default_path;\n this.backendService.openFileDialog(caption, '*', default_path, async (file_status, file_data) => {\n if (!file_status) {\n if (file_data['error_code'] !== 'CANCELED') {\n this.modalService.prepareModal('error', file_data['error_code']);\n }\n return;\n }\n const positionLastSlash = file_data.path.lastIndexOf('/');\n const new_default_path = file_data.path.slice(0, positionLastSlash);\n const error = filePathWalletValidator(file_data.path);\n\n if (error) {\n const text = this.translateService.instant(error.errorText);\n this.modalService.prepareModal('error', text);\n return;\n }\n\n this.variablesService.settings.default_path = new_default_path;\n await this.ngZone.run(async () => {\n await this.router.navigate(['/open'], {\n queryParams: { path: file_data.path },\n });\n });\n });\n }\n\n openInBrowser(): void {\n this.backendService.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport BigNumber from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-assign-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ASSIGN_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n {{ 'ASSIGN_ALIAS.NAME.LABEL' | translate }}\n \n
\n \n
\n \n 6 &&\n assignForm.get('name').value.length <= 25\n \"\n >\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_WRONG' | translate }}\n
\n
25\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_LENGTH' | translate }}\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_EXISTS' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n \n {{ 'ASSIGN_ALIAS.COMMENT.LABEL' | translate }}\n \n \n \n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n

\n {{\n 'ASSIGN_ALIAS.COST'\n | translate\n : {\n value: alias.price | intToMoney,\n currency: variablesService.defaultCurrency\n }\n }}\n

\n\n \n {{ 'ASSIGN_ALIAS.BUTTON_ASSIGN' | translate }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class AssignAliasComponent implements OnInit, OnDestroy {\n wallet: Wallet;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.ASSIGN_ALIAS',\n },\n ];\n\n fb = inject(FormBuilder);\n\n assignForm = this.fb.group({\n name: this.fb.nonNullable.control('', [Validators.required, Validators.pattern(regExpAliasName)]),\n comment: this.fb.nonNullable.control('', [Validators.maxLength(this.variablesService.maxCommentLength)]),\n });\n\n alias = {\n name: '',\n fee: this.variablesService.default_fee,\n price: new BigNumber(0),\n reward: '0',\n rewardOriginal: '0',\n comment: '',\n exists: false,\n };\n\n canRegister = false;\n\n notEnoughMoney = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private intToMoney: IntToMoneyPipe\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n this.assignForm\n .get('name')\n .valueChanges.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: value => {\n this.canRegister = false;\n this.alias.exists = false;\n const newName = value.toLowerCase().replace('@', '');\n if (\n !(this.assignForm.controls['name'].errors && hasOwnProperty(this.assignForm.controls['name'].errors, 'pattern')) &&\n newName.length >= 6 &&\n newName.length <= 25\n ) {\n this.backend.getAliasInfoByName(newName, status => {\n this.ngZone.run(() => {\n this.alias.exists = status;\n });\n if (!status) {\n this.alias.price = new BigNumber(0);\n this.backend.getAliasCoast(newName, (statusPrice, dataPrice) => {\n this.ngZone.run(() => {\n if (statusPrice) {\n this.alias.price = BigNumber.sum(dataPrice['coast'], this.variablesService.default_fee_big);\n }\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = this.alias.price.isGreaterThan(unlocked_balance);\n this.alias.reward = this.intToMoney.transform(this.alias.price, false);\n this.alias.rewardOriginal = this.intToMoney.transform(dataPrice['coast'], false);\n this.canRegister = !this.notEnoughMoney;\n });\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n this.alias.name = newName;\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n assignAlias(): void {\n const alias = this.backend.getWalletAlias(this.wallet.address);\n if (hasOwnProperty(alias, 'name')) {\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.ONE_ALIAS');\n } else {\n this.alias.comment = this.assignForm.get('comment').value;\n this.backend.registerAlias(\n this.wallet.wallet_id,\n this.alias.name,\n this.wallet.address,\n this.alias.fee,\n this.alias.comment,\n this.alias.rewardOriginal,\n async status => {\n if (status) {\n this.wallet.wakeAlias = true;\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.REQUEST_ADD_REG');\n await this.ngZone.run(async () => {\n await this.router.navigate(['/wallet/']);\n });\n }\n }\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { paths, pathsChildrenAuth } from '../paths';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { FullLayoutComponent } from '../../layouts/full-layout/full-layout.component';\n\nconst routes: Routes = [\n {\n path: paths.auth,\n component: FullLayoutComponent,\n children: [\n {\n path: pathsChildrenAuth.noWallet,\n component: NoWalletComponent,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthRoutingModule } from './auth-routing.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\n\n@NgModule({\n declarations: [NoWalletComponent],\n imports: [CommonModule, AuthRoutingModule, TranslateModule, FlexLayoutModule, SynchronizationStatusComponent],\n})\nexport class AuthModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-login',\n template: `\n
\n
\n \n\n
\n
\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\n
\n
\n
\n
\n\n \n {{ 'LOGIN.BUTTON_NEXT' | translate }}\n \n\n \n {{ 'LOGIN.BUTTON_SKIP' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'LOGIN.FORM_ERRORS.INVALID_PASS' | translate }}\n
\n
\n
\n
\n \n\n \n \n
\n\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n fb = inject(FormBuilder);\n\n regForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmation: this.fb.nonNullable.control(''),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmation')],\n }\n );\n\n authForm = this.fb.group({\n password: this.fb.nonNullable.control(''),\n });\n\n type = 'reg';\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.type) {\n this.type = params.type;\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onSubmitCreatePass(): void {\n if (this.regForm.valid) {\n this.variablesService.appPass = this.regForm.get('password').value; // the pass what was written in input of login form by user\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n } else {\n console.log(data['error_code']);\n }\n });\n }\n }\n\n onSkipCreatePass(): void {\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n }\n\n dropSecureAppData(): void {\n this.backend.dropSecureAppData(() => {\n this.onSkipCreatePass();\n });\n this.closeAllWallets();\n this.variablesService.contacts = [];\n }\n\n onSubmitAuthPass(): void {\n if (this.authForm.valid) {\n this.variablesService.appPass = this.authForm.get('password').value;\n if (this.variablesService.dataIsLoaded) {\n this.backend.checkMasterPassword({ pass: this.variablesService.appPass }, status => {\n if (status) {\n this.variablesService.appLogin = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.router.navigate(['/'], {\n queryParams: { prevUrl: 'login' },\n });\n });\n } else {\n this.ngZone.run(() => {\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n } else {\n this.getData(this.variablesService.appPass);\n }\n }\n }\n\n getData(appPass): void {\n this.backend.getSecureAppData({ pass: appPass }, (status, data) => {\n if (!data.error_code) {\n this.setAuthPassError(null);\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.variablesService.appPass = appPass;\n const isEmptyObject = Object.keys(data).length === 0 && data.constructor === Object;\n\n if (this.variablesService.wallets.length > 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n return;\n }\n if (hasOwnProperty(data, 'contracts')) {\n if (Object.keys(data['contacts']).length !== 0) {\n data['contacts'].map(contact => {\n this.variablesService.contacts.push(contact);\n });\n }\n }\n if (hasOwnProperty(data, 'wallets')) {\n if (Object.keys(data['wallets']).length !== 0) {\n this.getWalletData(data['wallets']);\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n if (!hasOwnProperty(data, 'wallets') && !hasOwnProperty(data, 'contracts')) {\n if (data.length !== 0 && !isEmptyObject) {\n this.getWalletData(data);\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n }\n\n if (data.error_code === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n }\n\n getWalletData(walletData): void {\n let openWallets = 0;\n let runWallets = 0;\n walletData.forEach((wallet, wallet_index) => {\n this.backend.openWallet(wallet.path, wallet.pass, this.variablesService.count, true, (open_status, open_data, open_error) => {\n if (open_status || open_error === 'FILE_RESTORED') {\n openWallets++;\n this.ngZone.run(() => {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n wallet.name,\n wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n if (wallet.staking) {\n new_wallet.staking = true;\n this.backend.startPosMining(new_wallet.wallet_id);\n } else {\n new_wallet.staking = false;\n }\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n if (this.variablesService.wallets.length === 1) {\n this.router.navigate(['/wallet/']);\n }\n });\n this.backend.runWallet(open_data.wallet_id, run_status => {\n if (run_status) {\n runWallets++;\n } else {\n if (wallet_index === walletData.length - 1 && runWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n } else {\n if (wallet_index === walletData.length - 1 && openWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n });\n }\n\n closeAllWallets(): void {\n this.variablesService.wallets.forEach(({ wallet_id }) => this.closeWallet(wallet_id));\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n }\n\n closeWallet(wallet_id) {\n this.backend.closeWallet(wallet_id, () => {\n for (let i = this.variablesService.wallets.length - 1; i >= 0; i--) {\n this.variablesService.wallets.splice(i, 1);\n }\n });\n }\n\n private setAuthPassError(errors: ValidationErrors | null): void {\n this.authForm.controls['password'].setErrors(errors);\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { paths } from '../../paths';\n\n@Component({\n selector: 'app-no-wallet',\n template: `\n
\n
\n \n\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n

\n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class NoWalletComponent {\n paths = paths;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n openWallet(): void {\n this.backend.openFileDialog(\n this.translate.instant('MAIN.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n this.ngZone.run(() => {\n this.router\n .navigate(['/' + paths.open], {\n queryParams: { path: file_data.path },\n })\n .then();\n });\n } else {\n console.log(file_data['error_code']);\n }\n }\n );\n }\n\n openInBrowser(): void {\n this.backend.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-create-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
variablesService.maxWalletNameLength\" class=\"error\">\n {{ 'CREATE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\"\n [readonly]=\"createForm.controls.path.valid\"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\"\n class=\"error\"\n >\n {{ 'CREATE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n\n \n\n \n {{ 'CREATE_WALLET.BUTTON_SELECT' | translate }}\n \n\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class CreateWalletComponent {\n variablesService = inject(VariablesService);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.CREATE_WALLET',\n },\n ];\n\n walletsService = inject(WalletsService);\n\n fb = inject(NonNullableFormBuilder);\n\n createForm = this.fb.group(\n {\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.control(''),\n path: this.fb.control('', Validators.required),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n private router = inject(Router);\n\n private backend = inject(BackendService);\n\n private modalService = inject(ModalService);\n\n private ngZone = inject(NgZone);\n\n private translate = inject(TranslateService);\n\n get savedWalletName(): string {\n const path = this.createForm.get('path').value;\n return path.substr(path.lastIndexOf('/') + 1, path.length - 1);\n }\n\n createWallet(): void {\n const { path: selectedPath, password, name } = this.createForm.getRawValue();\n this.backend.generateWallet(selectedPath, password, async (generate_status, generate_data, errorCode) => {\n if (generate_status) {\n const { wallet_id } = generate_data;\n const { path, address, balance, unlocked_balance, mined_total, tracking_hey } = generate_data['wi'];\n const wallet = new Wallet(wallet_id, name, password, path, address, balance, unlocked_balance, mined_total, tracking_hey);\n wallet.alias = this.backend.getWalletAlias(address);\n wallet.total_history_item = 0;\n wallet.pages = new Array(1).fill(1);\n wallet.totalPages = 1;\n wallet.currentPage = 1;\n await this.backend.runWallet(wallet_id, async (run_status, run_data) => {\n if (run_status) {\n await this.ngZone.run(async () => {\n this.walletsService.addWallet(wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.variablesService.setCurrentWallet(wallet_id);\n await this.router.navigate(['/seed-phrase'], { queryParams: { wallet_id } });\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n } else {\n const errorTranslationKey =\n errorCode === 'ALREADY_EXISTS' ? 'CREATE_WALLET.ERROR_CANNOT_SAVE_TOP' : 'CREATE_WALLET.ERROR_CANNOT_SAVE_SYSTEM';\n this.modalService.prepareModal('error', errorTranslationKey);\n }\n });\n }\n\n selectWalletLocation(): void {\n const caption = this.translate.instant('CREATE_WALLET.TITLE_SAVE');\n const fileMask = '*';\n const { default_path } = this.variablesService.settings;\n this.backend.saveFileDialog(caption, fileMask, default_path, (file_status, file_data) => {\n if (file_status) {\n this.ngZone.run(() => {\n const { path } = file_data;\n this.createForm.get('path').patchValue(path);\n this.variablesService.settings.default_path = path.substr(0, path.lastIndexOf('/'));\n });\n }\n });\n }\n}\n","import { delay, takeUntil } from 'rxjs/operators';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-deeplink',\n template: `\n \n \n\n \n \n `,\n styles: [],\n})\nexport class DeeplinkComponent implements OnInit, OnDestroy {\n deeplink$ = new BehaviorSubject(null);\n\n private destroy$ = new Subject();\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.variablesService.deeplink$.pipe(delay(200), takeUntil(this.destroy$)).subscribe({\n next: data => {\n this.deeplink$.next(data);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalModule } from './modals/deeplink-modal/deeplink-modal.module';\nimport { DeeplinkComponent } from './deeplink.component';\nimport { SyncModalModule } from './modals/sync-modal/sync-modal.module';\n\n@NgModule({\n declarations: [DeeplinkComponent],\n imports: [CommonModule, DeeplinkModalModule, SyncModalModule],\n exports: [DeeplinkComponent, DeeplinkModalModule, SyncModalModule],\n})\nexport class DeeplinkModule {}\n","import { Component, HostBinding, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DeeplinkParams, PushOffer, Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-deeplink-modal',\n template: `\n
\n 1 && !secondStep\">\n
\n
\n \n \n \n {{ item.name }}\n \n \n {{ item.name }}\n \n \n
\n
\n\n
\n \n \n
\n
\n\n \n

Creating a marketplace offer

\n
\n
\n
\n
\n {{ 'Offer title' | translate }}\n
\n
{{ actionData.title }}
\n
\n\n
\n\n
\n
\n {{ 'Description' | translate }}\n
\n
{{ actionData.description }}
\n
\n\n
\n\n
\n
\n {{ 'Category' | translate }}\n
\n
{{ actionData.category }}
\n
\n\n
\n\n
\n
\n {{ 'Price' | translate }}\n
\n
\n {{ actionData.price }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n\n
\n\n
\n
\n {{ 'Preview url' | translate }}\n
\n
{{ actionData.url || actionData.img_url }}
\n
\n\n
\n\n
\n
\n {{ 'Contacts' | translate }}\n
\n
{{ actionData.contact }}
\n
\n\n
\n\n
\n
\n {{ 'Comments' | translate }}\n
\n
\n {{ actionData.comment || actionData.comments }}\n
\n
\n\n
\n\n
\n
\n {{ 'Mixins' | translate }}\n
\n
{{ actionData.mixins || defaultMixin }}
\n
\n\n
\n\n
\n
\n {{ 'Transaction fee' | translate }}\n
\n
\n {{ actionData.price * (actionData.fee || this.variablesService.default_fee) }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n\n \n

Operation successful

\n\n
\n
\n
\n
\n {{ 'Operation hash' | translate }}\n
\n \n {{ marketplaceConfirmHash }}\n \n
\n
\n
\n
\n\n
\n \n
\n \n\n \n

Your wallets have not loaded yet. Try this action a little later.

\n\n
\n \n
\n
\n \n `,\n styles: [],\n})\nexport class DeeplinkModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n secondStep = false;\n\n walletToPayId = 0;\n\n nextStepInterval;\n\n marketplaceModalShow = true;\n\n copyAnimation = false;\n\n marketplaceConfirmHash: any = null;\n\n actionData: DeeplinkParams = {};\n\n defaultMixin = MIXIN;\n\n walletsToPay: Array = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private _router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.walletsToPay = this.variablesService.wallets.filter(wallet => !wallet.is_watch_only || !wallet.is_auditable);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n\n this.variablesService.deeplink$.pipe(takeUntil(this.destroy$)).subscribe({\n next: deeplink => {\n this.actionData = {};\n\n if (deeplink) {\n if (this.walletsToPay.length === 0) {\n this.canselAction();\n return;\n }\n this.actionData = this.parseDeeplink(deeplink);\n if (this.walletsToPay.length === 1) {\n this.walletToPayId = this.walletsToPay[0].wallet_id;\n const { daemon_state, sync_started } = this.variablesService;\n\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n } else {\n this.nextStepInterval = setInterval(() => {\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n clearInterval(this.nextStepInterval);\n }\n }, 1500);\n }\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.variablesService.deeplink$.next(null);\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n parseDeeplink(deeplink): DeeplinkParams {\n const quotesRex = new RegExp(/'|\"|”|%E2%80%9D|%22/g);\n const spaceSymbolRex = new RegExp(/%20/g);\n const newObj = {};\n\n const newString = deeplink.substr(5); // delete zano:;\n newString.split('&').forEach(str => {\n const [key, value] = str.split('=');\n newObj[key] = value.replace(quotesRex, '').replace(spaceSymbolRex, ' ').trim();\n });\n return newObj;\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n this.actionData = {};\n this.secondStep = false;\n }\n\n marketplaceSend(): void {\n const offerObject: PushOffer = {\n wallet_id: this.walletToPayId,\n od: {\n ap: this.actionData.price || '',\n at: '1',\n cat: this.actionData.category || '',\n cnt: this.actionData.contact || '',\n com: this.actionData.comment || this.actionData.comments || '',\n do: this.actionData.description || '',\n et: 10,\n fee: new BigNumber('' + (+this.actionData.fee || +this.variablesService.default_fee) * 1000000000000),\n lci: '',\n lco: 'World Wide',\n ot: 1,\n pt: 'Credit cards, BTC, ZANO, ETH',\n t: this.actionData.title || '',\n url: this.actionData.url || this.actionData.img_url || '',\n },\n };\n this.backend.push_offer(offerObject, (status, data) => {\n this.ngZone.run(() => {\n if (data.success) {\n this.marketplaceModalShow = false;\n this.marketplaceConfirmHash = data.tx_hash;\n } else {\n this.canselAction();\n }\n });\n });\n }\n\n copyHash(): void {\n this.backend.setClipboard(this.marketplaceConfirmHash);\n this.copyAnimation = true;\n setTimeout(() => (this.copyAnimation = false), 2000);\n }\n\n nextStep(): void {\n if (this.actionData.action === 'send') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/send']).then();\n this.secondStep = false;\n } else if (this.actionData.action === 'escrow') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/contracts/purchase']).then();\n this.secondStep = false;\n } else {\n this.secondStep = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalComponent } from './deeplink-modal.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [DeeplinkModalComponent],\n imports: [CommonModule, NgSelectModule, FormsModule, FlexLayoutModule, TranslateModule],\n exports: [DeeplinkModalComponent],\n})\nexport class DeeplinkModalModule {}\n","import { Component, HostBinding, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-sync-modal',\n template: `\n
\n
\n

This action is not available during synchronization...

\n \n
\n
\n `,\n styles: [],\n})\nexport class SyncModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n constructor(private renderer: Renderer2, public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SyncModalComponent } from './sync-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [SyncModalComponent],\n imports: [CommonModule, FlexLayoutModule],\n exports: [SyncModalComponent],\n})\nexport class SyncModalModule {}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-edit-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.EDIT_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n \n
0 && notEnoughMoney\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n {{\n 'EDIT_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n variablesService.maxCommentLength\"\n class=\"primary big w-100\"\n type=\"button\"\n >\n {{ 'EDIT_ALIAS.BUTTON_EDIT' | translate }}\n \n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class EditAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.EDIT_ALIAS',\n },\n ];\n\n oldAliasComment: string;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n };\n this.oldAliasComment = alias.comment;\n const balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n updateAlias(): void {\n if (\n this.requestProcessing ||\n this.notEnoughMoney ||\n this.oldAliasComment === this.alias.comment ||\n this.alias.comment.length > this.variablesService.maxCommentLength\n ) {\n return;\n }\n this.requestProcessing = true;\n this.backend.updateAlias(this.wallet.wallet_id, this.alias, this.variablesService.default_fee, status => {\n if (status) {\n this.modalService.prepareModal('success', '');\n this.wallet.alias['comment'] = this.alias.comment;\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Contact } from '@api/models/contact.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Papa } from 'ngx-papaparse';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-export-import',\n template: `\n
\n
\n
\n \n

{{ 'CONTACTS.IMPORT_EXPORT' | translate }}

\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n\n .head {\n justify-content: flex-end;\n }\n\n .contacts-title {\n font-size: 1.7rem;\n margin-bottom: 1rem;\n }\n\n .btn-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0 -0.5rem;\n padding: 1.5rem 0;\n }\n\n .btn-wrapper button {\n flex: 1 0 auto;\n margin: 0 0.5rem;\n }\n `,\n ],\n})\nexport class ExportImportComponent {\n constructor(\n private variablesService: VariablesService,\n private backend: BackendService,\n private modalService: ModalService,\n private papa: Papa,\n private translate: TranslateService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n import(): void {\n this.backend.openFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n if (this.isValid(file_data.path)) {\n this.backend.loadFile(file_data.path, (status, data) => {\n if (!status) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT_EMPTY');\n } else {\n const options = {\n header: true,\n };\n const elements = this.papa.parse(data, options);\n const isArray = Array.isArray(elements.data);\n if (isArray && elements.data.length !== 0 && elements.errors.length === 0) {\n if (this.variablesService.contacts.length === 0) {\n elements.data.forEach(element => {\n this.variablesService.contacts.push(element);\n });\n } else {\n elements.data.forEach(element => {\n const indexName = this.variablesService.contacts.findIndex(contact => contact.name === element.name);\n const indexAddress = this.variablesService.contacts.findIndex(contact => contact.address === element.address);\n if (indexAddress === -1 && indexName === -1) {\n this.variablesService.contacts.push(element);\n }\n if (indexName !== -1 && indexAddress === -1) {\n this.variablesService.contacts.push({\n name: `${(element.name as string) || '---'} ${this.translate.instant('CONTACTS.COPY') as string}`,\n address: element.address,\n notes: element.notes,\n });\n }\n });\n }\n this.backend.getContactAlias();\n this.ngZone.run(() => {\n this.router.navigate(['/contacts']);\n });\n }\n if (elements.errors.length > 0) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT');\n console.log(elements.errors);\n }\n }\n });\n } else {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_TYPE_FILE');\n }\n }\n });\n }\n\n export(): void {\n const contacts: Array = [];\n this.variablesService.contacts.forEach(contact => {\n delete contact.alias;\n contacts.push(contact);\n });\n\n this.backend.saveFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (this.variablesService.contacts.length === 0 && !(file_data.error_code === 'CANCELED')) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EMPTY_LIST');\n }\n const path = this.isValid(file_data.path) ? file_data.path : `${(file_data.path as string) || 'base-name'}.csv`;\n if (file_status && this.isValid(path) && this.variablesService.contacts.length > 0) {\n this.backend.storeFile(path, this.papa.unparse(contacts));\n }\n if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');\n }\n });\n }\n\n isValid(file): boolean {\n return file.endsWith('.csv');\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { notFileZanoWallet, wrongPassword } from '@parts/utils/zano-errors';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-open-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.OPEN_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ openWalletForm.controls.password.errors['wrongPassword'].errorText }}\n
\n
\n
\n\n \n \n
\n \n \n `,\n})\nexport class OpenWalletComponent implements OnInit, OnDestroy {\n fb = inject(NonNullableFormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.OPEN_WALLET',\n },\n ];\n\n openWalletForm = this.fb.group({\n name: this.fb.control('', [\n Validators.required,\n Validators.maxLength(this.variablesService.maxWalletNameLength),\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n password: this.fb.control('', [Validators.pattern(regExpPassword)]),\n filePath: this.fb.control('', Validators.required),\n });\n submitted = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (!params.path) {\n return;\n }\n\n this.openWalletForm.controls.filePath.patchValue(params.path);\n\n let filename = '';\n if (params.path.lastIndexOf('.') === -1) {\n filename = params.path.substr(params.path.lastIndexOf('/') + 1);\n } else {\n filename = params.path.substr(params.path.lastIndexOf('/') + 1, params.path.lastIndexOf('.') - 1 - params.path.lastIndexOf('/'));\n }\n if (filename.length > 25) {\n filename = filename.slice(0, 25);\n }\n this.openWalletForm.controls.name.patchValue(filename);\n this.openWalletForm.controls.name.markAsTouched();\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n openWallet(): void {\n this.submitted = true;\n if (this.openWalletForm.valid) {\n const { filePath, password, name } = this.openWalletForm.getRawValue();\n const { count: txs_to_return } = this.variablesService;\n this.backend.openWallet(\n filePath,\n password,\n txs_to_return,\n false,\n (openStatus, openData, errorCode: 'WRONG_PASSWORD' | 'FILE_NOT_FOUND' | 'INVALID_FILE' | 'ALREADY_EXISTS' | string) => {\n console.log('openData', openData);\n if (errorCode === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.openWalletForm.controls.password.setErrors({\n wrongPassword,\n });\n });\n return;\n }\n\n let errorText = errorCode;\n\n if (errorCode === 'FILE_NOT_FOUND') {\n errorText = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n errorText += ':
' + filePath;\n errorText += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n }\n\n if (errorCode === 'INVALID_FILE') {\n errorText = this.translate.instant(notFileZanoWallet.errorText);\n }\n\n if (['INVALID_FILE', 'FILE_NOT_FOUND'].includes(errorCode)) {\n this.modalService.prepareModal('error', errorText);\n return;\n }\n\n if (openStatus || errorCode === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === openData['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(openData.wallet_id, () => {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n });\n } else {\n const new_wallet = new Wallet(\n openData.wallet_id,\n name,\n password,\n openData['wi'].path,\n openData['wi'].address,\n openData['wi'].balance,\n openData['wi'].unlocked_balance,\n openData['wi'].mined_total,\n openData['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.currentPage = 1;\n new_wallet.open_from_exist = true;\n new_wallet.exclude_mining_txs = false;\n new_wallet.is_auditable = openData['wi'].is_auditable;\n new_wallet.is_watch_only = openData['wi'].is_watch_only;\n if (openData.recent_history && openData.recent_history.history) {\n new_wallet.total_history_item = openData.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(openData.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(openData.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(openData.wallet_id, (run_status, run_data) => {\n if (run_status) {\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(openData.wallet_id);\n this.router.navigate(['/wallet/']);\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n }\n }\n }\n );\n }\n }\n}\n","import { RouterModule, Routes } from '@angular/router';\nimport { paths } from './paths';\nimport { WithSidebarLayoutComponent } from '../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { WalletDetailsComponent } from './wallet-details/wallet-details.component';\nimport { FullLayoutComponent } from '../layouts/full-layout/full-layout.component';\nimport { LoginComponent } from './auth/login/login.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeeplinkComponent } from './deeplink/deeplink.component';\nimport { NgModule } from '@angular/core';\nimport { ExportImportComponent } from './export-import/export-import.component';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\n\nconst routes: Routes = [\n {\n path: paths.addWallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AddWalletComponent,\n },\n ],\n },\n {\n path: paths.details,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletDetailsComponent,\n },\n ],\n },\n {\n path: paths.login,\n component: FullLayoutComponent,\n children: [\n {\n path: '',\n component: LoginComponent,\n },\n ],\n },\n {\n path: paths.create,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: CreateWalletComponent,\n },\n ],\n },\n {\n path: paths.open,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: OpenWalletComponent,\n },\n ],\n },\n {\n path: paths.restore,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: RestoreWalletComponent,\n },\n ],\n },\n {\n path: paths.seedPhrase,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SeedPhraseComponent,\n },\n ],\n },\n {\n path: paths.assignAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AssignAliasComponent,\n },\n ],\n },\n {\n path: paths.editAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: EditAliasComponent,\n },\n ],\n },\n {\n path: paths.transferAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: TransferAliasComponent,\n },\n ],\n },\n {\n path: paths.settings,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SettingsComponent,\n },\n ],\n },\n {\n path: paths.import,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: ExportImportComponent,\n },\n ],\n },\n {\n path: paths.deeplink,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: DeeplinkComponent,\n },\n ],\n },\n {\n path: '',\n redirectTo: paths.addWallet,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthModule } from './auth/auth.module';\nimport { WalletModule } from './wallet/wallet.module';\nimport { PagesRoutingModule } from './pages-routing.module';\nimport { LoginComponent } from './auth/login/login.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { ModalContainerComponent } from '@parts/modals/modal-container/modal-container.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { DefaultImgModule, DisablePriceFetchModule } from '@parts/directives';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from './deeplink/deeplink.module';\nimport { FullLayoutModule } from '../layouts/full-layout/full-layout.module';\nimport { WithSidebarLayoutModule } from '../layouts/with-sidebar-layout/with-sidebar-layout.module';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\nimport {\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule,\n ShortStringPipeModule,\n} from '@parts/pipes';\nimport { InputValidateModule } from '@parts/directives/input-validate';\nimport { InputDisableSelectionModule } from '@parts/directives/input-disable-selection';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { LoaderComponent } from '@parts/components/loader.component';\nimport { AutoFocusDirective } from '@parts/directives/autofocus.directive';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\n\n@NgModule({\n declarations: [\n LoginComponent,\n SettingsComponent,\n AddWalletComponent,\n CreateWalletComponent,\n OpenWalletComponent,\n RestoreWalletComponent,\n SeedPhraseComponent,\n AssignAliasComponent,\n EditAliasComponent,\n TransferAliasComponent,\n ModalContainerComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n PagesRoutingModule,\n AuthModule,\n WalletModule,\n NgSelectModule,\n TranslateModule.forChild(),\n FlexLayoutModule,\n DisablePriceFetchModule,\n TooltipModule,\n ConfirmModalModule,\n DeeplinkModule,\n FullLayoutModule,\n WithSidebarLayoutModule,\n OverlayModule,\n DefaultImgModule,\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule,\n ShortStringPipeModule,\n InputValidateModule,\n InputDisableSelectionModule,\n CheckboxComponent,\n CopyButtonComponent,\n StakingSwitchComponent,\n SwitchComponent,\n SynchronizationStatusComponent,\n LoaderComponent,\n AutoFocusDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n ],\n})\nexport class PagesModule {}\n","export enum paths {\n auth = 'auth',\n addWallet = 'add-wallet',\n login = 'login',\n wallet = 'wallet',\n create = 'create',\n open = 'open',\n restore = 'restore',\n seedPhrase = 'seed-phrase',\n details = 'details',\n assignAlias = 'assign-alias',\n editAlias = 'edit-alias',\n transferAlias = 'transfer-alias',\n settings = 'settings',\n import = 'import',\n deeplink = 'deeplink',\n}\n\nexport enum pathsChildrenAuth {\n noWallet = 'no-wallet',\n}\n\nexport enum pathsChildrenWallet {\n assets = 'assets',\n send = 'send',\n receive = 'receive',\n history = 'history',\n contracts = 'contracts',\n staking = 'staking',\n}\n\nexport enum pathsChildrenContracts {\n purchase = 'purchase',\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { pairwise, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-restore-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.CONFIRM_WALET_PASSWORD_PLACEHOLDER' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_REQUIRED' | translate }}\n
\n
\n \n {{ 'Seed phrase not valid' | translate }}\n
\n \n
\n \n \n \n {{ 'RESTORE_WALLET.FORM_ERRORS.INCORRECT_PASSWORD' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.OK' | translate }}\n
\n \n\n \n \n {{ 'RESTORE_WALLET.BUTTON_SELECT' | translate }}\n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class RestoreWalletComponent implements OnInit, OnDestroy {\n fb = inject(FormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.RESTORE_WALLET',\n },\n ];\n\n restoreForm = this.fb.group(\n {\n name: this.fb.nonNullable.control('', [\n Validators.required,\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n key: this.fb.nonNullable.control('', Validators.required),\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n seedPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n wallet = {\n id: '',\n };\n\n walletSaved = false;\n\n walletSavedName = '';\n\n progressWidth = '9rem';\n\n seedPhraseInfo = null;\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.checkValidSeedPhrasePassword();\n this.changeDetectionSeedPhrasePassword();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeDetectionSeedPhrasePassword(): void {\n this.restoreForm.controls.seedPassword.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n this.restoreForm.controls.key.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n }\n\n checkValidSeedPhrasePassword(): void {\n const seed_password = this.restoreForm.controls.seedPassword.value;\n const seed_phrase = this.restoreForm.controls.key.value;\n this.backend.getSeedPhraseInfo({ seed_phrase, seed_password }, (status, data) => {\n this.ngZone.run(() => {\n this.seedPhraseInfo = data;\n });\n });\n }\n\n createWallet(): void {\n this.ngZone.run(() => {\n this.progressWidth = '100%';\n this.runWallet();\n });\n }\n\n saveWallet(): void {\n if (this.restoreForm.valid && this.restoreForm.get('name').value.length <= this.variablesService.maxWalletNameLength) {\n this.backend.isValidRestoreWalletText(\n {\n seed_phrase: this.restoreForm.get('key').value,\n seed_password: this.restoreForm.get('seedPassword').value,\n },\n (valid_status, valid_data) => {\n if (valid_data !== 'TRUE') {\n this.ngZone.run(() => {\n this.restoreForm.get('key').setErrors({ key_not_valid: true });\n });\n } else {\n this.backend.saveFileDialog(\n this.translate.instant('RESTORE_WALLET.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (save_status, save_data) => {\n if (save_status) {\n this.variablesService.settings.default_path = save_data.path.substr(0, save_data.path.lastIndexOf('/'));\n this.walletSavedName = save_data.path.substr(save_data.path.lastIndexOf('/') + 1, save_data.path.length - 1);\n this.backend.restoreWallet(\n save_data.path,\n this.restoreForm.get('password').value,\n this.restoreForm.get('key').value,\n this.restoreForm.get('seedPassword').value,\n (restore_status, restore_data) => {\n if (restore_status) {\n this.wallet.id = restore_data.wallet_id;\n this.variablesService.opening_wallet = new Wallet(\n restore_data.wallet_id,\n this.restoreForm.get('name').value,\n this.restoreForm.get('password').value,\n restore_data['wi'].path,\n restore_data['wi'].address,\n restore_data['wi'].balance,\n restore_data['wi'].unlocked_balance,\n restore_data['wi'].mined_total,\n restore_data['wi'].tracking_hey\n );\n this.variablesService.opening_wallet.is_auditable = restore_data['wi'].is_auditable;\n this.variablesService.opening_wallet.is_watch_only = restore_data['wi'].is_watch_only;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.alias = this.backend.getWalletAlias(\n this.variablesService.opening_wallet.address\n );\n this.variablesService.opening_wallet.pages = new Array(1).fill(1);\n this.variablesService.opening_wallet.totalPages = 1;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.total_history_item = 0;\n this.variablesService.opening_wallet.restore = true;\n if (restore_data.recent_history && restore_data.recent_history.history) {\n this.variablesService.opening_wallet.totalPages = Math.ceil(\n restore_data.recent_history.total_history_items / this.variablesService.count\n );\n this.variablesService.opening_wallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.opening_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variablesService.opening_wallet.pages = new Array(this.variablesService.opening_wallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n this.variablesService.opening_wallet.prepareHistory(restore_data.recent_history.history);\n }\n this.ngZone.run(() => {\n this.walletSaved = true;\n this.progressWidth = '50%';\n });\n } else {\n this.modalService.prepareModal('error', 'RESTORE_WALLET.NOT_CORRECT_FILE_OR_PASSWORD');\n }\n }\n );\n }\n }\n );\n }\n }\n );\n }\n }\n\n runWallet(): void {\n // add flag when wallet was restored form seed\n this.variablesService.after_sync_request[this.wallet.id] = true;\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === this.variablesService.opening_wallet.address) {\n exists = true;\n }\n });\n if (!exists) {\n this.backend.runWallet(this.wallet.id, (run_status, run_data) => {\n if (run_status) {\n this.walletsService.addWallet(this.variablesService.opening_wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(this.wallet.id);\n this.router.navigate(['/wallet/']);\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n } else {\n this.variablesService.opening_wallet = null;\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(this.wallet.id, () => {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n });\n }\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-seed-phrase',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n \n\n \n
\n
\n \n \n
\n\n
\n \n 0\"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n
0\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n
\n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n
\n \n
\n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n
\n
\n
\n
\n \n
\n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n
\n
\n
\n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class SeedPhraseComponent implements OnInit, OnDestroy {\n seedPhrase = '';\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.SAVE_PHRASE',\n },\n ];\n\n showSeed = false;\n\n wallet_id: number;\n\n wallet!: Wallet;\n\n seedPhraseCopied = false;\n\n progressWidth = '66%';\n\n fb = inject(FormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.nonNullable.control('', [ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.nonNullable.control(''),\n });\n\n seedPhraseForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.showSeed = false;\n this.getWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n showSeedPhrase(): void {\n this.showSeed = true;\n this.progressWidth = '100%';\n }\n\n onSubmitSeed(): void {\n if (this.seedPhraseForm.valid) {\n this.showSeedPhrase();\n const wallet_id = this.wallet_id;\n const seed_password = this.seedPhraseForm.controls.password.value;\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n }\n\n private setWalletInfoNamePath(): void {\n this.detailsForm.get('name').setValue(this.wallet.name);\n this.detailsForm.get('path').setValue(this.wallet.path);\n }\n\n private getWallet(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.wallet_id) {\n this.wallet_id = +params.wallet_id;\n this.wallet = this.walletsService.getWalletById(this.wallet_id);\n if (this.wallet) {\n this.setWalletInfoNamePath();\n }\n }\n },\n });\n }\n}\n","import { Component, inject, NgZone, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { scaleItems } from '@parts/data/scale-items';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\n\n@Component({\n selector: 'app-settings',\n template: `
\n
\n
\n \n

{{ 'SETTINGS.TITLE' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n {{ item.language | translate }}\n \n \n {{ item.language | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.translationKey | translate }}\n \n \n {{ item.translationKey | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.name | translate }}\n \n \n {{ item.name | translate }}\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n

\n {{ 'SETTINGS.MASTER_PASSWORD.TITLE' | translate }}\n

\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"password\"\n id=\"old-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_OLD' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.PASS_NOT_MATCH' | translate }}\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"new_confirmation\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n\n
\n \n {{ 'SETTINGS.SETTINGS_SAVED' | translate }}\n
\n \n

Build version: {{ currentBuild }}

\n
\n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class SettingsComponent implements OnInit {\n ifSaved = false;\n\n scale: string;\n\n appUseTor: boolean;\n\n fb = inject(FormBuilder);\n\n changeForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.compose([Validators.pattern(regExpPassword)])),\n new_password: this.fb.nonNullable.control('', Validators.compose([Validators.required, Validators.pattern(regExpPassword)])),\n new_confirmation: this.fb.nonNullable.control(''),\n appPass: this.fb.nonNullable.control(this.variablesService.appPass ?? ''),\n },\n {\n validators: [\n ZanoValidators.formMatch('new_password', 'new_confirmation'),\n ZanoValidators.formMatch('password', 'appPass', 'pass_mismatch'),\n ],\n }\n );\n\n public currentNotificationsState;\n\n languagesOptions = [\n {\n name: 'en',\n language: 'SETTINGS.LANGUAGE.EN',\n },\n {\n name: 'fr',\n language: 'SETTINGS.LANGUAGE.FR',\n },\n {\n name: 'de',\n language: 'SETTINGS.LANGUAGE.DE',\n },\n {\n name: 'id',\n language: 'SETTINGS.LANGUAGE.ID',\n },\n {\n name: 'it',\n language: 'SETTINGS.LANGUAGE.IT',\n },\n {\n name: 'pt',\n language: 'SETTINGS.LANGUAGE.PT',\n },\n ];\n\n appLockOptions = [\n {\n time: 5,\n translationKey: 'SETTINGS.APP_LOCK.TIME1',\n },\n {\n time: 15,\n translationKey: 'SETTINGS.APP_LOCK.TIME2',\n },\n {\n time: 60,\n translationKey: 'SETTINGS.APP_LOCK.TIME3',\n },\n {\n time: 0,\n translationKey: 'SETTINGS.APP_LOCK.TIME4',\n },\n ];\n\n appScaleOptions = scaleItems;\n\n appLogOptions = [\n {\n id: -1,\n },\n {\n id: 0,\n },\n {\n id: 1,\n },\n {\n id: 2,\n },\n {\n id: 3,\n },\n {\n id: 4,\n },\n ];\n\n currentBuild = '';\n\n appPass: any;\n\n constructor(\n public translate: TranslateService,\n public variablesService: VariablesService,\n private renderer: Renderer2,\n private backend: BackendService,\n private ngZone: NgZone\n ) {\n this.scale = this.variablesService.settings.scale;\n this.appUseTor = this.variablesService.settings.appUseTor;\n }\n\n ngOnInit(): void {\n this.backend.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n this.currentBuild = version;\n this.variablesService.testnet = false;\n if (type === 'testnet') {\n this.currentBuild += ' TESTNET';\n this.variablesService.testnet = true;\n }\n this.variablesService.networkType = type;\n } else {\n this.currentBuild = 'There was an error getting the build version';\n }\n });\n });\n this.backend.getIsDisabledNotifications(res => {\n this.currentNotificationsState = res;\n });\n }\n\n setScale(): void {\n this.scale = this.variablesService.settings.scale;\n this.renderer.setStyle(document.documentElement, 'font-size', this.scale);\n this.backend.storeAppData();\n }\n\n onSubmitChangePass(): void {\n if (this.changeForm.valid) {\n this.variablesService.appPass = this.changeForm.get('new_password').value;\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.onSave();\n });\n } else {\n console.log(data['error_code']);\n }\n });\n\n this.changeForm.reset();\n }\n }\n\n toggleNotifications(): void {\n if (!this.currentNotificationsState) {\n this.backend.setIsDisabledNotifications('true');\n this.currentNotificationsState = true;\n } else {\n this.backend.setIsDisabledNotifications('false');\n this.currentNotificationsState = false;\n }\n }\n\n toggleUseTor(): void {\n this.appUseTor = !this.appUseTor;\n this.variablesService.settings.appUseTor = this.appUseTor;\n this.backend.setEnableTor(this.appUseTor);\n this.backend.storeAppData();\n }\n\n onSave(): void {\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n onLockChange(): void {\n this.variablesService.restartCountdown();\n }\n\n onLogChange(): void {\n this.backend.setLogLevel(this.variablesService.settings.appLog);\n this.backend.storeAppData();\n }\n\n onLanguageChange(): void {\n this.translate.use(this.variablesService.settings.language);\n this.backend.storeAppData();\n }\n}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport BigNumber from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-transfer-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.TRANSFER_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n 0 &&\n (transferAddressAlias || !transferAddressValid || (transferAddressValid && !permissionSend) || notEnoughMoney)\n \"\n class=\"form__field--input\"\n id=\"alias-transfer\"\n name=\"alias-transfer\"\n placeholder=\"{{ 'TRANSFER_ALIAS.ADDRESS.PLACEHOLDER' | translate }}\"\n type=\"text\"\n />\n 0 &&\n (transferAddressAlias || !transferAddressValid || (transferAddressValid && !permissionSend) || notEnoughMoney)\n \"\n class=\"error\"\n >\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.WRONG_ADDRESS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.ALIAS_EXISTS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n {{\n 'TRANSFER_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n \n {{ 'TRANSFER_ALIAS.BUTTON_TRANSFER' | translate }}\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class TransferAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.TRANSFER_ALIAS',\n },\n ];\n\n transferAddress = '';\n\n transferAddressValid: boolean;\n\n transferAddressAlias: boolean;\n\n permissionSend: boolean;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n tracking_key: alias.tracking_key,\n };\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = unlocked_balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n changeAddress(): void {\n this.backend.validateAddress(this.transferAddress, status => {\n this.transferAddressValid = status;\n if (status) {\n this.backend.getPoolInfo((statusPool, dataPool) => {\n if (hasOwnProperty(dataPool, 'aliases_que') && dataPool.aliases_que.length) {\n this.setStatus(!dataPool.aliases_que.some(el => el.address === this.transferAddress));\n } else {\n this.setStatus(status);\n }\n });\n } else {\n this.setStatus(false);\n }\n });\n }\n\n setStatus(statusSet): void {\n this.permissionSend = statusSet;\n if (statusSet) {\n this.backend.getAliasByAddress(this.transferAddress, status => {\n this.ngZone.run(() => {\n if (status) {\n this.transferAddressAlias = true;\n this.permissionSend = false;\n } else {\n this.transferAddressAlias = false;\n }\n });\n });\n } else {\n this.ngZone.run(() => {\n this.transferAddressAlias = false;\n });\n }\n }\n\n transferAlias(): void {\n if (this.requestProcessing || !this.permissionSend || !this.transferAddressValid || this.notEnoughMoney) {\n return;\n }\n this.requestProcessing = true;\n const newAlias = {\n name: this.alias.name,\n address: this.transferAddress,\n comment: this.alias.comment,\n tracking_key: this.alias.tracking_key,\n };\n this.backend.updateAlias(this.wallet.wallet_id, newAlias, this.variablesService.default_fee, (status, data) => {\n if (status && hasOwnProperty(data, 'success') && data.success) {\n this.modalService.prepareModal('info', 'TRANSFER_ALIAS.REQUEST_SEND_REG');\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-wallet-details',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.WALLET_DETAILS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n
\n \n

Saved!

\n
\n
\n \n \n
\n \n\n \n \n \n
\n \n \n
\n\n
\n \n 0\"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n
0\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n
\n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n
\n \n
\n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n
\n
\n
\n \n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n
\n
\n \n
\n
\n \n \n `,\n})\nexport class WalletDetailsComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.WALLET_DETAILS',\n },\n ];\n\n seedPhrase = '';\n\n showSeed = false;\n\n seedPhraseCopied = false;\n\n ifSaved = false;\n\n fb = inject(NonNullableFormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.control(''),\n });\n\n passwordSeedPhraseForm = this.fb.group(\n {\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n constructor(public variablesService: VariablesService, private router: Router, private backend: BackendService, private ngZone: NgZone) {\n const { currentWallet } = this.variablesService;\n const { name, path } = currentWallet;\n this.detailsForm.patchValue(\n {\n name,\n path,\n },\n {\n emitEvent: false,\n }\n );\n }\n\n beforeSubmitPasswordSeedPhrase(): void {\n if (this.passwordSeedPhraseForm.invalid) {\n this.passwordSeedPhraseForm.updateValueAndValidity();\n this.passwordSeedPhraseForm.markAllAsTouched();\n return;\n }\n\n this.submitPasswordSeedPhrase();\n }\n\n submitPasswordSeedPhrase(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const { password: seed_password } = this.passwordSeedPhraseForm.getRawValue();\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.showSeed = true;\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n\n beforeSubmitDetails(): void {\n if (this.detailsForm.invalid) {\n this.detailsForm.updateValueAndValidity();\n this.detailsForm.markAllAsTouched();\n return;\n }\n\n this.submitDetails();\n }\n\n submitDetails(): void {\n const getRawValue = this.detailsForm.getRawValue();\n const { name } = getRawValue;\n this.variablesService.currentWallet.name = name;\n this.detailsForm.reset(getRawValue);\n this.refreshDetailsFormValidators();\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n private refreshDetailsFormValidators(): void {\n const walletNamesForComparisons = this.variablesService.walletNamesForComparisons;\n const validatorsForName = [Validators.required, ZanoValidators.duplicate(walletNamesForComparisons)];\n this.detailsForm.controls.name.clearValidators();\n this.detailsForm.controls.name.setValidators(validatorsForName);\n this.detailsForm.controls.name.updateValueAndValidity();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Subject } from 'rxjs';\nimport { Asset, ParamsRemoveCustomAssetId } from '@api/models/assets.model';\nimport { PaginatePipeArgs } from 'ngx-pagination';\nimport { takeUntil } from 'rxjs/operators';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-assets',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n {{ 'ASSETS.TABLE.LABELS.NAME' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.BALANCE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.VALUE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.PRICE' | translate }}\n
\n
\n
 
\n
\n
\n \n {{ asset.asset_info.full_name }}\n
\n
\n
\n \n {{ asset.total | intToMoney }}\n {{ asset.asset_info.ticker }}\n \n
\n
\n
\n {{ (asset.total | intToMoney) * price.usd | currency : 'USD' }}\n
\n
\n
\n {{ price.usd | currency : 'USD' }}\n 0\" [class.color-red]=\"price.usd_24h_change < 0\"\n >{{ price.usd_24h_change | number : '1.2-2' }}%\n
\n
\n
\n \n \n \n
\n
\n
\n\n \n \n\n
\n \n {{ page.label }}\n \n
\n {{ page.label }}\n
\n
\n\n \n \n
\n\n \n \n \n `,\n})\nexport class AssetsComponent implements OnInit, OnDestroy {\n currentPage = 1;\n\n itemsPerPage = 10;\n\n paginationId = 'pagination-assets-id';\n\n get paginatePipeArgs(): PaginatePipeArgs {\n return {\n id: this.paginationId,\n itemsPerPage: this.itemsPerPage,\n currentPage: this.currentPage,\n };\n }\n\n get isShowPagination(): boolean {\n const { currentWallet } = this.variablesService;\n if (currentWallet) {\n const { balances } = currentWallet;\n return (balances?.length || 0) > this.itemsPerPage;\n }\n return false;\n }\n\n triggerOrigin!: CdkOverlayOrigin;\n\n currentAsset!: Asset;\n\n isOpenDropDownMenu = false;\n\n defaultImgSrc = 'assets/icons/currency-icons/custom_token.svg';\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private backendService: BackendService,\n private walletsService: WalletsService,\n private dialog: Dialog,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.listenChangeWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDropDownMenu(trigger: CdkOverlayOrigin, asset: Asset): void {\n this.isOpenDropDownMenu = !this.isOpenDropDownMenu;\n this.triggerOrigin = trigger;\n this.currentAsset = asset;\n }\n\n trackByAssets(index: number, { asset_info: { asset_id } }: Asset): number | string {\n return asset_id || index;\n }\n\n trackByPages(index: number): number | string {\n return index;\n }\n\n assetDetails(): void {\n const dialogConfig: DialogConfig = {\n data: {\n asset: this.currentAsset,\n },\n };\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n }\n\n beforeRemoveAsset(): void {\n if (!this.currentAsset) {\n return;\n }\n const {\n asset_info: { full_name },\n } = this.currentAsset;\n const dialogConfig: DialogConfig = {\n data: {\n title: `Do you want delete \"${full_name}\"`,\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.removeAsset(),\n });\n }\n\n removeAsset(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const {\n asset_info: { asset_id },\n } = this.currentAsset;\n const params: ParamsRemoveCustomAssetId = {\n wallet_id,\n asset_id,\n };\n this.backendService.removeCustomAssetId(params, () => {\n this.walletsService.updateWalletInfo(wallet_id);\n this.currentAsset = undefined;\n });\n }\n\n getBalanceTooltip(balance: Asset): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!balance) {\n return null;\n }\n\n scrollWrapper.classList.add('balance-scroll-list');\n [balance].forEach(({ unlocked, total, asset_info: { ticker } }: Asset) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerHTML = this.translate.instant('WALLET.AVAILABLE_BALANCE', {\n available: this.intToMoneyPipe.transform(unlocked),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(available);\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE', {\n locked: this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backendService.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n\n private listenChangeWallet(): void {\n this.variablesService.getWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.currentPage = 0;\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { Transaction } from '@api/models/transaction.model';\nimport BigNumber from 'bignumber.js';\nimport { PaginationService } from '@store/pagination/pagination.service';\nimport { PaginationStore } from '@store/pagination/pagination.store';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { collapseOnLeaveAnimation, expandOnEnterAnimation } from 'angular-animations';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-history',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n 0\"\n >\n \n \n \n \n \n \n \n \n \n \n \n\n
\n\n \n \n \n \n \n \n
\n
{{ 'HISTORY.STATUS' | translate }}
\n
\n
{{ 'HISTORY.AMOUNT' | translate }}
\n
\n
{{ 'HISTORY.FEE' | translate }}
\n
\n
{{ 'HISTORY.ADDRESS' | translate }}
\n
\n
{{ 'HISTORY.DATE' | translate }}
\n
\n \n \n \n \n \n \n \n \n \n\n \n \"\"\n \"\"\n \n\n {{\n (subtransfer.is_income ? 'HISTORY.RECEIVED' : 'HISTORY.SEND') | translate\n }}\n\n \n \n \n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{ 'HISTORY.LOCK_TOOLTIP' | translate : { date: time(transaction) | date : 'MM.dd.yy' } }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n 500000000\">\n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{\n 'HISTORY.LOCK_TOOLTIP'\n | translate\n : {\n date: transaction.unlock_time * 1000 | date : 'MM.dd.yy'\n }\n }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n \n \n 0)\n \"\n class=\"icon unlock-transaction mr-1\"\n >\n \n \n \n \n \n \n \n \n \n
\n \n {{ subtransfer.amount.minus(transaction.fee ?? 0) | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n {{ (subtransfer.asset_id | getAsset)?.asset_info.ticker || '???' }}\n
\n
\n
\n \n \n
\n \n {{ subtransfer.amount | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n {{ (subtransfer.asset_id | getAsset)?.asset_info.ticker || '???' }}\n
\n
\n
\n \n
\n
\n \n {{ transaction.fee | intToMoney }}\n {{ variablesService.defaultCurrency }}\n \n \n {{ 'HISTORY.NO_FEE' | translate }}\n \n
\n
\n \n \n {{ transaction | historyTypeMessages }}\n \n \n \n \n \n {{ transaction.remote_addresses[0] | slice : 0 : 6 }}\n ...{{ transaction.remote_addresses[0] | slice : -6 }}\n \n \n \n
\n \n \n = 1 && alias.length <= 5\"\n [class.mb-0_5]=\"transaction.remote_aliases.length >= 2\"\n [class.mr-0_5]=\"transaction.remote_aliases.length >= 2\"\n class=\"alias\"\n fxLayout=\"row inline\"\n >\n {{ '@' + alias }}\n
\n
\n \n \n \n
\n \n {{ 'HISTORY.HIDDEN' | translate }}\n \n
\n
\n {{ transaction.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm' }}\n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n\n \n \n {{ page }}\n \n \n\n \n \n {{ variablesService.currentWallet.currentPage }}\n \n \n\n \n \n \n
\n
\n Hide mining transactions\n \n
\n
\n
\n
\n `,\n animations: [expandOnEnterAnimation(), collapseOnLeaveAnimation()],\n})\nexport class HistoryComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n openedDetails = '';\n\n stop_paginate = false;\n\n mining = false;\n\n wallet: Wallet;\n\n x = new BigNumber(3);\n\n y = new BigNumber(0.2);\n\n private destroy$ = new Subject();\n\n constructor(\n private route: ActivatedRoute,\n public variablesService: VariablesService,\n private pagination: PaginationService,\n private backend: BackendService,\n private ngZone: NgZone,\n private paginationStore: PaginationStore\n ) {}\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.openedDetails = '';\n },\n });\n\n this.init();\n\n this.variablesService.getWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getRecentTransfers();\n },\n });\n\n this.variablesService.getWalletChangedEvent\n .pipe(\n filter(w => !!w),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: (currentWallet: Wallet) => {\n this.mining = currentWallet.exclude_mining_txs;\n },\n });\n }\n\n init(): void {\n let restore = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n restore = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (!this.variablesService.sync_started && restore && this.variablesService.currentWallet.wallet_id) {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n // if this is was restore wallet, and it was selected on moment when sync completed\n this.getRecentTransfers();\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n let after_sync_request = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n after_sync_request = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (after_sync_request && !this.variablesService.sync_started) {\n // if user click on the wallet at the first time after restore.\n this.getRecentTransfers();\n }\n\n if (hasOwnProperty(this.variablesService.stop_paginate, String(this.variablesService.currentWallet.wallet_id))) {\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n } else {\n this.stop_paginate = false;\n }\n // this will hide pagination a bit earlier\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isVisibleFee(transaction: Transaction): boolean {\n const { subtransfers } = transaction;\n return !subtransfers.find(({ asset_id }) => asset_id === zanoAssetInfo.asset_id)?.is_income;\n }\n\n strokeSize(item): number {\n const rem = this.variablesService.settings.scale;\n if ((this.variablesService.height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 0;\n } else {\n if (item.height === 0 || this.variablesService.height_app - item.height < 0) {\n return 4.5 * parseInt(rem, 10);\n } else {\n return 4.5 * parseInt(rem, 10) - ((4.5 * parseInt(rem, 10)) / 100) * ((this.variablesService.height_app - item.height) * 10);\n }\n }\n }\n\n resetPaginationValues(): void {\n this.ngZone.run(() => {\n const total_history_item = this.variablesService.currentWallet.total_history_item;\n const count = this.variablesService.count;\n this.variablesService.currentWallet.totalPages = Math.ceil(total_history_item / count);\n this.variablesService.currentWallet.exclude_mining_txs = this.mining;\n this.variablesService.currentWallet.currentPage = 1;\n\n if (!this.variablesService.currentWallet.totalPages) {\n this.variablesService.currentWallet.totalPages = 1;\n }\n this.variablesService.currentWallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variablesService.currentWallet.pages = new Array(this.variablesService.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n });\n }\n\n setPage(pageNumber: number): void {\n // this is will allow pagination for wallets that was open from existed wallets'\n if (pageNumber === this.variablesService.currentWallet.currentPage) {\n return;\n }\n if (this.variablesService.currentWallet.open_from_exist && !this.variablesService.currentWallet.updated) {\n this.variablesService.get_recent_transfers = false;\n this.variablesService.currentWallet.updated = true;\n }\n // if not running get_recent_transfers callback\n if (!this.variablesService.get_recent_transfers) {\n this.variablesService.currentWallet.currentPage = pageNumber;\n }\n if (!this.variablesService.get_recent_transfers) {\n this.getRecentTransfers();\n }\n }\n\n toggleMiningTransactions(): void {\n if (!this.variablesService.sync_started && !this.wallet) {\n const value = this.paginationStore.value;\n if (!value) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n } else {\n const pages = value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id);\n if (pages.length === 0) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n }\n }\n this.mining = !this.mining;\n this.resetPaginationValues();\n this.getRecentTransfers();\n }\n }\n\n getRecentTransfers(): void {\n const offset = this.pagination.getOffset(this.variablesService.currentWallet.wallet_id);\n const value = this.paginationStore.value;\n const pages = value ? value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id) : [];\n this.backend.getRecentTransfers(\n this.variablesService.currentWallet.wallet_id,\n offset,\n this.variablesService.count,\n this.variablesService.currentWallet.exclude_mining_txs,\n (status, data) => {\n const isForward = this.paginationStore.isForward(pages, this.variablesService.currentWallet.currentPage);\n if (this.mining && isForward && pages && pages.length === 1) {\n this.variablesService.currentWallet.currentPage = 1; // set init page after navigation back\n }\n\n const history = data && data.history;\n this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id] =\n (history && history.length < this.variablesService.count) || !history;\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n if (!this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id]) {\n const page = this.variablesService.currentWallet.currentPage + 1;\n if (isForward && this.mining && history && history.length === this.variablesService.count) {\n this.paginationStore.setPage(page, data.last_item_index, this.variablesService.currentWallet.wallet_id); // add back page for current page\n }\n }\n\n this.pagination.calcPages(data);\n this.pagination.prepareHistory(data, status);\n\n this.ngZone.run(() => {\n this.variablesService.get_recent_transfers = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n // this is will complete get_recent_transfers request\n // this will switch of\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n });\n }\n );\n }\n\n tick(): void {\n const walletInterval = setInterval(() => {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (!this.wallet) {\n clearInterval(walletInterval);\n }\n }, 1000);\n }\n\n getHeight(item): number {\n const { height_app } = this.variablesService;\n if ((height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 10;\n } else {\n if (item.height === 0 || height_app - item.height < 0) {\n return 0;\n } else {\n return height_app - item.height;\n }\n }\n }\n\n openDetails(tx_hash): void {\n if (tx_hash === this.openedDetails) {\n this.openedDetails = '';\n } else {\n this.openedDetails = tx_hash;\n }\n }\n\n time(item: Transaction): number {\n const now = new Date().getTime();\n return now + (item.unlock_time - this.variablesService.height_max) * 60 * 1000;\n }\n\n isLocked(item: Transaction): boolean {\n if (item.unlock_time > 500000000 && item.unlock_time > new Date().getTime() / 1000) {\n return true;\n }\n return item.unlock_time < 500000000 && item.unlock_time > this.variablesService.height_max;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport QRCode from 'qrcode';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { RCV_ADDR_QR_SCALE } from '@parts/data/constants';\n\n@Component({\n selector: 'app-receive',\n template: `\n
\n
\n \"qr-code\"\n
\n\n \n {{ variablesService.currentWallet.address | zanoShortString : 9 : 9 }}\n \n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class ReceiveComponent implements OnInit {\n qrImageSrc: string;\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n QRCode.toDataURL(this.variablesService.currentWallet.address, {\n width: 200 * RCV_ADDR_QR_SCALE,\n height: 200 * RCV_ADDR_QR_SCALE,\n })\n .then(url => {\n this.qrImageSrc = url;\n })\n .catch(err => {\n console.error(err);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AsyncCommandResults,\n BackendService,\n CurrentActionState,\n ResponseAsyncTransfer,\n StatusCurrentActionState,\n} from '@api/services/backend.service';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nconst successfulStatuses: string[] = [\n StatusCurrentActionState.STATE_SENDING,\n StatusCurrentActionState.STATE_SENT_SUCCESS,\n StatusCurrentActionState.STATE_INITIALIZING,\n StatusCurrentActionState.STATE_DOWNLOADING_CONSENSUS,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_A,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_B,\n StatusCurrentActionState.STATE_CREATING_STREAM,\n StatusCurrentActionState.STATE_SUCCESS,\n];\n\nconst failedStatuses: string[] = [StatusCurrentActionState.STATE_SEND_FAILED, StatusCurrentActionState.STATE_FAILED];\n\n@Component({\n selector: 'app-send-details-modal',\n template: `\n
\n
\n

\n {{ 'SEND_DETAILS_MODAL.TITLE1' | translate }}\n

\n\n
\n
\n
\n \"success\"\n
\n\n
\n \"failed\"\n
\n\n
\n\n

\n {{\n (currentActionState ? 'TOR_LIB_STATE' + '.' + currentActionState.status : 'TOR_LIB_STATE.STATE_INITIALIZING') | translate\n }}\n {{ !isSentSuccess && !isSentFailed ? '...' : '' }}\n

\n\n \n \n \n
\n\n
\n \n

\n {{ 'SEND_DETAILS_MODAL.TITLE2' | translate }}\n

\n \n
\n \n
    \n \n {{ 'TOR_LIB_STATE' + '.' + action?.status | translate\n }}{{ last && !isSentSuccess && !isSentFailed ? '...' : '' }}\n \n \"success\"\n\n \"failed\"\n \n\n \n \"success\"\n\n \"failed\"\n \n \n\n \n
  • \n tx id: {{ data.response_data.tx_hash || '---' }} \n \n \n
  • \n
  • \n
    \n tx size:\n {{ data.response_data.tx_blob_size }}\n bytes\n
    \n
  • \n
  • \n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n \n \n\n \n \n \n

{{ prefix }} {{ 'SEND.ERROR_CODES' + '.' + error_code | translate }}

\n
\n \n \n

{{ prefix }} {{ error_code }}

\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendDetailsModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() job_id: number;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('elDetailsList', { static: true }) elDetailsList: ElementRef;\n\n responseData$ = new BehaviorSubject(null);\n\n stateDetails$ = new BehaviorSubject(false);\n\n currentActionState$ = new BehaviorSubject(null);\n\n currentActionStates$ = new BehaviorSubject([]);\n\n success = false;\n\n private destroy$: Subject = new Subject();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService, private renderer: Renderer2) {}\n\n get currentActionState(): CurrentActionState {\n return this.currentActionState$.value;\n }\n\n get currentActionStates(): CurrentActionState[] {\n return this.currentActionStates$.value;\n }\n\n get isSentSuccess(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SENT_SUCCESS;\n }\n\n get isSentFailed(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SEND_FAILED;\n }\n\n get isDetailsNotEmpty(): boolean {\n return !!(this.responseData$.value || this.currentActionStates$.value.length > 0);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const {\n currentWallet: { wallet_id },\n settings: { appUseTor },\n } = this.variablesService;\n\n if (appUseTor) {\n this.backendService.handleCurrentActionState$.pipe(takeUntil(this.destroy$)).subscribe({\n next: (currentActionState: CurrentActionState) => {\n this.currentActionState$.next(currentActionState);\n this.currentActionStates$.next([...this.currentActionStates, currentActionState]);\n },\n });\n } else {\n const actionState: CurrentActionState = {\n status: StatusCurrentActionState.STATE_INITIALIZING,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n }\n\n this.backendService.dispatchAsyncCallResult$\n .pipe(\n filter(({ job_id, response }: AsyncCommandResults) => this.job_id === job_id && !!response),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: ({ response }: AsyncCommandResults) => {\n const { response_data } = response;\n const success = response_data?.success ?? false;\n this.success = success;\n\n const actionState: CurrentActionState = {\n status: success ? StatusCurrentActionState.STATE_SENT_SUCCESS : StatusCurrentActionState.STATE_SEND_FAILED,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n\n this.responseData$.next(response);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDetails(): void {\n this.stateDetails$.next(!this.stateDetails$.value);\n setTimeout(() => this.scrollToBottomDetailsList(), 100);\n }\n\n trackBy(index: number): number {\n return index;\n }\n\n isSuccess(action: CurrentActionState): boolean {\n return successfulStatuses.includes(action && action.status);\n }\n\n isFailed(action: CurrentActionState): boolean {\n return failedStatuses.includes(action && action.status);\n }\n\n private scrollToBottomDetailsList(): void {\n if (this.elDetailsList) {\n const { nativeElement } = this.elDetailsList;\n nativeElement.scrollTop = nativeElement.scrollHeight;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\n\n@Component({\n selector: 'app-send-modal',\n template: `\n
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM.MESSAGE.SEND' | translate }}\n
\n
\n {{ sendMoneyParams.amount }}\n {{ '???' }}\n \n \n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.FROM' | translate }}\n
\n
\n {{ variablesService.currentWallet.address }}\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.TO' | translate }}\n
\n
{{ sendMoneyParams.address }}
\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.COMMENT' | translate }}\n
\n
{{ sendMoneyParams.comment }}
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() sendMoneyParams: SendMoneyParams;\n\n @Output() confirmed: EventEmitter = new EventEmitter();\n\n cdr = inject(ChangeDetectorRef);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group({\n password: this.fb.control(''),\n appPass: this.fb.control(''),\n });\n\n constructor(public variablesService: VariablesService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const { appPass } = this.variablesService;\n if (appPass) {\n this.confirmForm.controls.appPass.patchValue(appPass, {\n emitEvent: false,\n });\n this.confirmForm.setValidators([ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')]);\n this.confirmForm.controls.password.setValidators([Validators.required]);\n this.confirmForm.updateValueAndValidity();\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n beforeSubmit(): void {\n if (this.confirmForm.invalid) {\n this.confirmForm.markAsTouched();\n this.confirmForm.updateValueAndValidity();\n this.cdr.detectChanges();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.confirmed.emit(true);\n }\n\n onClose(): void {\n this.confirmed.emit(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SendModalComponent } from './send-modal/send-modal.component';\nimport { SendDetailsModalComponent } from './send-details-modal/send-details-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SendModalComponent, SendDetailsModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule, ReactiveFormsModule],\n exports: [SendModalComponent, SendDetailsModalComponent],\n})\nexport class WalletModalsModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport { debounceTime, delay, filter, retry, take, takeUntil, tap } from 'rxjs/operators';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { Asset } from '@api/models/assets.model';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { insuficcientFunds } from '@parts/utils/zano-errors';\nimport { Aliases } from '@api/models/alias.model';\nimport { DeeplinkParams, defaultSendMoneyParams } from '@api/models/wallet.model';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { ControlsOf } from '@parts/utils/controls-of';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-send',\n template: `\n
\n \n
\n
\n \n \n\n \n \n \n
\n = 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\"\n class=\"alias\"\n >\n
{{ alias.name }}
\n
\n
\n \n \n
Not found aliases
\n
\n \n
\n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\n
\n
\n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n {{ sendMoneyParamsForm.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n \n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n \n \n \n {{ asset?.asset_info.full_name || '---' }}\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n \n\n
\n \n {{ 'SEND.DETAILS' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : { fee: variablesService.default_fee } }}\n
\n
\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\n
\n
\n
\n
\n\n \n \n \n\n \n {{ 'SEND.BUTTON' | translate }}\n \n \n \n\n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class SendComponent implements OnInit, OnDestroy {\n job_id: number;\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(150));\n\n isModalDialogVisible = false;\n\n isModalDetailsDialogVisible = false;\n\n hideWalletAddress = false;\n\n wrapInfo: WrapInfo;\n\n loading$ = new BehaviorSubject(true);\n\n isWrapShown = false;\n\n aliasAddress: string;\n\n additionalOptions = false;\n\n fb = inject(NonNullableFormBuilder);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n variablesService = inject(VariablesService);\n\n wrapInfoService = inject(WrapInfoService);\n\n aliases$ = new BehaviorSubject([]);\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n sendMoneyParamsForm = this.fb.group>({\n wallet_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n address: this.fb.control('', {\n validators: [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ],\n }),\n amount: this.fb.control(undefined, {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.sendMoneyParamsForm?.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: Asset | undefined = this.variablesService.currentWallet.balances?.find(v => v.asset_info.asset_id === asset_id);\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n }\n return null;\n },\n ],\n }),\n comment: this.fb.control('', {\n validators: [Validators.maxLength(this.variablesService.maxCommentLength)],\n }),\n asset_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n mixin: this.fb.control(MIXIN, {\n validators: [Validators.required],\n }),\n fee: this.fb.control(this.variablesService.default_fee, {\n validators: [\n Validators.required,\n (g: FormControl): ValidationErrors | null => {\n if (new BigNumber(g.value).isLessThan(this.variablesService.default_fee)) {\n return { less_min: true };\n }\n return null;\n },\n ],\n }),\n hide: this.fb.control(false),\n });\n\n get sendMoneyParams(): SendMoneyParams {\n return this.sendMoneyParamsForm.getRawValue() as SendMoneyParams;\n }\n\n private destroy$ = new Subject();\n\n constructor(private backendService: BackendService, private ngZone: NgZone, private moneyToInt: MoneyToIntPipe) {}\n\n ngOnInit(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n\n this.getWrapInfo();\n this.listenSendActionData();\n this.patchSendMoneyParamsByCurrentWallet();\n this.saveSendMoneyParams();\n this.setAssetFromHistoryState();\n }\n\n setAssetFromHistoryState(): void {\n const state = history.state || {};\n const asset: Asset = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.sendMoneyParamsForm.controls.asset_id.patchValue(asset_id, { emitEvent: false });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n showDialog(): void {\n this.isModalDialogVisible = true;\n }\n\n confirmed(confirmed: boolean): void {\n this.isModalDialogVisible = false;\n if (confirmed) {\n this.onSend();\n }\n }\n\n onSend(): void {\n if (this.sendMoneyParamsForm.valid) {\n const { address } = this.sendMoneyParamsForm.getRawValue();\n let sendMoneyParams: SendMoneyParams = {\n ...this.sendMoneyParamsForm.getRawValue(),\n };\n\n if (address.indexOf('@') === 0) {\n const aliasName = address;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.sendMoneyParamsForm.controls.address.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n sendMoneyParams = {\n ...sendMoneyParams,\n address: alias.address,\n };\n }\n\n this.backendService.sendMoney(sendMoneyParams, job_id => {\n this.ngZone.run(() => {\n this.job_id = job_id;\n this.isModalDetailsDialogVisible = true;\n this.variablesService.currentWallet.sendMoneyParams = null;\n });\n });\n }\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.sendMoneyParamsForm.value.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n handeCloseDetailsModal(success: boolean): void {\n this.isModalDetailsDialogVisible = false;\n this.job_id = null;\n\n if (success) {\n const {\n currentWallet: { wallet_id },\n } = this.variablesService;\n this.variablesService.currentWallet.sendMoneyParams = null;\n this.sendMoneyParamsForm.reset({ ...defaultSendMoneyParams, wallet_id }, { emitEvent: false });\n }\n }\n\n private patchSendMoneyParamsByCurrentWallet(): void {\n const { currentWallet, default_fee } = this.variablesService;\n\n let sendMoneyParams: SendMoneyParams;\n\n if (currentWallet.sendMoneyParams) {\n sendMoneyParams = currentWallet.sendMoneyParams;\n this.sendMoneyParamsForm.markAllAsTouched();\n } else {\n sendMoneyParams = {\n ...defaultSendMoneyParams,\n fee: default_fee,\n };\n }\n\n if (currentWallet.is_auditable && !currentWallet.is_watch_only) {\n sendMoneyParams.hide = true;\n this.sendMoneyParamsForm.controls['hide'].disable();\n }\n\n if (currentWallet.is_auditable) {\n sendMoneyParams.mixin = 0;\n this.sendMoneyParamsForm.controls['mixin'].disable();\n }\n\n sendMoneyParams.wallet_id = currentWallet.wallet_id;\n\n this.sendMoneyParamsForm.patchValue(sendMoneyParams, { emitEvent: false });\n }\n\n private fillDeepLinkData(value: DeeplinkParams): void {\n this.additionalOptions = true;\n this.sendMoneyParamsForm.patchValue({\n address: value.address,\n amount: value.amount || null,\n comment: value.comment || value.comments || '',\n mixin: +value.mixins || MIXIN,\n asset_id: zanoAssetInfo.asset_id,\n fee: value.fee || this.variablesService.default_fee,\n hide: value.hide_sender === 'true',\n });\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n\n pasteListenAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.sendMoneyParamsForm.controls.address.patchValue(value);\n }\n\n inputListenAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n private listenSendActionData(): void {\n this.variablesService.sendActionData$.pipe(takeUntil(this.destroy$)).subscribe({\n next: value => {\n if (value && value.action === 'send') {\n setTimeout(() => {\n this.fillDeepLinkData(value);\n }, 100);\n this.variablesService.sendActionData$.next({});\n }\n },\n });\n }\n\n private saveSendMoneyParams(): void {\n this.sendMoneyParamsForm.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.variablesService.currentWallet.sendMoneyParams = this.sendMoneyParamsForm.getRawValue();\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Chart } from 'angular-highcharts';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BigNumber } from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-staking',\n template: `\n
\n
\n
\n
\n
\n
\n \n
\n {{ 'STAKING.TITLE' | translate }}\n
\n\n
\n \n \n
\n
\n
\n
\n {{ 'STAKING.TITLE_PENDING' | translate }}\n :\n
\n
\n
\n {{ pending.total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n {{ 'STAKING.TITLE_TOTAL' | translate }}\n :\n
\n
\n
\n {{ total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n\n \n Sort by {{ (item.title | translate | lowercase) + 's' }} \n \n {{ item.title | translate }}\n \n \n
\n
\n \n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n \n \n {{ period.title }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: auto;\n }\n `,\n ],\n})\nexport class StakingComponent implements OnInit, OnDestroy {\n periods = [\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK1'),\n key: '1 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK2'),\n key: '2 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH1'),\n key: '1 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH3'),\n key: '3 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH6'),\n key: '6 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.YEAR'),\n key: '1 year',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.ALL'),\n key: 'All',\n active: true,\n },\n ];\n\n groups = [\n {\n title: this.translate.instant('STAKING.GROUP.DAY'),\n key: 'day',\n active: true,\n },\n {\n title: this.translate.instant('STAKING.GROUP.WEEK'),\n key: 'week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.GROUP.MONTH'),\n key: 'month',\n active: false,\n },\n ];\n\n selectedGroup = this.groups[0].key;\n\n selectedDate = {\n date: null,\n amount: null,\n };\n\n originalData = [];\n\n chart: Chart;\n\n total = new BigNumber(0);\n\n pending = {\n list: [],\n total: new BigNumber(0),\n };\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n static makeGroupTime(key, date): number {\n if (key === 'day') {\n return date.setHours(0, 0, 0, 0);\n } else if (key === 'week') {\n return new Date(date.setDate(date.getDate() - date.getDay())).setHours(0, 0, 0, 0);\n } else {\n return new Date(date.setDate(1)).setHours(0, 0, 0, 0);\n }\n }\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getMiningHistory();\n },\n });\n this.variablesService.getHeightAppEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (newHeight: number) => {\n if (!this.pending.total.isZero()) {\n const pendingCount = this.pending.list.length;\n for (let i = pendingCount - 1; i >= 0; i--) {\n if (newHeight - this.pending.list[i].h >= 10) {\n this.pending.list.splice(i, 1);\n }\n }\n if (pendingCount !== this.pending.list.length) {\n this.pending.total = new BigNumber(0);\n for (let i = 0; i < this.pending.list.length; i++) {\n this.pending.total = this.pending.total.plus(this.pending.list[i].a);\n }\n }\n }\n },\n });\n this.variablesService.getRefreshStackingEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (wallet_id: number) => {\n if (this.variablesService.currentWallet.wallet_id === wallet_id) {\n this.getMiningHistory();\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n drawChart(data): void {\n this.chart = new Chart({\n title: { text: '' },\n credits: { enabled: false },\n exporting: { enabled: false },\n legend: { enabled: false },\n chart: {\n type: 'line',\n backgroundColor: 'transparent',\n height: null,\n events: {\n load: (): void => {\n this.changePeriod();\n },\n },\n },\n\n yAxis: {\n min: 0,\n tickAmount: 5,\n title: {\n text: '',\n },\n gridLineColor: '#2b3644',\n gridLineWidth: 2,\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 120,\n tickColor: '#2b3644',\n labels: {\n y: -8,\n align: 'left',\n x: -120,\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n format: '{value} ' + this.variablesService.defaultCurrency,\n },\n },\n\n xAxis: {\n type: 'datetime',\n gridLineColor: '#2b3644',\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 10,\n tickColor: '#2b3644',\n labels: {\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n },\n minPadding: 0,\n maxPadding: 0,\n minRange: 86400000,\n // tickInterval: 86400000,\n minTickInterval: 3600000,\n },\n\n tooltip: {\n enabled: false,\n },\n\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n },\n stops: [\n [0, 'rgba(124,181,236,0.2)'],\n [1, 'rgba(124,181,236,0)'],\n ],\n },\n marker: {\n enabled: false,\n radius: 2,\n },\n lineWidth: 2,\n threshold: null,\n },\n\n series: {\n point: {\n events: {\n mouseOver: (obj): void => {\n this.selectedDate.date = obj.target['x'];\n this.selectedDate.amount = obj.target['y'];\n },\n },\n },\n events: {\n mouseOut: (): void => {\n this.selectedDate.date = null;\n this.selectedDate.amount = null;\n },\n },\n },\n },\n series: [\n {\n type: 'area',\n data: data,\n },\n ],\n });\n }\n\n getMiningHistory(): void {\n if (this.variablesService.currentWallet.loaded) {\n this.backend.getMiningHistory(this.variablesService.currentWallet.wallet_id, (status, data) => {\n this.total = new BigNumber(0);\n this.pending.list = [];\n this.pending.total = new BigNumber(0);\n this.originalData = [];\n if (data.mined_entries) {\n data.mined_entries.forEach((item, key) => {\n if (item.t.toString().length === 10) {\n data.mined_entries[key].t = new Date(item.t * 1000).setUTCMilliseconds(0);\n }\n });\n data.mined_entries.forEach(item => {\n this.total = this.total.plus(item.a);\n if (this.variablesService.height_app - item.h < 10) {\n this.pending.list.push(item);\n this.pending.total = this.pending.total.plus(item.a);\n }\n this.originalData.push([parseInt(item.t, 10), parseFloat(this.intToMoneyPipe.transform(item.a))]);\n });\n this.originalData = this.originalData.sort(function (a, b) {\n return a[0] - b[0];\n });\n }\n this.ngZone.run(() => {\n this.drawChart([]);\n });\n });\n }\n }\n\n changePeriod(period?): void {\n if (period) {\n this.periods.forEach(p => {\n p.active = false;\n });\n period.active = true;\n } else {\n period = this.periods.find(p => p.active);\n }\n\n const d = new Date();\n let min = null;\n const newData = [];\n\n const group = this.groups.find(g => g.active);\n\n if (period.key === '1 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7, 0, 0, 0, 0);\n } else if (period.key === '2 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 14, 0, 0, 0, 0);\n } else if (period.key === '1 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 1, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '3 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 3, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '6 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 6, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '1 year') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear() - 1, d.getMonth(), d.getDate(), 0, 0, 0, 0);\n } else {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n }\n\n this.chart.ref?.xAxis[0].setExtremes(min, null);\n }\n\n changeGroup(group): void {\n this.groups.forEach(g => {\n g.active = false;\n });\n group.active = true;\n this.changePeriod();\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ProposalDetails } from '@api/models/swap.model';\n\n@Component({\n selector: 'app-swap-confirm-master-password',\n standalone: true,\n imports: [CommonModule, FlexModule, ReactiveFormsModule, TranslateModule, IntToMoneyPipeModule],\n templateUrl: './swap-confirm-master-password.component.html',\n styleUrls: ['./swap-confirm-master-password.component.scss'],\n})\nexport class SwapConfirmMasterPasswordComponent {\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group(\n {\n password: this.fb.control(''),\n appPass: this.fb.control(this.variablesService.appPass || ''),\n },\n { validators: [ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')] }\n );\n\n data: { proposalDetails: ProposalDetails } = inject(DIALOG_DATA);\n\n dialogRef = inject(DialogRef);\n}\n","
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }}\n {{ '???' }}\n \n \n \n
\n
\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }}\n {{ '???' }}\n \n \n \n
\n
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, take, takeUntil } from 'rxjs/operators';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { SwapConfirmMasterPasswordComponent } from '../../modals/swap-confirm-master-password/swap-confirm-master-password.component';\nimport { ProposalDetails } from '@api/models/swap.model';\n\n@Component({\n selector: 'app-confirm-swap',\n standalone: true,\n imports: [\n CommonModule,\n BreadcrumbsComponent,\n RouterLinkWithHref,\n InputValidateModule,\n TranslateModule,\n ReactiveFormsModule,\n IntToMoneyPipeModule,\n ],\n templateUrl: './confirm-swap.component.html',\n styleUrls: ['./confirm-swap.component.scss'],\n})\nexport class ConfirmSwapComponent implements OnInit, OnDestroy {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n errorRpc: { code: number; message: string } | undefined;\n\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n proposalDetails: ProposalDetails | undefined;\n\n hex_raw_proposal: string | undefined;\n\n private backendService = inject(BackendService);\n\n private router = inject(Router);\n\n private ngZone = inject(NgZone);\n\n private dialog = inject(Dialog);\n\n private destroy$ = new Subject();\n\n ngOnInit(): void {\n this.form.controls.hex_raw_proposal.valueChanges.pipe(distinctUntilChanged(), debounceTime(500), takeUntil(this.destroy$)).subscribe({\n next: (hex_raw_proposal: string) => {\n this.hex_raw_proposal = hex_raw_proposal;\n this.getProposalDetails(hex_raw_proposal);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n swapConfirmMasterPasswordDialog(): void {\n const proposalDetails = this.proposalDetails;\n const config: DialogConfig = {\n data: {\n proposalDetails,\n },\n disableClose: true,\n width: '54rem',\n maxHeight: '90vh',\n };\n this.dialog\n .open(SwapConfirmMasterPasswordComponent, config)\n .closed.pipe(filter(Boolean), take(1))\n .subscribe({\n next: () => this.acceptProposal(),\n });\n }\n\n acceptProposal(): void {\n if (!this.hex_raw_proposal) {\n return;\n }\n const { wallet_id } = this.variablesService.currentWallet;\n const hex_raw_proposal = this.hex_raw_proposal;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'ionic_swap_accept_proposal',\n params: { hex_raw_proposal },\n };\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n this.ngZone.run(() => {\n if (response_data2.result?.['result_tx_id']) {\n this.router.navigate(['/wallet/history']).then();\n } else {\n this.errorRpc = response_data2.error;\n }\n });\n });\n }\n });\n }\n\n private getProposalDetails(hex_raw_proposal: string): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'ionic_swap_get_proposal_info',\n params: { hex_raw_proposal },\n };\n\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n this.ngZone.run(() => {\n const proposal = response_data2?.result?.['proposal'];\n if (proposal) {\n this.proposalDetails = proposal;\n this.errorRpc = undefined;\n } else {\n this.proposalDetails = undefined;\n this.errorRpc = response_data2.error;\n }\n });\n });\n }\n });\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n
{{ item.amount | intToMoney }}\n {{ '???' }}\n \n \n \n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
{{ item.amount | intToMoney }}\n {{ '???' }}\n \n \n \n
\n
\n
\n
\n\n
\n \n\n \n {{ 'CONFIRM_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n\n
\n Error code: {{ errorRpc.code }}
\n Error message: {{ errorRpc.message || 'hex_raw_proposal not decoded' }}\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { AbstractControl, FormBuilder, FormControl, FormsModule, ReactiveFormsModule, ValidationErrors, Validators } from '@angular/forms';\nimport {\n IntToMoneyPipe,\n IntToMoneyPipeModule,\n MoneyToIntPipe,\n MoneyToIntPipeModule,\n ShortStringPipeModule,\n} from '@parts/pipes';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Asset } from '@api/models/assets.model';\nimport { zanoAssetInfo } from '@parts/data/assets';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BackendService } from '@api/services/backend.service';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { delay, filter, retry, take, takeUntil, tap } from 'rxjs/operators';\nimport { Aliases } from '@api/models/alias.model';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { BigNumber } from 'bignumber.js';\nimport { insuficcientFunds } from '@parts/utils/zano-errors';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { LoaderComponent } from '@parts/components/loader.component';\n\n@Component({\n selector: 'app-create-swap',\n standalone: true,\n imports: [\n CommonModule,\n RouterLinkWithHref,\n TranslateModule,\n BreadcrumbsComponent,\n InputValidateModule,\n ReactiveFormsModule,\n DefaultImgModule,\n NgSelectModule,\n LowerCaseDirective,\n ShortStringPipeModule,\n FormsModule,\n IntToMoneyPipeModule,\n MoneyToIntPipeModule,\n LoaderComponent,\n ],\n templateUrl: './create-swap.component.html',\n styleUrls: ['./create-swap.component.scss'],\n})\nexport class CreateSwapComponent implements OnInit, OnDestroy {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n variablesService = inject(VariablesService);\n\n fb = inject(FormBuilder);\n\n aliasAddress: string;\n\n loading$ = new BehaviorSubject(false);\n\n isWrapShown = false;\n\n aliases$ = new BehaviorSubject([]);\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(150));\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n moneyToIntPipe = inject(MoneyToIntPipe);\n\n wrapInfoService = inject(WrapInfoService);\n\n wrapInfo: WrapInfo;\n\n errorRpc: { code: number; message: string } = null;\n\n private backendService = inject(BackendService);\n\n private ngZone = inject(NgZone);\n\n private router = inject(Router);\n\n private destroy$ = new Subject();\n\n private moneyToInt = inject(MoneyToIntPipe);\n\n form = this.fb.group(\n {\n sending: this.fb.group({\n amount: this.fb.control('', {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.form?.controls.sending.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: Asset | undefined = this.variablesService.currentWallet.balances?.find(v => v.asset_info.asset_id === asset_id);\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n }\n return null;\n },\n ],\n }),\n asset_id: this.fb.control(zanoAssetInfo.asset_id, [Validators.required]),\n }),\n receiving: this.fb.group({\n amount: this.fb.control('', [Validators.required, Validators.min(0.000000000001)]),\n asset_id: this.fb.control(zanoAssetInfo.asset_id, [Validators.required]),\n }),\n receiverAddress: this.fb.control('', [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ]),\n },\n {\n validators: [\n (control: AbstractControl): ValidationErrors | null => {\n const condition = control.get('sending').get('asset_id').value === control.get('receiving').get('asset_id').value;\n if (condition) {\n control.get('receiving').get('asset_id').setErrors({ sameAssetsId: true });\n } else {\n control.get('receiving').get('asset_id').setErrors(null);\n }\n return null;\n },\n ],\n }\n );\n\n constructor() {}\n\n ngOnInit(): void {\n this.getWrapInfo();\n this.getAliases();\n this.setSendingAssetIdFromHistoryState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n reverse(): void {\n const { sending, receiving } = this.form.getRawValue();\n\n const markAllAsTouched = () => {\n this.form.controls.sending.markAllAsTouched();\n this.form.controls.receiving.markAllAsTouched();\n };\n\n markAllAsTouched();\n\n this.form.patchValue({\n sending: receiving,\n receiving: sending,\n });\n this.form.controls.sending.controls.amount.updateValueAndValidity();\n this.form.controls.receiving.controls.amount.updateValueAndValidity();\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.form.getRawValue().receiving.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n inputListenReceiverAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n pasteListenReceiverAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.form.controls.receiverAddress.patchValue(value);\n }\n\n beforeSubmit(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n this.form.updateValueAndValidity();\n return;\n }\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { sending, receiving, receiverAddress } = this.form.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const { default_fee_big } = this.variablesService;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'ionic_swap_generate_proposal',\n params: {\n proposal: {\n to_bob: [\n {\n asset_id: sending.asset_id,\n amount: this.moneyToIntPipe.transform(sending.amount),\n },\n ],\n to_alice: [\n {\n asset_id: receiving.asset_id,\n amount: this.moneyToIntPipe.transform(receiving.amount),\n },\n ],\n mixins: 10,\n fee_paid_by_a: default_fee_big,\n expiration_time: 0,\n },\n },\n };\n\n if (receiverAddress.indexOf('@') === 0) {\n const aliasName = receiverAddress;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.form.controls.receiverAddress.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n params2.params['destination_address'] = alias.address;\n } else {\n params2.params['destination_address'] = receiverAddress;\n }\n\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n if (response_data2.result) {\n this.ngZone.run(() => {\n this.router\n .navigateByUrl('/wallet/swap-proposal-hex', {\n state: {\n hex_raw_proposal: response_data2.result['hex_raw_proposal'],\n },\n })\n .then();\n });\n } else {\n this.ngZone.run(() => {\n this.errorRpc = response_data2.error;\n this.loading$.next(false);\n });\n }\n });\n } else {\n this.ngZone.run(() => this.loading$.next(false));\n }\n });\n }\n\n private setSendingAssetIdFromHistoryState(): void {\n const state = history.state || {};\n const asset: Asset = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.form.patchValue({\n sending: {\n asset_id,\n },\n });\n }\n }\n\n private getAliases(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n}\n","
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n {{ form.controls.sending.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n \n {{ asset?.asset_info.full_name || '---' }}\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n \n {{ asset?.asset_info.full_name || '---' }}\n \n \n
\n
\n {{ 'CREATE_SWAP.FORM.ERRORS.ERROR1' | translate }}\n
\n
\n
\n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n\n \n \n \n
\n
= 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\" class=\"alias\">\n
{{ alias.name }}
\n
\n
\n
\n \n
Not found aliases
\n
\n
\n
\n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\n
\n \n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n {{ 'CREATE_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n
\n
\n Error code: {{ errorRpc.code }}
\n Error message: {{ errorRpc.message || 'hex_raw_proposal not created' }}\n
\n \n\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\nimport { Observable } from 'rxjs';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\n\n@Component({\n selector: 'app-swap-proposal-hex',\n standalone: true,\n imports: [CommonModule, BreadcrumbsComponent, RouterLinkWithHref, InputValidateModule, TranslateModule, ReactiveFormsModule],\n templateUrl: './swap-proposal-hex.component.html',\n styleUrls: ['./swap-proposal-hex.component.scss'],\n})\nexport class SwapProposalHexComponent implements OnInit, IDeactivateComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM1',\n },\n {\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM2',\n },\n ];\n\n copyAnimation = false;\n\n copyAnimationTimeout: any;\n\n fb = inject(FormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n private backendService = inject(BackendService);\n\n private dialog = inject(Dialog);\n\n ngOnInit(): void {\n this.setSwapProposalHexFromHistoryState();\n }\n\n copy(): void {\n const { hex_raw_proposal } = this.form.getRawValue();\n this.backendService.setClipboard(hex_raw_proposal);\n this.copyAnimation = true;\n this.copyAnimationTimeout = setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n\n canExit(): Observable | Promise | boolean {\n const dialogConfig: DialogConfig = {\n disableClose: true,\n data: {\n title: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.TITLE',\n message: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.MESSAGE',\n buttons: {\n submit: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.SUBMIT',\n close: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.CLOSE',\n },\n },\n };\n const dialogRef = this.dialog.open(ConfirmModalComponent, dialogConfig);\n return dialogRef.closed;\n }\n\n private setSwapProposalHexFromHistoryState(): void {\n const historyState = history.state || {};\n const hex_raw_proposal = historyState['hex_raw_proposal'];\n if (hex_raw_proposal) {\n this.form.controls.hex_raw_proposal.patchValue(hex_raw_proposal, { emitEvent: false });\n }\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n\n \n {{ 'SWAP_PROPOSAL_HEX.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-swap',\n standalone: true,\n imports: [CommonModule, FlexModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './swap.component.html',\n styleUrls: ['./swap.component.scss'],\n})\nexport class SwapComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SwapProposalHexGuard implements CanDeactivate {\n canDeactivate(\n component: IDeactivateComponent,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot\n ): Observable | Promise | boolean | UrlTree {\n return component.canExit ? component.canExit() : true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { paths, pathsChildrenWallet } from '../paths';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WithSidebarLayoutComponent } from '../../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { ConfirmSwapComponent } from './tabs/swap/pages/confirm-swap/confirm-swap.component';\nimport { SwapComponent } from './tabs/swap/pages/swap/swap.component';\nimport { CreateSwapComponent } from './tabs/swap/pages/create-swap/create-swap.component';\nimport { SwapProposalHexComponent } from './tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component';\nimport { SwapProposalHexGuard } from './tabs/swap/parts/guards/swap-proposal-hex.guard';\n\nconst routes: Routes = [\n {\n path: paths.wallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletComponent,\n children: [\n {\n path: pathsChildrenWallet.assets,\n component: AssetsComponent,\n },\n {\n path: pathsChildrenWallet.send,\n component: SendComponent,\n },\n {\n path: pathsChildrenWallet.receive,\n component: ReceiveComponent,\n },\n {\n path: pathsChildrenWallet.history,\n component: HistoryComponent,\n },\n {\n path: pathsChildrenWallet.staking,\n component: StakingComponent,\n },\n {\n path: 'swap',\n component: SwapComponent,\n },\n {\n path: 'create-swap',\n component: CreateSwapComponent,\n },\n {\n path: 'swap-proposal-hex',\n component: SwapProposalHexComponent,\n canDeactivate: [SwapProposalHexGuard],\n },\n {\n path: 'confirm-swap',\n component: ConfirmSwapComponent,\n },\n {\n path: '',\n redirectTo: pathsChildrenWallet.assets,\n pathMatch: 'full',\n },\n ],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class WalletRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WalletRoutingModule } from './wallet-routing.module';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { FlexLayoutModule, FlexModule } from '@angular/flex-layout';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport {\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n ShortStringPipeModule,\n} from '@parts/pipes';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { ExportHistoryModalModule } from './wallet/modals/export-history-modal/export-history-modal.module';\nimport { WalletDetailsComponent } from '../wallet-details/wallet-details.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { ChartModule } from 'angular-highcharts';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ExportImportComponent } from '../export-import/export-import.component';\nimport { AssetDetailsModule } from '@parts/modals/asset-details/asset-details.module';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { TransactionDetailsComponent } from '@parts/components/transaction-details.component';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\nimport { WalletModalsModule } from './tabs/send/modals/wallet-modals.module';\nimport { GetAssetPipe } from '@parts/pipes/get-asset.pipe';\n\n@NgModule({\n declarations: [\n WalletComponent,\n AssetsComponent,\n WalletDetailsComponent,\n HistoryComponent,\n StakingComponent,\n ReceiveComponent,\n ExportImportComponent,\n SendComponent,\n ],\n imports: [\n CommonModule,\n WalletRoutingModule,\n FlexModule,\n TooltipModule,\n ShortStringPipeModule,\n TranslateModule,\n IsAvailableAliasNamePipeModule,\n ConfirmModalModule,\n ExportHistoryModalModule,\n ReactiveFormsModule,\n OverlayModule,\n DefaultImgModule,\n NgxPaginationModule,\n SwitchComponent,\n ChartModule,\n NgSelectModule,\n FormsModule,\n FlexLayoutModule,\n StakingSwitchComponent,\n DialogModule,\n IntToMoneyPipeModule,\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n InputValidateModule,\n CheckboxComponent,\n AssetDetailsModule,\n CopyButtonComponent,\n TransactionDetailsComponent,\n LowerCaseDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n WalletModalsModule,\n GetAssetPipe,\n ],\n})\nexport class WalletModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { Asset, ParamsAddCustomAssetId } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { wrongAssetId } from '@parts/utils/zano-errors';\nimport { BehaviorSubject } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LoaderComponent } from '@parts/components/loader.component';\n\n@Component({\n selector: 'app-add-custom-token',\n standalone: true,\n template: `\n \n
\n

\n {{ 'WALLET.MODAL_ADD_CUSTOM_TOKEN.TITLE' | translate }}\n

\n\n
\n \n \n \n
Invalid hash
\n
\n {{ formGroup.get('asset_id').errors['wrongAssetId'].errorText | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n imports: [CommonModule, FlexModule, TranslateModule, ReactiveFormsModule, LoaderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AddCustomTokenComponent {\n private fb = inject(NonNullableFormBuilder);\n\n private cdr = inject(ChangeDetectorRef);\n\n loading$ = new BehaviorSubject(false);\n\n formGroup = this.fb.group<{ asset_id: FormControl }>({\n asset_id: this.fb.control('', Validators.compose([Validators.required, ZanoValidators.hash, Validators.maxLength(64)])),\n });\n\n constructor(\n public variablesService: VariablesService,\n public backendService: BackendService,\n private walletsService: WalletsService,\n private dialogRef: DialogRef\n ) {}\n\n beforeSubmit(): void {\n if (this.formGroup.invalid) {\n this.formGroup.markAsTouched();\n this.formGroup.updateValueAndValidity();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { asset_id } = this.formGroup.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const params: ParamsAddCustomAssetId = {\n asset_id,\n wallet_id,\n };\n this.backendService.addCustomAssetId(params, (status, { asset_descriptor }) => {\n if (status) {\n const asset: Asset = {\n asset_info: {\n ...asset_descriptor,\n asset_id,\n },\n awaiting_in: 0,\n awaiting_out: 0,\n total: 0,\n unlocked: 0,\n };\n this.walletsService.updateWalletInfo(wallet_id);\n this.dialogRef.close(asset);\n } else {\n this.formGroup.controls.asset_id.setErrors({\n wrongAssetId,\n });\n this.loading$.next(false);\n this.cdr.detectChanges();\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DialogRef } from '@angular/cdk/dialog';\n\n@Component({\n selector: 'app-export-history-modal',\n template: `\n \n
\n

\n {{ 'EXPORT_HISTORY.TITLE' | translate }}\n

\n\n
\n
\n \n \n \n {{ item.formatName }}\n \n \n {{ item.formatName }}\n \n \n
\n\n
\n {{ 'EXPORT_HISTORY.FILTER' | translate }}\n \n
\n
\n\n
\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ExportHistoryModalComponent {\n posFilterIsOn = true;\n\n currentFormat: string;\n\n exportData = {\n wallet_id: 0,\n include_pos_transactions: false,\n path: 'C:\\\\some_file.txt',\n format: 'json',\n };\n\n exportFormats = [\n {\n format: 'json',\n formatName: 'JSON',\n },\n {\n format: 'text',\n formatName: 'Text',\n },\n {\n format: 'csv',\n formatName: 'CSV',\n },\n ];\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private translate: TranslateService,\n private dialogRef: DialogRef\n ) {\n this.currentFormat = this.exportFormats[0].format;\n }\n\n closeModal(): void {\n this.dialogRef.close();\n }\n\n confirmExport(): void {\n this.exportData.format = `${this.currentFormat}`;\n this.exportData.wallet_id = this.variablesService.currentWallet.wallet_id;\n this.exportData.include_pos_transactions = this.posFilterIsOn;\n\n this.backend.saveFileDialog(\n this.translate.instant('EXPORT_HISTORY.SAVED_FILE'),\n `${this.exportData.format}`,\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (this.exportData.format === 'text') {\n this.exportData.path = file_data.path + '.txt';\n } else {\n this.exportData.path = file_data.path + `.${this.exportData.format}`;\n }\n if (file_status) {\n this.backend.exportWalletHistory(JSON.stringify(this.exportData));\n this.closeModal();\n }\n }\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ExportHistoryModalComponent } from './export-history-modal.component';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\n\n@NgModule({\n declarations: [ExportHistoryModalComponent],\n exports: [ExportHistoryModalComponent],\n imports: [CommonModule, TranslateModule, FlexModule, SwitchComponent, CheckboxComponent, NgSelectModule, FormsModule],\n})\nexport class ExportHistoryModalModule {}\n","import { Component, HostListener, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Subject } from 'rxjs';\nimport { StateKeys, Store, Sync } from '@store/store';\nimport { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { ExportHistoryModalComponent } from './modals/export-history-modal/export-history-modal.component';\nimport { AddCustomTokenComponent } from './modals/add-custom-token/add-custom-token.component';\nimport { Asset } from '@api/models/assets.model';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-wallet',\n template: `\n
\n
\n
\n
\n

\n {{ variablesService.currentWallet.address | zanoShortString }}\n

\n\n \n \n\n \n \n \n \n\n \n
\n {{ variablesService.currentWallet.alias.name }}\n
\n\n \n \n \n \n\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n\n \n
\n
    \n
  • \n \n \n {{ 'WALLET_DETAILS.WALLET_OPTIONS' | translate }}\n \n
  • \n
  • \n \n \n {{ 'WALLET_DETAILS.ADD_CUSTOM_TOKEN' | translate }}\n \n
  • \n
  • \n \n \n {{ 'EXPORT_HISTORY.EXPORT_BUTTON' | translate }}\n \n
  • \n \n
  • \n \n {{ 'WALLET_DETAILS.RESYNC_WALLET_BUTTON' | translate }}\n \n
  • \n
    \n
  • \n \n {{ 'WALLET_DETAILS.BUTTON_REMOVE' | translate }}\n \n
  • \n
\n
\n \n\n
\n
\n \n \n \n {{ tab.title | translate }}\n {{ variablesService.currentWallet.new_contracts }}\n \n \n
\n
\n \n
\n
\n `,\n})\nexport class WalletComponent implements OnInit, OnDestroy {\n settingsButtonInterval;\n\n settingsButtonDisabled = true;\n\n walletLoaded = false;\n\n openDropdown: boolean;\n\n walletSyncVisible = false;\n\n tabs = [\n {\n title: 'WALLET.TABS.ASSETS',\n icon: 'balance-icon',\n link: '/assets',\n disabled: false,\n },\n {\n title: 'WALLET.TABS.HISTORY',\n icon: 'time-circle',\n link: '/history',\n disabled: false,\n },\n {\n title: 'WALLET.TABS.SEND',\n icon: 'arrow-up-square',\n link: '/send',\n disabled: true,\n },\n {\n title: 'WALLET.TABS.RECEIVE',\n icon: 'arrow-down-square',\n link: '/receive',\n disabled: false,\n },\n {\n title: 'Swap',\n icon: 'swap',\n link: '/swap',\n disabled: false,\n },\n // TODO: https://github.com/hyle-team/zano/issues/374\n // {\n // title: 'WALLET.TABS.CONTRACTS',\n // icon: 'document',\n // link: '/contracts',\n // disabled: true,\n // },\n {\n title: 'WALLET.TABS.STAKING',\n icon: 'staking',\n link: '/staking',\n indicator: false,\n disabled: true,\n },\n ];\n\n private destroy$ = new Subject();\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private store: Store,\n private dialog: Dialog,\n private walletsService: WalletsService\n ) {\n if (!this.variablesService.currentWallet && this.variablesService.wallets.length > 0) {\n this.variablesService.setCurrentWallet(0);\n }\n this.walletLoaded = this.variablesService.currentWallet.loaded;\n }\n\n @HostListener('document:keydown.shift', ['$event.key'])\n onKeyPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = true;\n }\n }\n\n @HostListener('document:keyup.shift', ['$event.key'])\n onKeyUpPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = false;\n }\n }\n\n ngOnInit(): void {\n this.settingsButtonInterval = setInterval(() => {\n // tslint:disable-next-line:triple-equals\n if (this.variablesService.daemon_state == 2 || this.walletLoaded) {\n this.settingsButtonDisabled = false;\n clearInterval(this.settingsButtonInterval);\n }\n }, 1000);\n this.store\n .select(StateKeys.sync)\n .pipe(filter(Boolean), distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe({\n next: (value: any) => {\n const data = value.filter((item: Sync) => item.wallet_id === this.variablesService.currentWallet.wallet_id)[0];\n if (data && !data.sync) {\n let in_progress;\n const values = this.store.state.sync;\n if (values && values.length > 0) {\n in_progress = values.filter(item => item.sync);\n this.variablesService.sync_started = !!(in_progress && in_progress.length);\n if (!in_progress) {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n } else {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n }\n },\n });\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n this.variablesService.getAliasChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n },\n });\n this.updateWalletStatus();\n this.variablesService.getWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.setTabsDisabled(!this.variablesService.currentWallet.balances);\n },\n });\n }\n\n toggleMenuDropdown(): void {\n if (!this.openDropdown) {\n this.openDropdown = true;\n } else {\n this.openDropdown = false;\n this.walletSyncVisible = false;\n }\n }\n\n resyncCurrentWallet(id): void {\n this.backend.resyncWallet(id);\n }\n\n beforeClose(wallet_id): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.closeWallet(wallet_id),\n });\n }\n\n addCustomToken(): void {\n this.dialog\n .open(AddCustomTokenComponent)\n .closed.pipe(\n filter(response_data => Boolean(response_data)),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: asset => {\n const dialogConfig: DialogConfig = {\n data: {\n asset,\n title: 'You added new asset',\n },\n };\n this.ngZone.run(() => {\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n });\n },\n });\n }\n\n exportHistory(): void {\n this.dialog.open(ExportHistoryModalComponent);\n }\n\n closeWallet(wallet_id): void {\n this.walletsService.closeWallet(wallet_id);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n updateWalletStatus(): void {\n this.backend.eventSubscribe(Commands.wallet_sync_progress, data => {\n const wallet_id = data.wallet_id;\n if (wallet_id === this.variablesService.currentWallet.wallet_id) {\n this.ngZone.run(() => {\n this.walletLoaded = false;\n });\n }\n });\n this.backend.eventSubscribe(Commands.update_wallet_status, data => {\n const wallet_state = data.wallet_state;\n const wallet_id = data.wallet_id;\n this.ngZone.run(() => {\n if (wallet_state === 2 && wallet_id === this.variablesService.currentWallet.wallet_id) {\n this.walletLoaded = this.variablesService.getWallet(this.variablesService.currentWallet.wallet_id)?.loaded || false;\n if (this.walletLoaded) {\n this.setTabsDisabled(!this.variablesService.currentWallet.balances);\n }\n } else {\n this.walletLoaded = false;\n }\n });\n });\n }\n\n setTabsDisabled(disabled: boolean): void {\n this.tabs[2].disabled = disabled;\n this.tabs[4].disabled = disabled;\n // TODO: https://github.com/hyle-team/zano/issues/374\n // this.tabs[5].disabled = disabled;\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonModule } from '@parts/directives/back-button/back-button.module';\n\n@Component({\n selector: 'app-back-button',\n standalone: true,\n imports: [CommonModule, BackButtonModule],\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n})\nexport class BackButtonComponent {}\n","\n \n\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-breadcrumbs',\n standalone: true,\n imports: [CommonModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class BreadcrumbsComponent {\n @Input() items: BreadcrumbItems = [];\n}\n","
\n
\n \n {{ item.title | translate }}\n \n\n \n {{ item.title | translate }}\n \n
\n
\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-checkbox',\n template: `\n
\n \n \n
\n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() label = '';\n\n @Input() id = 'id-' + Math.random();\n\n @Input() disabled = false;\n\n @Input() readonly = false;\n\n @Output() emitChange = new EventEmitter();\n\n onChange!: (value: boolean) => void;\n\n onTouched!: () => void;\n\n handlerChange({ target }: Event): void {\n const { checked } = target as HTMLInputElement;\n this.value = checked;\n this.emitChange.emit(checked);\n if (this.onChange) {\n this.onChange(checked);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-copy-button',\n template: `\n \n \n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CopyButtonComponent {\n @Input() value: string;\n\n @Input() size: 'small' | 'big' = 'small';\n\n copyAnimation = false;\n\n copyAnimationTimeout;\n\n constructor(private backend: BackendService, public variablesService: VariablesService) {}\n\n copy(): void {\n this.backend.setClipboard(this.value || '');\n this.copyAnimation = true;\n this.copyAnimationTimeout = window.setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\n\ntype LoaderType = 'circle' | 'circle-2' | 'circle-3' | 'dots' | 'dots-2' | 'pulse';\n\n@Component({\n selector: 'zano-loader',\n standalone: true,\n template: `\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n `,\n styles: [\n `\n /* Loader 1 */\n .loader-1 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-1-1 4.8s linear infinite;\n animation: loader-1-1 4.8s linear infinite;\n }\n\n @-webkit-keyframes loader-1-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-1-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-1 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n -webkit-animation: loader-1-2 1.2s linear infinite;\n animation: loader-1-2 1.2s linear infinite;\n }\n\n @-webkit-keyframes loader-1-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(220deg);\n }\n }\n\n @keyframes loader-1-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(220deg);\n }\n }\n\n .loader-1 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n border: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-1-3 {\n 0% {\n -webkit-transform: rotate(-140deg);\n }\n 50% {\n -webkit-transform: rotate(-160deg);\n }\n 100% {\n -webkit-transform: rotate(140deg);\n }\n }\n\n @keyframes loader-1-3 {\n 0% {\n transform: rotate(-140deg);\n }\n 50% {\n transform: rotate(-160deg);\n }\n 100% {\n transform: rotate(140deg);\n }\n }\n\n /* Loader 2 */\n .loader-2 {\n display: block;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-2-1 3s linear infinite;\n animation: loader-2-1 3s linear infinite;\n }\n\n @-webkit-keyframes loader-2-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(16px, 32px, 32px, 0);\n -webkit-animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid transparent;\n border-top: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-3 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-3 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid rgba(255, 255, 255, 0.5);\n border-radius: 50%;\n }\n\n /* Loader 3 */\n .loader-3 {\n display: block;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid #fff;\n border-bottom: 3px solid transparent;\n border-radius: 50%;\n -webkit-animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 40% {\n -webkit-transform: rotate(180deg);\n }\n 60% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-3-1 {\n 0% {\n transform: rotate(0deg);\n }\n 40% {\n transform: rotate(180deg);\n }\n 60% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-3 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 6px;\n height: 6px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-2 {\n 0% {\n -webkit-transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n @keyframes loader-3-2 {\n 0% {\n transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n /* Loader 4 */\n .loader-4 {\n height: 32px;\n width: 32px;\n }\n\n .loader-4::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 12px;\n height: 12px;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-1 {\n 0% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n 50% {\n -webkit-transform: scale(1);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n }\n\n @keyframes loader-4-1 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n .loader-4 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 50% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-4-2 {\n 0% {\n transform: rotate(0deg);\n }\n 50% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-4 span::before,\n .loader-4 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 12px;\n width: 12px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-4 span::after {\n -webkit-animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 5 */\n .loader-5 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-5-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-5::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: auto;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: auto;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-5 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: auto;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span::after {\n content: '';\n display: block;\n position: absolute;\n top: auto;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-5 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-5 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 6 */\n .loader-6 {\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span::before,\n .loader-6 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 2px solid #fff;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n }\n\n @-webkit-keyframes loader-6-1 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-1 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n .loader-6 span::after {\n -webkit-animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n }\n\n @-webkit-keyframes loader-6-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n `,\n ],\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault],\n})\nexport class LoaderComponent {\n @Input()\n type: LoaderType = 'circle';\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ContextMenuComponent, ContextMenuModule, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-register-context-templates',\n template: ` \n {{ 'CONTEXT_MENU.COPY' | translate }}\n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n \n \n {{ 'CONTEXT_MENU.COPY' | translate }}\n \n\n \n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n `,\n standalone: true,\n imports: [CommonModule, ContextMenuModule, TranslateModule],\n providers: [ContextMenuService],\n})\nexport class RegisterContextTemplatesComponent implements OnInit {\n @ViewChild('allContextMenu', { static: true })\n public allContextMenu: ContextMenuComponent;\n\n @ViewChild('onlyCopyContextMenu', { static: true })\n public onlyCopyContextMenu: ContextMenuComponent;\n\n @ViewChild('pasteSelectContextMenu', { static: true })\n public pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n ngOnInit(): void {\n this.variablesService.allContextMenu = this.allContextMenu;\n this.variablesService.onlyCopyContextMenu = this.onlyCopyContextMenu;\n this.variablesService.pasteSelectContextMenu = this.pasteSelectContextMenu;\n }\n\n contextMenuCopy(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const canUseSelection = target[start] || target[start] === '0';\n const SelectedText = canUseSelection ? target['value'].substring(target[start], target[end]) : target['value'];\n this.backendService.setClipboard(String(SelectedText));\n }\n }\n\n contextMenuOnlyCopy(text): void {\n if (text) {\n this.backendService.setClipboard(String(text));\n }\n }\n\n contextMenuPaste(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n this.backendService.getClipboard((status, clipboard) => {\n clipboard = String(clipboard);\n if (typeof clipboard !== 'string' || clipboard.length) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const _pre = target['value'].substring(0, target[start]);\n const _aft = target['value'].substring(target[end], target['value'].length);\n let text = _pre + clipboard + _aft;\n const cursorPosition = (_pre + clipboard).length;\n if (target['maxLength'] && parseInt(target['maxLength'], 10) > 0) {\n text = text.substr(0, parseInt(target['maxLength'], 10));\n }\n target['value'] = text;\n target.setSelectionRange(cursorPosition, cursorPosition);\n target.dispatchEvent(new Event('input'));\n target['focus']();\n }\n });\n }\n }\n\n contextMenuSelect(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n target['focus']();\n setTimeout(() => {\n target['select']();\n });\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-staking-switch',\n template: `\n \n \n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class StakingSwitchComponent {\n @Input() wallet_id: number;\n\n @Input() staking: boolean;\n\n @Output() stakingChange = new EventEmitter();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService) {}\n\n toggleStaking(): void {\n const wallet = this.variablesService.getWallet(this.wallet_id);\n if (wallet && wallet.loaded) {\n this.stakingChange.emit(!this.staking);\n if (!this.staking) {\n this.backendService.startPosMining(this.wallet_id);\n } else {\n this.backendService.stopPosMining(this.wallet_id);\n }\n }\n }\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-switch',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n },\n ],\n})\nexport class SwitchComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() disabled = false;\n\n @Output() emitChange = new EventEmitter();\n\n onTouched!: () => void;\n\n onChange!: (value: boolean) => void;\n\n toggle(): void {\n if (!this.disabled) {\n this.value = !this.value;\n this.emitChange.emit(this.value);\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component } from '@angular/core';\nimport { VariablesService } from '../services/variables.service';\nimport { DOWNLOADS_PAGE_URL } from '@parts/data/constants';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-synchronization-status',\n template: `\n \n
\n \n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\n
\n \n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }}\n {{ variablesService.sync.progress_value_text }}%\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }}\n {{ variablesService.download.progress_value_text }}%\n \n\n \n \n
\n
\n \n \n \n \n\n \n \n
\n
\n \n \n \n \n\n \n \n
\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n \n\n \n
\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\n
\n \n \n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class SynchronizationStatusComponent {\n constructor(public variablesService: VariablesService, private backend: BackendService) {}\n\n getUpdate(): void {\n this.backend.openUrlInBrowser(DOWNLOADS_PAGE_URL);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Transaction } from '@api/models/transaction.model';\nimport { VariablesService } from '../services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { BLOCK_EXPLORER_TN_TX_URL_PREFIX, BLOCK_EXPLORER_TX_URL_PREFIX } from '../data/constants';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-transaction-details',\n template: `\n \n \n \n \n \n {{ transaction.tx_hash }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ transaction.payment_id }}\n \n \n \n \n \n {{ transaction.comment }}\n \n \n \n
{{ 'HISTORY.DETAILS.ID' | translate }}{{ 'HISTORY.DETAILS.SIZE' | translate }}\n {{ 'HISTORY.DETAILS.SIZE_VALUE' | translate : { value: transaction.tx_blob_size } }}\n
{{ 'HISTORY.DETAILS.HEIGHT' | translate }}{{ transaction.height }}{{ 'HISTORY.DETAILS.CONFIRMATION' | translate }}\n {{ transaction.height === 0 ? 0 : variablesService.height_app - transaction.height }}\n
{{ 'HISTORY.DETAILS.PAYMENT_ID' | translate }}
{{ 'HISTORY.DETAILS.COMMENT' | translate }}
\n `,\n styles: [\n `\n :host {\n display: block;\n padding: 2rem 0;\n }\n table tbody tr {\n background: none;\n }\n\n table tbody tr td {\n padding: 1rem 2rem;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class TransactionDetailsComponent {\n @Input() transaction: Transaction;\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n openInBrowser(tr): void {\n this.backendService.openUrlInBrowser(\n (this.variablesService.testnet ? BLOCK_EXPLORER_TN_TX_URL_PREFIX : BLOCK_EXPLORER_TX_URL_PREFIX) + tr\n );\n }\n}\n","import { Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\nimport { Wallet } from '@api/models/wallet.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Asset, Assets } from '@api/models/assets.model';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { IntToMoneyPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\n\n@Component({\n selector: 'app-wallet-card',\n template: `\n
\n
\n
\n
\n \n {{ wallet.new_contracts }}\n \n\n \n {{ !wallet.alias['name'] ? wallet.name : wallet.alias['name'] }}\n \n
\n
\n
\n \n \n \n
\n
\n\n \n {{ wallet.getMoneyEquivalentForZano(variablesService.moneyEquivalent) | intToMoney | currency : 'USD' || '---' }}\n \n {{ variablesService.moneyEquivalentPercent | number : '1.2-2' }}%\n \n \n\n \n \n {{ 'SIDEBAR.ACCOUNT.STAKING' | translate }}\n \n
\n \n\n \n
\n
\n \n
{{ wallet.progress }}%
\n \n \n `,\n standalone: true,\n imports: [CommonModule, TooltipModule, TranslateModule, IntToMoneyPipeModule, StakingSwitchComponent, DisablePriceFetchModule],\n})\nexport class WalletCardComponent {\n @HostBinding('class') classAttr = 'wallet';\n\n @Input() wallet: Wallet;\n\n @Output() eventClose = new EventEmitter();\n\n constructor(\n public variablesService: VariablesService,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService,\n private backend: BackendService\n ) {}\n\n getBalancesTooltip(): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!this.wallet || !this.wallet.balances) {\n return null;\n }\n const { balances } = this.wallet;\n\n scrollWrapper.classList.add('balance-scroll-list');\n balances.forEach(({ unlocked, total, asset_info: { ticker } }: Asset) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerHTML = this.translate.instant('WALLET.AVAILABLE_BALANCE', {\n available: this.intToMoneyPipe.transform(unlocked),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(available);\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE', {\n locked: this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backend.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n}\n","export const zanoAssetInfo = {\n asset_id: 'd6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a',\n current_supply: 0,\n decimal_point: 12,\n full_name: 'Zano',\n logo: 'assets/icons/currency-icons/zano.svg',\n meta_info: '',\n owner: '0000000000000000000000000000000000000000000000000000000000000000',\n price_url: 'https://api.coingecko.com/api/v3/simple/price?ids=zano&vs_currencies=usd&include_24hr_change=true',\n ticker: 'ZANO',\n total_max_supply: 0,\n};\n","export const MIXIN = 10; // default mixin value\nexport const RCV_ADDR_QR_SCALE = 1.5; // scale factor for QR code\n\nexport const AUDITABLE_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/auditable-wallets-faq';\nexport const CREATE_NEW_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/wallets/gui-wallet';\nexport const LOCKED_BALANCE_HELP_PAGE = 'docs.zano.org/docs/use/locked-balance';\nexport const DOWNLOADS_PAGE_URL = 'zano.org/downloads';\n\nexport const BLOCK_EXPLORER_TX_URL_PREFIX = 'explorer.zano.org/transaction/';\nexport const BLOCK_EXPLORER_TN_TX_URL_PREFIX = 'testnet-explorer.zano.org/transaction/';\n","import { ScaleItems } from '@api/models/scale.model';\n\nexport const scaleItems: ScaleItems = [\n {\n value: '8px',\n name: 'SETTINGS.SCALE.75',\n },\n {\n value: '10px',\n name: 'SETTINGS.SCALE.100',\n },\n {\n value: '12px',\n name: 'SETTINGS.SCALE.125',\n },\n {\n value: '14px',\n name: 'SETTINGS.SCALE.150',\n },\n];\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n standalone: true,\n})\nexport class AutoFocusDirective implements AfterViewInit {\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => this.elementRef.nativeElement.focus());\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { NavigationService } from '@parts/services/back.service';\n\n@Directive({\n selector: '[appBackButton]',\n})\nexport class BackButtonDirective {\n constructor(private navigationService: NavigationService) {}\n\n @HostListener('click')\n onClick(): void {\n this.navigationService.back();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonDirective } from './back-button.directive';\n\n@NgModule({\n declarations: [BackButtonDirective],\n exports: [BackButtonDirective],\n imports: [CommonModule],\n})\nexport class BackButtonModule {}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[appDefaultImg]',\n})\nexport class DefaultImgDirective {\n @Input() defaultImgSrc!: string | null | undefined;\n @Input() defaultImgAlt: string | null | undefined;\n\n constructor(private elementRef: ElementRef) {}\n\n @HostListener('error')\n handlerOnError(): void {\n const elementImg: HTMLImageElement = this.elementRef.nativeElement;\n elementImg.onerror = null;\n elementImg.src = this.defaultImgSrc || '---';\n elementImg.alt = this.defaultImgAlt || '---';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DefaultImgDirective } from './default-img.directive';\n\n@NgModule({\n declarations: [DefaultImgDirective],\n exports: [DefaultImgDirective],\n imports: [CommonModule],\n})\nexport class DefaultImgModule {}\n","export * from './default-img.module';\n","import { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDisablePriceFetch]',\n})\nexport class DisablePriceFetchDirective implements OnDestroy {\n private destroy$: Subject = new Subject();\n\n constructor(\n private _variablesService: VariablesService,\n private _templateRef: TemplateRef,\n private _viewContainer: ViewContainerRef\n ) {\n this._variablesService.disable_price_fetch$.pipe(takeUntil(this.destroy$)).subscribe({\n next: (disable_price_fetch: boolean) => {\n return !disable_price_fetch ? this._viewContainer.createEmbeddedView(this._templateRef) : this._viewContainer.clear();\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchDirective } from './disable-price-fetch.directive';\n\n@NgModule({\n declarations: [DisablePriceFetchDirective],\n imports: [CommonModule],\n exports: [DisablePriceFetchDirective],\n})\nexport class DisablePriceFetchModule {}\n","export * from './disable-price-fetch.directive';\nexport * from './disable-price-fetch.module';\n","export * from './default-img';\nexport * from './disable-price-fetch';\nexport * from './input-disable-selection';\nexport * from './input-validate';\nexport * from './tooltip';\nexport * from './lower-case.directive';\n","export * from './input-disable-selection.module';\nexport * from './input-disable-selection.directive';\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line\n selector: 'input',\n})\nexport class InputDisableSelectionDirective {\n @HostListener('mousedown', ['$event'])\n handleInput(event: Event): void {\n if ((event.target).readOnly) {\n event.preventDefault();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputDisableSelectionDirective } from '@parts/directives/input-disable-selection/input-disable-selection.directive';\n\n@NgModule({\n declarations: [InputDisableSelectionDirective],\n exports: [InputDisableSelectionDirective],\n imports: [CommonModule],\n})\nexport class InputDisableSelectionModule {}\n","export * from './input-validate.module';\nexport * from './input-validate.directive';\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\n\n@Directive({\n selector: '[appInputValidate]',\n})\nexport class InputValidateDirective {\n private type: string;\n\n constructor(private el: ElementRef, private variablesService: VariablesService) {}\n\n @Input('appInputValidate')\n public set defineInputType(type: string) {\n this.type = type;\n }\n\n @HostListener('input', ['$event'])\n handleInput(event: Event): void {\n if (this.type === 'money') {\n this.moneyValidation(event);\n } else if (this.type === 'integer') {\n this.integerValidation(event);\n }\n }\n\n private moneyValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n // eslint-disable-next-line\n const OnlyD = /[^\\d\\.]/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(',', '.').replace(OnlyD, '');\n }\n const _double_separator = currentValue.match(/\\./g);\n if (_double_separator && _double_separator.length > 1) {\n currentValue = currentValue.substr(0, currentValue.lastIndexOf('.'));\n }\n if (currentValue.indexOf('.') === 0) {\n currentValue = '0' + currentValue;\n }\n const _zero_fill = currentValue.split('.');\n if (_zero_fill[0].length > 7) {\n _zero_fill[0] = _zero_fill[0].substr(0, 7);\n }\n\n if (1 in _zero_fill && _zero_fill[1].length) {\n _zero_fill[1] = _zero_fill[1].substr(0, this.variablesService.digits);\n }\n currentValue = _zero_fill.join('.');\n if (currentValue !== originalValue) {\n (event.target).value = currentValue;\n const cursorPosition = (event.target).selectionEnd;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n (event.target).dispatchEvent(new Event('input'));\n }\n }\n\n private integerValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n const OnlyD = /\\D/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(OnlyD, '');\n }\n if (currentValue !== originalValue) {\n const cursorPosition = (event.target).selectionEnd;\n (event.target).value = currentValue;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputValidateDirective } from '@parts/directives/input-validate/input-validate.directive';\n\n@NgModule({\n declarations: [InputValidateDirective],\n exports: [InputValidateDirective],\n imports: [CommonModule],\n})\nexport class InputValidateModule {}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: 'input[lowerCase]:not([upperCase]),textarea[lowerCase]:not([upperCase])',\n standalone: true,\n})\nexport class LowerCaseDirective {\n @Input() lowerCaseValue: string;\n\n @Input() lowerCaseDisabled = false;\n\n private getCaret(el) {\n return {\n start: el.selectionStart,\n end: el.selectionEnd,\n };\n }\n\n private setCaret(el, start, end) {\n el.selectionStart = start;\n el.selectionEnd = end;\n\n el.focus();\n }\n\n private dispatchEvent(el, eventType) {\n const event = document.createEvent('Event');\n event.initEvent(eventType, false, false);\n el.dispatchEvent(event);\n }\n\n private convertValue(el, value) {\n el.value = value.toLowerCase();\n\n this.dispatchEvent(el, 'input');\n }\n\n @HostListener('blur', ['$event.target', '$event.target.value'])\n onBlur(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (\n (!this.lowerCaseValue || 'blur' === this.lowerCaseValue) &&\n 'function' === typeof value.toLowerCase &&\n value.toLowerCase() !== value\n ) {\n this.convertValue(el, value);\n this.dispatchEvent(el, 'blur'); // in case updateOn is set to blur\n }\n }\n\n @HostListener('input', ['$event.target', '$event.target.value'])\n onInput(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (!this.lowerCaseValue && 'function' === typeof value.toLowerCase && value.toLowerCase() !== value) {\n let { start, end } = this.getCaret(el);\n\n if (value[0] === ' ' && start === 1 && end === 1) {\n start = 0;\n end = 0;\n }\n\n this.convertValue(el, value);\n\n this.setCaret(el, start, end);\n }\n }\n}\n","export * from './tooltip.directive';\nexport * from './tooltip.module';\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n // eslint-disable-next-line\n selector: '[tooltip]',\n})\nexport class TooltipDirective implements OnDestroy {\n @HostBinding('style.cursor') cursor;\n\n @Input('tooltip') tooltipInner: any;\n\n @Input() placement: string;\n\n @Input() tooltipClass: string;\n\n @Input() timeout = 0;\n\n @Input() timeDelay = 0;\n\n @Input() delay = 0;\n\n @Input() showWhenNoOverflow = true;\n\n @Output() eventHide = new EventEmitter();\n\n tooltip: HTMLElement;\n\n removeTooltipTimeout;\n\n removeTooltipTimeoutInner;\n\n removeTooltipTimeDelay;\n\n private enter: (event: MouseEvent) => void;\n\n private leave: (event: MouseEvent) => void;\n\n constructor(private el: ElementRef, private renderer: Renderer2, private sanitizer: DomSanitizer) {}\n\n @HostListener('mouseenter') onMouseEnter(): void {\n if (!this.tooltipInner) {\n return;\n }\n if (this.showWhenNoOverflow || (!this.showWhenNoOverflow && this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth)) {\n this.cursor = 'pointer';\n if (!this.tooltip) {\n if (this.timeDelay !== 0) {\n this.removeTooltipTimeDelay = setTimeout(() => {\n this.show();\n }, this.timeDelay);\n } else {\n this.show();\n }\n } else {\n this.cancelHide();\n }\n }\n }\n\n @HostListener('mouseleave') onMouseLeave(): void {\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.hide();\n }\n }\n\n show(): void {\n this.create();\n this.placement = this.placement === null ? 'top' : this.placement;\n this.setPosition(this.placement);\n }\n\n hide(): void {\n this.removeTooltipTimeout = setTimeout(() => {\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.removeTooltipTimeoutInner = setTimeout(() => {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip.removeEventListener('mouseenter', this.enter);\n this.tooltip.removeEventListener('mouseleave', this.leave);\n this.tooltip = null;\n this.eventHide.emit(true);\n }, this.delay);\n }, this.timeout);\n }\n\n cancelHide(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }\n\n create(): void {\n this.tooltip = this.renderer.createElement('div');\n let innerBlock = this.renderer.createElement('div');\n if (typeof this.tooltipInner === 'string') {\n innerBlock.innerText = this.sanitizer.sanitize(SecurityContext.HTML, this.tooltipInner);\n } else {\n if (this.tooltipInner) {\n innerBlock = this.tooltipInner;\n }\n }\n this.renderer.addClass(innerBlock, 'tooltip-inner');\n this.renderer.addClass(innerBlock, 'scrolled-content');\n this.renderer.appendChild(this.tooltip, innerBlock);\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.enter = (): void => {\n this.cancelHide();\n };\n this.tooltip.addEventListener('mouseenter', this.enter);\n this.leave = (): void => {\n if (this.tooltip) {\n this.hide();\n }\n };\n this.tooltip.addEventListener('mouseleave', this.leave);\n\n this.renderer.setStyle(document.body, 'position', 'relative');\n this.renderer.setStyle(this.tooltip, 'position', 'absolute');\n if (this.tooltipClass !== null) {\n const classes = this.tooltipClass.split(' ');\n for (let i = 0; i < classes.length; i++) {\n this.renderer.addClass(this.tooltip, classes[i]);\n }\n }\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\n window.setTimeout(() => {\n return this.tooltip && this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }, 0);\n }\n\n setPosition(placement): void {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-' + placement);\n const topExit = hostPos.top - this.tooltip.getBoundingClientRect().height - parseInt(getComputedStyle(this.tooltip).marginTop, 10) < 0;\n const bottomExit =\n window.innerHeight <\n hostPos.bottom + this.tooltip.getBoundingClientRect().height + parseInt(getComputedStyle(this.tooltip).marginTop, 10);\n\n switch (placement) {\n case 'top':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom');\n return;\n } else {\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-left':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-right':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'bottom':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.checkSides();\n }\n break;\n case 'bottom-left':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.checkSides();\n }\n break;\n case 'bottom-right':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.checkSides();\n }\n break;\n case 'left':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'left-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n break;\n case 'left-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n case 'right':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'right-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n break;\n case 'right-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n }\n }\n\n checkSides(): void {\n if (this.tooltip.getBoundingClientRect().left < 0) {\n this.renderer.setStyle(this.tooltip, 'left', 0);\n }\n if (this.tooltip.getBoundingClientRect().right > window.innerWidth) {\n this.renderer.setStyle(this.tooltip, 'left', window.innerWidth - this.tooltip.getBoundingClientRect().width + 'px');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip = null;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [TooltipDirective],\n imports: [CommonModule],\n exports: [TooltipDirective],\n})\nexport class TooltipModule {}\n","export const hasOwnProperty = (obj: object, key: string): boolean => {\n if (Boolean(obj) && Boolean(key)) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n return false;\n};\n","import { Component, inject, Inject, NgZone, OnInit } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Asset } from '@api/models/assets.model';\nimport { zanoAssetInfo } from '@parts/data/assets';\nimport { BackendService } from '@api/services/backend.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\n@Component({\n selector: 'app-asset-details',\n template: `\n
\n
\n

\n {{ title | translate }}\n

\n \n
\n
\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.NAME' | translate }}\n
\n
{{ asset.asset_info.full_name }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.TICKER' | translate }}\n
\n
{{ asset.asset_info.ticker }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.ID' | translate }}\n
\n
\n {{ asset.asset_info.asset_id }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.CURRENT_SUPPLY' | translate }}\n
\n
\n {{ asset.asset_info.asset_id === zanoAssetInfo.asset_id ? zano_current_supply : asset.asset_info.current_supply }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.MAX_SUPPLE' | translate }}\n
\n
\n {{ asset.asset_info.asset_id === zanoAssetInfo.asset_id ? 'Uncapped' : asset.asset_info.total_max_supply }}\n
\n
\n
\n
\n
\n No data\n
\n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class AssetDetailsComponent implements OnInit {\n title = 'Asset Details';\n\n asset!: Asset;\n\n zanoAssetInfo = zanoAssetInfo;\n\n backendService = inject(BackendService);\n\n ngZone = inject(NgZone);\n\n zano_current_supply = null;\n\n constructor(\n public variablesService: VariablesService,\n private dialogRef: DialogRef,\n @Inject(DIALOG_DATA) { asset, title }: { asset: Asset; title?: string }\n ) {\n this.asset = asset;\n\n if (title) {\n this.title = title;\n }\n }\n\n ngOnInit(): void {\n if (this.asset.asset_info.asset_id === zanoAssetInfo.asset_id) {\n this.getZanoCurrentSupply();\n }\n }\n\n private getZanoCurrentSupply(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'getinfo',\n params: {\n flags: 1024,\n },\n };\n\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n this.ngZone.run(() => {\n this.zano_current_supply = response_data2?.['result']?.['total_coins'] ?? null;\n });\n });\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [AssetDetailsComponent],\n exports: [AssetDetailsComponent],\n imports: [CommonModule, TranslateModule, FlexModule],\n})\nexport class AssetDetailsModule {}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\n\nexport interface ConfirmModalData {\n title: string;\n message?: string;\n buttons?: Partial<{\n close: string;\n submit: string;\n }>;\n}\n\n@Component({\n selector: 'app-confirm-modal',\n template: `\n \n \n \n \n\n \n \n\n \n

{{ title | translate }}

\n

{{ message | translate }}

\n \n \n\n \n \n {{ data?.buttons?.close || 'MODALS.CANCEL' | translate }}\n \n \n {{ data?.buttons?.submit || 'MODALS.OK' | translate }}\n \n \n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ConfirmModalComponent implements OnInit {\n title: string;\n\n message: string;\n\n data: ConfirmModalData;\n\n @ViewChild('buttonSubmit', { static: true }) buttonSubmit: ElementRef;\n\n constructor(private dialogRef: DialogRef, @Inject(DIALOG_DATA) data: ConfirmModalData) {\n const { title, message } = data;\n this.data = data;\n this.title = title;\n this.message = message;\n }\n\n ngOnInit(): void {\n this.buttonSubmit.nativeElement.focus();\n }\n\n submit(): void {\n this.dialogRef.close(true);\n }\n\n close(): void {\n this.dialogRef.close(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmModalComponent } from './confirm-modal.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [ConfirmModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule],\n exports: [ConfirmModalComponent],\n})\nexport class ConfirmModalModule {}\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-modal-container',\n template: `\n
\n \n \n \n\n \n \n
\n

{{ title }}

\n

\n
\n
\n\n \n \n {{ 'MODALS.OK' | translate }}\n \n \n \n `,\n styles: [],\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n public title: string;\n\n @Input() type: string;\n\n @Input() message: string;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('btn', { static: true }) button: ElementRef;\n\n constructor(private translate: TranslateService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n this.button.nativeElement.focus();\n switch (this.type) {\n case 'error':\n this.title = this.translate.instant('MODALS.ERROR');\n break;\n case 'success':\n this.title = this.translate.instant('MODALS.SUCCESS');\n break;\n case 'info':\n this.title = this.translate.instant('MODALS.INFO');\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n onClose(): void {\n this.eventClose.emit();\n }\n}\n","import { Component, HostBinding, Input, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalService } from '../../services/modal.service';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-open-wallet-modal',\n template: `\n
\n
\n

{{ 'OPEN_WALLET.MODAL.TITLE' | translate }}

\n\n
{{ wallet.name }}
\n
{{ wallet.path }}
\n\n \n \n \n \n \n {{ 'OPEN_WALLET.MODAL.NOT_FOUND' | translate }}\n
\n \n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n \n\n \n \n {{ 'OPEN_WALLET.MODAL.OPEN' | translate }}\n \n \n {{ 'OPEN_WALLET.MODAL.SKIP' | translate }}\n \n \n \n \n \n `,\n styles: [],\n})\nexport class OpenWalletModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() wallets;\n\n isWrongPassword$ = new BehaviorSubject(false);\n\n wallet = {\n name: '',\n path: '',\n pass: '',\n notFound: false,\n emptyPass: false,\n };\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private backend: BackendService,\n private translate: TranslateService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n if (this.wallets.length) {\n this.wallet = this.wallets[0];\n this.wallet.pass = '';\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n openWallet(): void {\n if (this.wallets.length === 0) {\n return;\n }\n this.backend.openWallet(\n this.wallet.path,\n this.wallet.pass,\n this.variablesService.count,\n false,\n (open_status, open_data, open_error) => {\n if (open_error === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.isWrongPassword$.next(true);\n });\n }\n if (open_error && open_error === 'FILE_NOT_FOUND') {\n this.ngZone.run(() => {\n this.wallet.notFound = true;\n });\n let error_translate = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n error_translate += ':
' + this.wallet.path;\n error_translate += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n this.modalService.prepareModal('error', error_translate);\n } else {\n if (open_status || open_error === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === open_data['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(open_data.wallet_id);\n } else {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n this.wallet.name,\n this.wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(open_data.wallet_id);\n this.skipWallet();\n this.isWrongPassword$.next(false);\n }\n }\n }\n }\n );\n }\n\n skipWallet(): void {\n this.ngZone.run(() => {\n if (this.wallets.length) {\n this.wallets.splice(0, 1);\n this.ngOnInit();\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractStatusMessagesPipe } from '@parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe';\n\n@NgModule({\n declarations: [ContractStatusMessagesPipe],\n exports: [ContractStatusMessagesPipe],\n providers: [ContractStatusMessagesPipe],\n imports: [CommonModule],\n})\nexport class ContractStatusMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractStatusMessages',\n})\nexport class ContractStatusMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n getStateSeller(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NEW_CONTRACT');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAITING_BUYER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.PROPOSAL_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n getStateBuyer(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n break;\n case 120:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_SELLER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n transform(state: number, is_a?: boolean): any {\n if (is_a) {\n return this.getStateBuyer(state);\n } else {\n return this.getStateSeller(state);\n }\n }\n}\n","export * from './contract-status-messages-pipe.module';\nexport * from './contract-status-messages.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractTimeLeftPipe } from '@parts/pipes/contract-time-left-pipe/contract-time-left.pipe';\n\n@NgModule({\n declarations: [ContractTimeLeftPipe],\n exports: [ContractTimeLeftPipe],\n providers: [ContractTimeLeftPipe],\n imports: [CommonModule],\n})\nexport class ContractTimeLeftPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractTimeLeft',\n})\nexport class ContractTimeLeftPipe implements PipeTransform {\n constructor(private service: VariablesService, private translate: TranslateService) {}\n\n transform(value: any, arg?: any): any {\n const time = parseInt(((parseInt(value, 10) - this.service.exp_med_ts) / 3600).toFixed(0), 10);\n const type = arg || 0;\n if (time === 0) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_LESS_ONE');\n }\n if (this.service.settings.language === 'en') {\n if (type === 0) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n }\n } else if (type === 1) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n }\n }\n } else {\n const rest = time % 10;\n if (type === 0) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT', { time: time });\n }\n } else if (type === 1) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_WAITING', { time: time });\n }\n }\n }\n return null;\n }\n}\n","export * from './contract-time-left-pipe.module';\nexport * from './contract-time-left.pipe';\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { Asset, AssetInfo } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Pipe({\n name: 'getAsset',\n standalone: true,\n})\nexport class GetAssetPipe implements PipeTransform {\n private walletsService = inject(WalletsService);\n\n transform(value: AssetInfo['asset_id']): Asset | undefined {\n const currentWallet = this.walletsService.currentWallet;\n if (!currentWallet) {\n return;\n }\n return currentWallet.balances.find(({ asset_info: { asset_id } }) => asset_id === value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HistoryTypeMessagesPipe } from '@parts/pipes/history-type-messages-pipe/history-type-messages.pipe';\n\n@NgModule({\n declarations: [HistoryTypeMessagesPipe],\n exports: [HistoryTypeMessagesPipe],\n providers: [HistoryTypeMessagesPipe],\n imports: [CommonModule],\n})\nexport class HistoryTypeMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { hasOwnProperty } from '../../functions/hasOwnProperty';\n\n@Pipe({\n name: 'historyTypeMessages',\n})\nexport class HistoryTypeMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n transform(item: any): any {\n if (item.tx_type === 0) {\n if (item.remote_addresses && item.remote_addresses[0]) {\n return item.remote_addresses[0];\n } else {\n if (item.is_income) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.HIDDEN');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n }\n } else if (item.tx_type === 6 && item.height === 0) {\n return 'unknown';\n } else if (item.tx_type === 9) {\n if (hasOwnProperty(item, 'contract') && item.contract[0].is_a) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_BUYER');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_SELLER');\n }\n } else {\n switch (item.tx_type) {\n // case 0:\n // return '';\n // case 1:\n // return '';\n // case 2:\n // return '';\n // case 3:\n // return '';\n case 4:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_ALIAS');\n case 5:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UPDATE_ALIAS');\n case 6:\n return item.td['spn'] && item.td['spn'].length\n ? this.translate.instant('HISTORY.TYPE_MESSAGES.POS_REWARD')\n : this.translate.instant('HISTORY.TYPE_MESSAGES.POW_REWARD');\n case 7:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_CONTRACT');\n case 8:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PLEDGE_CONTRACT');\n // case 9:\n // return '';\n case 10:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.NULLIFY_CONTRACT');\n case 11:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PROPOSAL_CANCEL_CONTRACT');\n case 12:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CANCEL_CONTRACT');\n }\n }\n\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n}\n","export * from './history-type-messages-pipe.module';\nexport * from './history-type-messages.pipe';\n","export * from './contract-status-messages-pipe';\nexport * from './contract-time-left-pipe';\nexport * from './history-type-messages-pipe';\nexport * from './int-to-money-pipe';\nexport * from './is-available-alias-name-pipe';\nexport * from './money-to-int-pipe';\nexport * from './safe-html-pipe';\nexport * from './short-string-pipe';\n","export * from './int-to-money-pipe.module';\nexport * from './int-to-money.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\n\n@NgModule({\n declarations: [IntToMoneyPipe],\n exports: [IntToMoneyPipe],\n providers: [IntToMoneyPipe],\n imports: [CommonModule],\n})\nexport class IntToMoneyPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'intToMoney',\n})\nexport class IntToMoneyPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any, args?: any): any {\n if (value === 0 || value === undefined) {\n return '0';\n }\n let maxFraction = this.variablesService.digits;\n if (args) {\n maxFraction = parseInt(args, 10);\n }\n const power = Math.pow(10, this.variablesService.digits);\n let str = new BigNumber(value).div(power).toFixed(maxFraction);\n\n for (let i = str.length - 1; i >= 0; i--) {\n if (str[i] !== '0') {\n str = str.substr(0, i + 1);\n break;\n }\n }\n if (str[str.length - 1] === '.') {\n str = str.substr(0, str.length - 1);\n }\n return str;\n }\n}\n","export * from './is-available-alias-name-pipe.module';\nexport * from './is-available-alias-name.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IsAvailableAliasNamePipe } from './is-available-alias-name.pipe';\n\n@NgModule({\n declarations: [IsAvailableAliasNamePipe],\n exports: [IsAvailableAliasNamePipe],\n providers: [IsAvailableAliasNamePipe],\n imports: [CommonModule],\n})\nexport class IsAvailableAliasNamePipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Alias } from '@api/models/alias.model';\n\n@Pipe({\n name: 'isAvailableAliasName',\n})\nexport class IsAvailableAliasNamePipe implements PipeTransform {\n transform(alias: Partial | null | undefined): boolean {\n return (Boolean(alias) && Boolean(alias.name) && alias.name.length >= 2 && alias.name.length <= 6) || false;\n }\n}\n","export * from './money-to-int-pipe.module';\nexport * from './money-to-int.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\n\n@NgModule({\n declarations: [MoneyToIntPipe],\n exports: [MoneyToIntPipe],\n providers: [MoneyToIntPipe],\n imports: [CommonModule],\n})\nexport class MoneyToIntPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'moneyToInt',\n})\nexport class MoneyToIntPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any): any {\n const CURRENCY_DISPLAY_DECIMAL_POINT = this.variablesService.digits;\n let result;\n if (value) {\n let am_str = value.toString().trim();\n const point_index = am_str.indexOf('.');\n let fraction_size = 0;\n if (-1 !== point_index) {\n fraction_size = am_str.length - point_index - 1;\n while (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size && '0' === am_str[am_str.length - 1]) {\n am_str = am_str.slice(0, am_str.length - 1);\n --fraction_size;\n }\n if (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size) {\n return undefined;\n }\n am_str = am_str.slice(0, point_index) + am_str.slice(point_index + 1, am_str.length);\n } else {\n fraction_size = 0;\n }\n if (!am_str.length) {\n return undefined;\n }\n if (fraction_size < CURRENCY_DISPLAY_DECIMAL_POINT) {\n for (let i = 0; i !== CURRENCY_DISPLAY_DECIMAL_POINT - fraction_size; i++) {\n am_str = am_str + '0';\n }\n }\n result = new BigNumber(am_str).integerValue();\n }\n return result;\n }\n}\n","export * from './safe-html-pipe.module';\nexport * from './safe-html.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SafeHTMLPipe } from '@parts/pipes/safe-html-pipe/safe-html.pipe';\n\n@NgModule({\n declarations: [SafeHTMLPipe],\n exports: [SafeHTMLPipe],\n providers: [SafeHTMLPipe],\n imports: [CommonModule],\n})\nexport class SafeHtmlPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHTML',\n})\nexport class SafeHTMLPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","export * from './short-string-pipe.module';\nexport * from './short-string.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShortStringPipe } from './short-string.pipe';\n\n@NgModule({\n declarations: [ShortStringPipe],\n exports: [ShortStringPipe],\n providers: [ShortStringPipe],\n imports: [CommonModule],\n})\nexport class ShortStringPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'zanoShortString',\n})\nexport class ShortStringPipe implements PipeTransform {\n transform(value: string | null | undefined, left = 6, right = 6): string | null | undefined {\n return value && `${value.slice(0, left)}...${value.slice(-right)}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class NavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n back(): void {\n this.history.pop();\n if (this.history.length > 0) {\n this.location.back();\n } else {\n this.router.navigateByUrl('/').then();\n }\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalContainerComponent } from '../modals/modal-container/modal-container.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private components: any[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n prepareModal(type: 'error' | 'info' | 'success' | string, message): void {\n const length = this.components.push(\n this.componentFactoryResolver.resolveComponentFactory(ModalContainerComponent).create(this.injector)\n );\n\n this.components[length - 1].instance['type'] = type;\n this.components[length - 1].instance['message'] = message.length ? this.translate.instant(message) : '';\n this.components[length - 1].instance['eventClose']?.subscribe({\n next: () => {\n this.ngZone.run(() => {\n this.removeModal(length - 1);\n });\n },\n });\n\n this.ngZone.run(() => {\n this.appendModal(length - 1);\n });\n }\n\n appendModal(index): void {\n setTimeout(() => {\n this.appRef.attachView(this.components[index].hostView);\n const domElem = (this.components[index].hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n });\n }\n\n removeModal(index): void {\n if (this.components[index]) {\n this.appRef.detachView(this.components[index].hostView);\n this.components[index].destroy();\n this.components.splice(index, 1);\n } else {\n const last = this.components.length - 1;\n this.appRef.detachView(this.components[last].hostView);\n this.components[last].destroy();\n this.components.splice(last, 1);\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { DeeplinkParams, Wallet } from '@api/models/wallet.model';\nimport { Contact } from '@api/models/contact.model';\nimport { BehaviorSubject } from 'rxjs';\nimport { Idle } from 'idlejs/dist';\nimport { Router } from '@angular/router';\nimport { ContextMenuComponent, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { BigNumber } from 'bignumber.js';\nimport { Aliases } from '@api/models/alias.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VariablesService {\n disable_price_fetch$ = new BehaviorSubject(false);\n\n use_debug_mode$ = new BehaviorSubject(false);\n\n stop_paginate = {};\n\n sync_started = false;\n\n digits = 12;\n\n appPass = '';\n\n appLogin = false;\n\n moneyEquivalent = 0;\n\n moneyEquivalentPercent = 0;\n\n defaultCurrency = 'ZANO';\n\n opening_wallet: Wallet;\n\n exp_med_ts = 0;\n\n net_time_delta_median = 0;\n\n height_app = 0;\n\n height_max = 0;\n\n downloaded = 0;\n\n total = 0;\n\n last_build_available = '';\n\n last_build_displaymode = 0;\n\n daemon_state = 3;\n\n deeplink$ = new BehaviorSubject(null);\n\n sendActionData$ = new BehaviorSubject({});\n\n sync = {\n progress_value: 0,\n progress_value_text: '0',\n };\n\n public sync_wallets: { [wallet_id: number]: boolean } = {};\n\n get isCurrentWalletSync(): boolean {\n if (this.currentWallet) {\n const { wallet_id } = this.currentWallet;\n return this.sync_wallets[wallet_id] || false;\n }\n return false;\n }\n\n get isCurrentWalletLoaded(): boolean {\n if (this.currentWallet) {\n const { loaded } = this.currentWallet;\n return loaded;\n }\n return false;\n }\n\n download = {\n progress_value: 0,\n progress_value_text: '0',\n };\n\n get_recent_transfers = false; // avoid of execute function before callback complete\n\n default_fee = '0.010000000000';\n\n default_fee_big = new BigNumber('10000000000');\n\n settings = {\n appLockTime: 15,\n appLog: 0,\n scale: '10px',\n appUseTor: false,\n language: 'en',\n default_path: '/',\n viewedContracts: [],\n notViewedContracts: [],\n wallets: [],\n };\n\n count = 40;\n\n maxPages = 5;\n\n testnet = false;\n\n networkType = ''; // testnet of mainnet\n\n wallets: Array = [];\n\n get walletNamesForComparisons(): string[] {\n return this.wallets.map(({ name }) => name) ?? [];\n }\n\n currentWallet: Wallet;\n\n aliases: Aliases = [];\n\n aliasesChecked: any = {};\n\n enableAliasSearch = false;\n\n maxWalletNameLength = 25;\n\n maxCommentLength = 255;\n\n dataIsLoaded = false;\n\n contacts: Array = [];\n\n pattern = '^[a-zA-Z0-9_.\\\\]*|~!?@#$%^&+{}()<>:;\"\\'-=/,[\\\\\\\\]*$';\n\n after_sync_request: any = {};\n\n getExpMedTsEvent = new BehaviorSubject(null);\n\n getHeightAppEvent = new BehaviorSubject(null);\n\n getHeightMaxEvent = new BehaviorSubject(null);\n\n getDownloadedAppEvent = new BehaviorSubject(null);\n\n getTotalEvent = new BehaviorSubject(null);\n\n getRefreshStackingEvent = new BehaviorSubject(null);\n\n getAliasChangedEvent = new BehaviorSubject(null);\n\n getWalletChangedEvent = new BehaviorSubject(null);\n\n idle = new Idle().whenNotInteractive().do(async () => {\n if (this.appPass === '') {\n this.stopCountdown();\n } else {\n await this.ngZone.run(async () => {\n this.stopCountdown();\n this.appPass = '';\n this.appLogin = false;\n await this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n }\n });\n\n allContextMenu: ContextMenuComponent;\n\n onlyCopyContextMenu: ContextMenuComponent;\n\n pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(private router: Router, private ngZone: NgZone, private contextMenuService: ContextMenuService) {}\n\n setExpMedTs(timestamp: number): void {\n if (timestamp !== this.exp_med_ts) {\n this.exp_med_ts = timestamp;\n this.getExpMedTsEvent.next(timestamp);\n }\n }\n\n setHeightApp(height: number): void {\n if (height !== this.height_app) {\n this.height_app = height;\n this.getHeightAppEvent.next(height);\n }\n }\n\n setHeightMax(height: number): void {\n if (height !== this.height_max) {\n this.height_max = height;\n this.getHeightMaxEvent.next(height);\n }\n }\n\n setDownloadedBytes(bytes: number): void {\n if (bytes !== this.downloaded) {\n this.downloaded = this.bytesToMb(bytes);\n this.getDownloadedAppEvent.next(bytes);\n }\n }\n\n setTotalBytes(bytes: number): void {\n if (bytes !== this.total) {\n this.total = this.bytesToMb(bytes);\n this.getTotalEvent.next(bytes);\n }\n }\n\n setRefreshStacking(wallet_id: number): void {\n this.getHeightAppEvent.next(wallet_id);\n }\n\n changeAliases(): void {\n this.getAliasChangedEvent.next(true);\n }\n\n setCurrentWallet(id): void {\n this.wallets.forEach(wallet => {\n if (wallet.wallet_id === id) {\n this.currentWallet = wallet;\n this.getWalletChangedEvent.next(wallet);\n }\n });\n }\n\n getWallet(id): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (this.wallets[i].wallet_id === id) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n getNotLoadedWallet(): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (!this.wallets[i].loaded) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n startCountdown(): void {\n this.idle.within(this.settings.appLockTime).start();\n }\n\n stopCountdown(): void {\n this.idle.stop();\n }\n\n restartCountdown(): void {\n if (Boolean(this.settings.appLockTime)) {\n this.idle.within(this.settings.appLockTime).restart();\n } else {\n this.stopCountdown();\n }\n }\n\n bytesToMb(bytes): number {\n return Number((bytes / Math.pow(1024, 2)).toFixed(1));\n }\n\n onContextMenu($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.allContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n\n onContextMenuOnlyCopy($event: MouseEvent, copyText?: string): void {\n $event.preventDefault();\n $event.stopPropagation();\n this.contextMenuService.show(this.onlyCopyContextMenu, {\n value: copyText,\n x: $event.x,\n y: $event.y,\n });\n }\n\n onContextMenuPasteSelect($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n\n console.warn($event.target);\n console.warn($event.target['disabled']);\n\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.pasteSelectContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ResponseGetWalletInfo, Wallet } from '@api/models/wallet.model';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WalletsService {\n get wallets(): Wallet[] | null | undefined {\n return this.variablesService.wallets;\n }\n\n set wallets(value) {\n this.variablesService.wallets = value;\n }\n\n get currentWallet(): Wallet | null | undefined {\n return this.variablesService.currentWallet;\n }\n\n set currentWallet(value) {\n this.variablesService.currentWallet = value;\n }\n\n constructor(\n private backendService: BackendService,\n private variablesService: VariablesService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n addWallet(wallet: Wallet): void {\n const { wallet_id } = wallet;\n this.variablesService.wallets.push(wallet);\n this.updateWalletInfo(wallet_id);\n }\n\n getWalletById(wallet_id: number): Wallet | undefined {\n const { wallets } = this.variablesService;\n return wallets.find(w => w.wallet_id === wallet_id);\n }\n\n updateWalletInfo(wallet_id: number): void {\n const wallet = this.getWalletById(wallet_id);\n\n if (!wallet) {\n console.warn(`You want update walletInfo by wallet_id: (${wallet_id}). But this wallet not uploaded.`);\n return;\n }\n const callback: (status: boolean, response_data: ResponseGetWalletInfo) => void = (status, response_data) => {\n this.ngZone.run(() => {\n if (status) {\n const { balances } = response_data;\n wallet.balances = balances;\n }\n });\n };\n\n this.backendService.getWalletInfo(wallet_id, callback);\n }\n\n closeWallet(wallet_id): void {\n const callback = async (): Promise => {\n this.wallets = this.wallets.filter(w => w.wallet_id !== wallet_id);\n\n await this.ngZone.run(async () => {\n let url = '/';\n if (this.wallets.length > 0) {\n this.currentWallet = this.wallets[0];\n url = '/wallet/';\n }\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData();\n }\n await this.router.navigate([url]);\n });\n };\n\n this.backendService.closeWallet(wallet_id, callback);\n }\n}\n","export const MIMETypes: string[] = [\n '.rar',\n '.txt',\n '.xls',\n '.xlsx',\n '.zip',\n '.png',\n '.pdf',\n '.csv',\n '.doc',\n '.docx',\n '.jar',\n '.jpeg',\n '.jpg',\n '.js',\n '.json',\n '.mp3',\n '.mp4',\n '.mpeg',\n '.aac',\n '.abw',\n '.arc',\n '.avif',\n '.avi',\n '.azw',\n '.bin',\n '.bmp',\n '.bz',\n '.bz2',\n '.cda',\n '.csh',\n '.css',\n '.dll',\n '.exe',\n '.eot',\n '.epub',\n '.gz',\n '.gif',\n '.htm',\n '.html',\n '.ico',\n '.ics',\n '.jsonld',\n '.mid',\n '.midi',\n '.mjs',\n '.mpkg',\n '.odp',\n '.ods',\n '.odt',\n '.oga',\n '.ogv',\n '.ogx',\n '.opus',\n '.otf',\n '.php',\n '.ppt',\n '.pptx',\n '.pdb',\n '.dat',\n '.rtf',\n '.sh',\n '.svg',\n '.tar',\n '.tif',\n '.tiff',\n '.ts',\n '.ttf',\n '.vsd',\n '.wav',\n '.weba',\n '.webm',\n '.webp',\n '.woff',\n '.woff2',\n '.xhtml',\n '.xml',\n '.xul',\n '.3gp',\n '.3g2',\n '.7z',\n];\n","import { ValidationErrors } from '@angular/forms';\n\nexport interface ZanoValidationErrors extends ValidationErrors {\n errorText: string;\n}\n\nexport const wrongAssetId: ZanoValidationErrors = {\n errorText: 'ASSETS.FORM.ERRORS.WRONG_ASSET_ID',\n};\n\nexport const wrongPassword: ZanoValidationErrors = {\n errorText: 'Wrong password',\n};\n\nexport const insuficcientFunds: ZanoValidationErrors = {\n errorText: 'ASSETS.FORM.ERRORS.INSUFICCIENT_FUNDS',\n};\n\nexport const notFileZanoWallet: ZanoValidationErrors = {\n errorText: 'ERRORS.NOT_FILE_ZANO_WALLET',\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { notFileZanoWallet, ZanoValidationErrors } from '@parts/utils/zano-errors';\nimport { MIMETypes } from '@parts/utils/MIME-types';\n\nexport const regExpHash = /^[a-f0-9]{64}$/i;\nexport const regExpAliasName = /^@?[a-z\\d.-]{2,25}$/;\nexport const regExpPassword = /^[a-zA-Z0-9_.\\]*|~!?@#$%^&+{}()<>:;\"'-=,/[\\\\]*$/;\n\nexport class ZanoValidators {\n static hash({ value }: AbstractControl): ValidationErrors | null {\n return regExpHash.test(value) ? null : { invalidHash: true };\n }\n\n static formMatch(firstControlName: string, secondControlName: string, nameErrorKey = 'mismatch'): ValidatorFn {\n return (abstractControl: AbstractControl): ValidationErrors | null =>\n abstractControl.get(firstControlName).value === abstractControl.get(secondControlName).value ? null : { [nameErrorKey]: true };\n }\n\n static duplicate(valuesForComparisons: string | string[]): ValidatorFn {\n return ({ value }: AbstractControl): ValidationErrors | null => {\n const errorObject = { duplicate: true };\n let error = null;\n\n if (typeof value === 'string' && value === valuesForComparisons) {\n error = errorObject;\n }\n\n if (Array.isArray(valuesForComparisons) && valuesForComparisons.includes(value)) {\n error = errorObject;\n }\n\n return error;\n };\n }\n}\n\nexport const filePathWalletValidator = (path: string): ZanoValidationErrors | null => {\n if (!(path && path.trim().length)) {\n return null;\n }\n\n const positionLastSlash = path.lastIndexOf('/');\n const fileName = path.slice(positionLastSlash + 1);\n\n if (!(fileName && fileName.trim().length)) {\n return null;\n }\n\n if (fileName) {\n let index = 0;\n while (index < MIMETypes.length) {\n if (fileName.includes(MIMETypes[index])) {\n return notFileZanoWallet;\n }\n index++;\n }\n }\n\n return null;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { PaginationStore } from './pagination.store';\nimport * as _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationService {\n constructor(private variables: VariablesService, private ngZone: NgZone, private paginationStore: PaginationStore) {}\n\n paginate(currentPage = 1): void {\n if (currentPage < 1) {\n currentPage = 1;\n } else if (currentPage > this.variables.currentWallet.totalPages) {\n currentPage = this.variables.currentWallet.totalPages;\n }\n let startPage: number, endPage: number;\n if (this.variables.currentWallet.totalPages <= this.variables.maxPages) {\n startPage = 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n const maxPagesBeforeCurrentPage = Math.floor(this.variables.maxPages / 2);\n const maxPagesAfterCurrentPage = Math.ceil(this.variables.maxPages / 2) - 1;\n if (currentPage <= maxPagesBeforeCurrentPage) {\n startPage = 1;\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (endPage = this.variables.maxPages)\n : (endPage = this.variables.currentWallet.totalPages);\n } else if (currentPage + maxPagesAfterCurrentPage >= this.variables.currentWallet.totalPages) {\n startPage = this.variables.currentWallet.totalPages - this.variables.maxPages + 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n startPage = currentPage - maxPagesBeforeCurrentPage;\n endPage = currentPage + maxPagesAfterCurrentPage;\n }\n }\n this.ngZone.run(() => {\n this.variables.currentWallet.pages = Array.from(Array(endPage + 1 - startPage).keys()).map(i => startPage + i);\n });\n }\n\n getOffset(walletID): number {\n const mining = this.variables.currentWallet.exclude_mining_txs;\n const currentPage = this.variables.currentWallet.currentPage;\n let offset = (currentPage - 1) * this.variables.count;\n if (!mining) {\n return offset || 0;\n }\n const value = this.paginationStore.value;\n const pages = value.filter(item => item.walletID === walletID);\n if (pages && pages.length > 0) {\n const max = _.maxBy(pages, 'page');\n const isForward = this.paginationStore.isForward(pages, currentPage);\n if (isForward) {\n offset = max.offset || 0;\n } else {\n const index = pages.findIndex(item => item.page === currentPage);\n offset = pages[index].offset || 0;\n }\n }\n return offset;\n }\n\n calcPages(data): void {\n if (data.total_history_items && data && data.history) {\n this.variables.currentWallet.totalPages = Math.ceil(data.total_history_items / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n } else if (this.variables.currentWallet.restore) {\n this.variables.currentWallet.totalPages = Math.ceil(data.history.length / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n }\n }\n\n prepareHistory(data, status): void {\n if (status && data && data.total_history_items) {\n this.variables.currentWallet.history.splice(0, this.variables.currentWallet.history.length);\n this.ngZone.run(() => {\n this.paginate(this.variables.currentWallet.currentPage);\n if (data.history.length !== 0) {\n this.variables.currentWallet.restore = false;\n this.variables.currentWallet.total_history_item = data.total_history_items;\n this.variables.currentWallet.prepareHistory(data.history);\n if (this.variables.currentWallet.currentPage === 1 && data.unconfirmed) {\n this.variables.currentWallet.prepareHistory(data.unconfirmed.sort((a, b) => a.timestamp - b.timestamp));\n }\n }\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as _ from 'lodash';\n\nexport interface Pages {\n page: number;\n offset: number;\n walletID: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationStore {\n private subject = new BehaviorSubject(null);\n\n get value(): Pages[] | null {\n return this.subject.value;\n }\n\n isForward(pages, currentPage): boolean {\n const max = _.maxBy(pages, 'page');\n return !max || max.page < currentPage || max.page === currentPage;\n }\n\n setPage(pageNumber: number, offset: number, walletID: number): void {\n let newPages: Pages[] = [];\n const pages = this.subject.getValue();\n if (pages && pages.length > 0) {\n newPages = pages.slice(0);\n }\n newPages.push({ page: pageNumber, offset, walletID });\n this.subject.next(newPages);\n }\n}\n","import { distinctUntilChanged, map } from 'rxjs/operators';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Injectable } from '@angular/core';\n\nexport interface Sync {\n sync: boolean;\n wallet_id: number;\n}\n\nexport enum StateKeys {\n wallets = 'wallets',\n sync = 'sync'\n}\n\nexport interface State {\n [StateKeys.wallets]: Wallet[] | null | undefined;\n [StateKeys.sync]: Sync[] | null | undefined;\n}\n\nconst initialState: State = {\n wallets: undefined,\n sync: undefined,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Store {\n private subject = new BehaviorSubject(initialState);\n private store = this.subject.asObservable().pipe(distinctUntilChanged());\n\n get state(): State {\n return this.subject.value;\n }\n\n select(name: StateKeys): Observable {\n return this.store.pipe(map(state => state[name])) as unknown as Observable;\n }\n\n set(name: StateKeys, value: any): void {\n this.subject.next({ ...this.state, [name]: value });\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport 'lodash';\n\nexport const buildTime = '2023-11-22T09:13:55.758Z';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["NgZone","Observable","Subject","JSONBigNumber","BigNumber","ParamsType","getParamsType","value","array","Array","isArray","object","Object","keys","includes","convertersObjectForTypes","string","stringify","map","v","convertorParams","type","StatusCurrentActionState","Commands","BackendService","constructor","translate","variablesService","modalService","moneyToIntPipe","ngZone","bigNumberParser","key","val","name","indexOf","toNumber","i","length","Debug","message","console","error","warn","log","eventSubscribe","command","callback","on_core_event","backendObject","connect","str","parse","initService","observer","backendLoaded","window","QWebChannel","qt","webChannelTransport","channel","objects","mediator_object","next","webkitLaunchedScript","runCommand","webkit_launched_script","quitRequest","on_request_quit","getAppData","get_app_data","storeAppData","wallets","settings","forEach","wallet","push","path","store_app_data","getSecureAppData","pass","get_secure_app_data","setMasterPassword","set_master_password","checkMasterPassword","check_master_password","getIsDisabledNotifications","params","get_is_disabled_notifications","setIsDisabledNotifications","state","set_is_disabled_notifications","storeSecureAppData","contacts","staking","contact","address","notes","data","store_secure_app_data","JSON","appPass","dataStore","backendCallback","dropSecureAppData","drop_secure_app_data","haveSecureAppData","have_secure_app_data","saveFileDialog","caption","fileMask","default_path","dir","filemask","default_dir","show_savefile_dialog","openFileDialog","show_openfile_dialog","storeFile","buff","store_to_file","loadFile","load_from_file","push_offer","generateWallet","generate_wallet","exportWalletHistory","json_string","export_wallet_history","openWallet","txs_to_return","testEmpty","open_wallet","closeWallet","wallet_id","close_wallet","getSmartWalletInfo","seed_password","get_smart_wallet_info","getSeedPhraseInfo","param","get_seed_phrase_info","runWallet","run_wallet","isValidRestoreWalletText","is_valid_restore_wallet_text","restoreWallet","seed_phrase","seed_pass","restore_wallet","sendMoney","amount","fee","mixin","comment","hide","asset_id","destinations","mixin_count","lock_time","transform","push_payer","asyncCall","transfer","validateAddress","validate_address","setClipboard","set_clipboard","getClipboard","get_clipboard","createProposal","title","a_addr","b_addr","to_pay","a_pledge","b_pledge","time","payment_id","parseInt","details","t","c","expiration_period","default_fee_big","b_fee","create_proposal","getContracts","get_contracts","acceptProposal","contract_id","accept_proposal","releaseProposal","release_type","release_contract","requestCancelContract","request_cancel_contract","acceptCancelContract","accept_cancel_contract","getMiningHistory","get_mining_history","startPosMining","start_pos_mining","stopPosMining","stop_pos_mining","openUrlInBrowser","url","open_url_in_browser","start_backend","node","host","port","configure_for_remote_node","remote_node_host","remote_node_port","getDefaultFee","get_default_fee","setBackendLocalization","stringsArray","strings","language_title","set_localization_strings","registerAlias","alias","reward","tracking_key","request_alias_registration","updateAlias","replace","request_alias_update","getAllAliases","get_all_aliases","getAliasInfoByName","get_alias_info_by_name","getAliasByAddress","get_alias_info_by_address","getAliasCoast","get_alias_coast","resyncWallet","id","resync_wallet","getWalletAlias","daemon_state","aliasesChecked","aliases","status","getContactAlias","getRecentTransfers","offset","count","exclude_mining_txs","get_recent_transfers","getPoolInfo","get_tx_pool_info","getVersion","get_version","version","errorVersion","get_network_type","status_network","errorType","setLogLevel","level","set_log_level","async_call","job_id","dispatchAsyncCallResult","dispatch_async_call_result","json_resp","asyncCommandResults","response","run","dispatchAsyncCallResult$","handleCurrentActionState","handle_current_action_state","currentActionState","handleCurrentActionState$","setEnableTor","set_enable_tor","getOptions","get_options","disable_price_fetch","use_debug_mode","disable_price_fetch$","use_debug_mode$","addCustomAssetId","add_custom_asset_id","removeCustomAssetId","remove_custom_asset_id","getWalletInfo","get_wallet_info","call_rpc","informerRun","error_translate","instant","default_fee","currency","defaultCurrency","prepareModal","commandDebug","result","debug","_send_params","_result","e","response_data","error_code","resultStr","Result","core_busy","Status","undefined","res_error_code","setTimeout","current_wallet_id","currentWallet","Action","i0","factory","providedIn","Renderer2","StateKeys","take","takeUntil","paths","pathsChildrenAuth","hasOwnProperty","AppComponent","http","renderer","backendService","router","intToMoneyPipe","store","dialog","addLangs","setDefaultLang","use","subscribe","translateUsed","language","ngOnInit","initMessage","st2","dd2","quit_requested","onQuitRequest","navigate","closeAll","needOpenWallets","saveFunction","recursionCloseWallets","lastIndex","splice","update_wallet_status","wallet_state","is_mining","getWallet","loaded","balances","mined_total","minied_total","alias_available","is_alias_operations_available","wallet_sync_progress","progress","sync_started","sync_wallets","addToStore","update_daemon_state","daemon_network_state","setExpMedTs","net_time_delta_median","last_build_available","last_build_displaymode","setHeightApp","height","setHeightMax","max_net_seen_height","setDownloadedBytes","downloaded_bytes","setTotalBytes","download_total_data_size","max","current","return_val","Math","floor","sync","progress_value","progress_value_text","toFixed","download","firstOnlineState","getAliases","status_fee","data_fee","money_transfer","ti","tr_info","history","tx_type","setRefreshStacking","tr_exists","excluded_history","some","elem","tx_hash","currentPage","prepareHistory","restore","total_history_item","totalPages","ceil","maxPages","pages","fill","index","exp_med_ts","height_app","contract","contracts","is_a","cancel_expiration_time","expiration_time","timestamp","searchResult2","notViewedContracts","find","j","viewedContracts","searchResult3","searchResult4","searchResult","is_new","findContract","prop","handle_deeplink_click","deeplink$","money_transfer_cancel","removeFromHistory","error_tr","events","method","enableAliasSearch","newAlias","concat","changeAliases","CurrentAlias","element","intervalUpdateContractsState","setInterval","expMedTsEvent","getExpMedTsEvent","newTimestamp","appUseTor","scale","setStyle","document","documentElement","appLog","auth","noWallet","then","statusPass","queryParams","appLogin","pipe","destroy$","updateMoneyEquivalent","intervalUpdatePriceState","clearInterval","ngOnDestroy","unsubscribe","get","moneyEquivalent","moneyEquivalentPercent","sort","a","b","boolean","filter","item","set","testnet","networkType","selectors","decls","vars","consts","template","inject","TranslateService","CREATE_NEW_WALLET_HELP_PAGE","filePathWalletValidator","AddWalletComponent","translateService","file_status","file_data","positionLastSlash","lastIndexOf","new_default_path","slice","text","errorText","openInBrowser","ctx","FormBuilder","Validators","regExpAliasName","AssignAliasComponent","backend","intToMoney","routerLink","fb","group","nonNullable","control","required","pattern","maxLength","maxCommentLength","price","rewardOriginal","exists","assignForm","valueChanges","canRegister","newName","toLowerCase","controls","errors","statusPrice","dataPrice","sum","unlocked_balance","getBalanceByTicker","_a","unlocked","notEnoughMoney","isGreaterThan","complete","assignAlias","wakeAlias","NonNullableFormBuilder","VariablesService","ModalService","Router","Wallet","regExpPassword","ZanoValidators","WalletsService","CreateWalletComponent","duplicate","walletNamesForComparisons","password","confirm","validators","formMatch","savedWalletName","createForm","substr","createWallet","selectedPath","getRawValue","generate_status","generate_data","errorCode","balance","tracking_hey","run_status","run_data","walletsService","addWallet","setCurrentWallet","errorTranslationKey","selectWalletLocation","patchValue","delay","BehaviorSubject","DeeplinkComponent","AssetDetailsComponent","ConfirmModalComponent","LOCKED_BALANCE_HELP_PAGE","price_r10","$event","ctx_r4","asset_r5","_r7","ctx_r0","ctx_r1","AssetsComponent","paginatePipeArgs","paginationId","itemsPerPage","isShowPagination","listenChangeWallet","toggleDropDownMenu","trigger","asset","isOpenDropDownMenu","triggerOrigin","currentAsset","trackByAssets","asset_info","trackByPages","assetDetails","dialogConfig","open","beforeRemoveAsset","full_name","closed","confirmed","removeAsset","updateWalletInfo","getBalanceTooltip","tooltip","createElement","scrollWrapper","classList","add","total","ticker","available","setAttribute","innerHTML","appendChild","locked","minus","link","addEventListener","getWalletChangedEvent","ElementRef","EventEmitter","successfulStatuses","STATE_SENDING","STATE_SENT_SUCCESS","STATE_INITIALIZING","STATE_DOWNLOADING_CONSENSUS","STATE_MAKING_TUNNEL_A","STATE_MAKING_TUNNEL_B","STATE_CREATING_STREAM","STATE_SUCCESS","failedStatuses","STATE_SEND_FAILED","STATE_FAILED","SendDetailsModalComponent","currentActionState$","currentActionStates","currentActionStates$","isSentSuccess","isSentFailed","isDetailsNotEmpty","responseData$","addClass","body","actionState","success","removeClass","toggleDetails","stateDetails$","scrollToBottomDetailsList","trackBy","isSuccess","action","isFailed","elDetailsList","nativeElement","scrollTop","scrollHeight","viewQuery","MIXIN","debounceTime","retry","tap","of","IntToMoneyPipe","insuficcientFunds","defaultSendMoneyParams","WrapInfoService","zanoAssetInfo","alias_r18","_r15","asset_r36","ctx_r11","SendComponent","moneyToInt","isVisibleDropdownAliases$","aliasAddress","valid_status","isWrapShown","setErrors","assign","address_not_valid","hasError","test","alias_not_valid","alias_status","alias_data","alias_not_found","min","zero","bigAmount","wrapInfo","wrap_info_null","unwraped_coins_left","great_than_unwraped_coins","isLessThan","tx_cost","zano_needed_for_erc20","less_than_zano_needed","sendMoneyParamsForm","_b","g","less_min","sendMoneyParams","aliases$","getWrapInfo","listenSendActionData","patchSendMoneyParamsByCurrentWallet","saveSendMoneyParams","setAssetFromHistoryState","emitEvent","showDialog","isModalDialogVisible","onSend","valid","aliasName","isModalDetailsDialogVisible","getReceivedValue","needed","handeCloseDetailsModal","reset","markAllAsTouched","is_auditable","is_watch_only","disable","fillDeepLinkData","additionalOptions","comments","mixins","hide_sender","wrapInfoService","loading$","pasteListenAddressField","event","preventDefault","clipboardData","getData","lowerCaseDisabled$","inputListenAddressField","target","filteredAliases","sendActionData$","CommonModule","RouterLinkWithHref","TranslateModule","BreadcrumbsComponent","DefaultImgModule","InputValidateModule","LowerCaseDirective","FormsModule","ReactiveFormsModule","IntToMoneyPipeModule","MoneyToIntPipe","MoneyToIntPipeModule","ShortStringPipeModule","NgSelectModule","LoaderComponent","alias_r32","_r29","CreateSwapComponent","sending","form","receiving","receiverAddress","condition","sameAssetsId","setSendingAssetIdFromHistoryState","reverse","updateValueAndValidity","inputListenReceiverAddressField","pasteListenReceiverAddressField","beforeSubmit","invalid","submit","params1","jsonrpc","params2","proposal","to_bob","to_alice","fee_paid_by_a","status1","response_data1","status2","response_data2","navigateByUrl","hex_raw_proposal","errorRpc","standalone","features","i1","i2","i3","i4","i5","i6","i7","i8","styles","ChangeDetectorRef","wrongAssetId","FlexModule","AddCustomTokenComponent","dialogRef","compose","hash","formGroup","markAsTouched","asset_descriptor","awaiting_in","awaiting_out","close","cdr","detectChanges","_r2","changeDetection","OpenWalletModalComponent","notFound","emptyPass","open_status","open_data","open_error","isWrongPassword$","new_wallet","recent_history","total_history_items","skipWallet","hostVars","hostBindings","Idle","contextMenuService","appLockTime","whenNotInteractive","do","stopCountdown","isCurrentWalletSync","isCurrentWalletLoaded","getHeightAppEvent","height_max","getHeightMaxEvent","bytes","downloaded","bytesToMb","getDownloadedAppEvent","getTotalEvent","getAliasChangedEvent","getNotLoadedWallet","startCountdown","idle","within","start","stop","restartCountdown","Boolean","restart","Number","pow","onContextMenu","toUpperCase","show","allContextMenu","x","y","stopPropagation","onContextMenuOnlyCopy","copyText","onlyCopyContextMenu","onContextMenuPasteSelect","pasteSelectContextMenu","getWalletById","w"],"sourceRoot":"webpack:///","x_google_ignoreList":[]} \ No newline at end of file +{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/api/models/assets.model.ts","./src/app/api/models/wallet.model.ts","./src/app/api/services/assets.service.ts","./src/app/api/services/backend.service.ts","./src/app/api/services/wrap-info.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/layouts/full-layout/full-layout.component.ts","./src/app/layouts/full-layout/full-layout.module.ts","./src/app/layouts/sidebar/sidebar.component.ts","./src/app/layouts/sidebar/sidebar.module.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.component.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.module.ts","./src/app/pages/add-wallet/add-wallet.component.ts","./src/app/pages/assign-alias/assign-alias.component.ts","./src/app/pages/auth/auth-routing.module.ts","./src/app/pages/auth/auth.module.ts","./src/app/pages/auth/login/login.component.ts","./src/app/pages/auth/no-wallet/no-wallet.component.ts","./src/app/pages/create-wallet/create-wallet.component.ts","./src/app/pages/deeplink/deeplink.component.ts","./src/app/pages/deeplink/deeplink.module.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.component.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.module.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.component.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.module.ts","./src/app/pages/edit-alias/edit-alias.component.ts","./src/app/pages/export-import/export-import.component.ts","./src/app/pages/open-wallet/open-wallet.component.ts","./src/app/pages/pages-routing.module.ts","./src/app/pages/pages.module.ts","./src/app/pages/paths.ts","./src/app/pages/restore-wallet/restore-wallet.component.ts","./src/app/pages/seed-phrase/seed-phrase.component.ts","./src/app/pages/settings/settings.component.ts","./src/app/pages/transfer-alias/transfer-alias.component.ts","./src/app/pages/wallet-details/wallet-details.component.ts","./src/app/pages/wallet/tabs/assets/assets.component.ts","./src/app/pages/wallet/tabs/history/history.component.ts","./src/app/pages/wallet/tabs/receive/receive.component.ts","./src/app/pages/wallet/tabs/send/modals/send-details-modal/send-details-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/send-modal/send-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/wallet-modals.module.ts","./src/app/pages/wallet/tabs/send/send.component.ts","./src/app/pages/wallet/tabs/staking/staking.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.html","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.html","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.html","./src/app/pages/wallet/tabs/swap/parts/guards/swap-proposal-hex.guard.ts","./src/app/pages/wallet/wallet-routing.module.ts","./src/app/pages/wallet/wallet.module.ts","./src/app/pages/wallet/wallet/modals/add-custom-token/add-custom-token.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.module.ts","./src/app/pages/wallet/wallet/wallet.component.ts","./src/app/parts/components/back-button/back-button.component.ts","./src/app/parts/components/back-button/back-button.component.html","./src/app/parts/components/breadcrumbs/breadcrumbs.component.ts","./src/app/parts/components/breadcrumbs/breadcrumbs.component.html","./src/app/parts/components/checkbox.component.ts","./src/app/parts/components/copy-button.component.ts","./src/app/parts/components/loader.component.ts","./src/app/parts/components/register-context-templates.component.ts","./src/app/parts/components/staking-switch.component.ts","./src/app/parts/components/switch.component.ts","./src/app/parts/components/synchronization-status.component.ts","./src/app/parts/components/transaction-details.component.ts","./src/app/parts/components/wallet-card.component.ts","./src/app/parts/data/assets.ts","./src/app/parts/data/constants.ts","./src/app/parts/data/scale-items.ts","./src/app/parts/directives/autofocus.directive.ts","./src/app/parts/directives/back-button/back-button.directive.ts","./src/app/parts/directives/back-button/back-button.module.ts","./src/app/parts/directives/default-img/default-img.directive.ts","./src/app/parts/directives/default-img/default-img.module.ts","./src/app/parts/directives/default-img/index.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.directive.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.module.ts","./src/app/parts/directives/disable-price-fetch/index.ts","./src/app/parts/directives/index.ts","./src/app/parts/directives/input-disable-selection/index.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.directive.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.module.ts","./src/app/parts/directives/input-validate/index.ts","./src/app/parts/directives/input-validate/input-validate.directive.ts","./src/app/parts/directives/input-validate/input-validate.module.ts","./src/app/parts/directives/lower-case.directive.ts","./src/app/parts/directives/tooltip/index.ts","./src/app/parts/directives/tooltip/tooltip.directive.ts","./src/app/parts/directives/tooltip/tooltip.module.ts","./src/app/parts/functions/hasOwnProperty.ts","./src/app/parts/modals/asset-details/asset-details.component.ts","./src/app/parts/modals/asset-details/asset-details.module.ts","./src/app/parts/modals/confirm-modal/confirm-modal.component.ts","./src/app/parts/modals/confirm-modal/confirm-modal.module.ts","./src/app/parts/modals/modal-container/modal-container.component.ts","./src/app/parts/modals/open-wallet-modal/open-wallet-modal.component.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages-pipe.module.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe.ts","./src/app/parts/pipes/contract-status-messages-pipe/index.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left-pipe.module.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left.pipe.ts","./src/app/parts/pipes/contract-time-left-pipe/index.ts","./src/app/parts/pipes/get-price-by-url/get-price-by-url.module.ts","./src/app/parts/pipes/get-price-by-url/get-price-by-url.pipe.ts","./src/app/parts/pipes/get-price-by-url/index.ts","./src/app/parts/pipes/get-white-asset-info/get-white-asset-info.module.ts","./src/app/parts/pipes/get-white-asset-info/get-white-asset-info.pipe.ts","./src/app/parts/pipes/get-white-asset-info/index.ts","./src/app/parts/pipes/get-white-asset.pipe.ts","./src/app/parts/pipes/has-in-assets-whitelist/has-in-assets-whitelist.module.ts","./src/app/parts/pipes/has-in-assets-whitelist/has-in-assets-whitelist.pipe.ts","./src/app/parts/pipes/has-in-assets-whitelist/index.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages-pipe.module.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/index.ts","./src/app/parts/pipes/index.ts","./src/app/parts/pipes/int-to-money-pipe/index.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money-pipe.module.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money.pipe.ts","./src/app/parts/pipes/is-available-alias-name-pipe/index.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name-pipe.module.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name.pipe.ts","./src/app/parts/pipes/money-to-int-pipe/index.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int-pipe.module.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int.pipe.ts","./src/app/parts/pipes/safe-html-pipe/index.ts","./src/app/parts/pipes/safe-html-pipe/safe-html-pipe.module.ts","./src/app/parts/pipes/safe-html-pipe/safe-html.pipe.ts","./src/app/parts/pipes/short-string-pipe/index.ts","./src/app/parts/pipes/short-string-pipe/short-string-pipe.module.ts","./src/app/parts/pipes/short-string-pipe/short-string.pipe.ts","./src/app/parts/services/back.service.ts","./src/app/parts/services/modal.service.ts","./src/app/parts/services/variables.service.ts","./src/app/parts/services/wallets.service.ts","./src/app/parts/utils/MIME-types.ts","./src/app/parts/utils/zano-errors.ts","./src/app/parts/utils/zano-validators.ts","./src/app/store/assets/assets.facade.ts","./src/app/store/pagination/pagination.service.ts","./src/app/store/pagination/pagination.store.ts","./src/app/store/store.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["export interface Asset {\n asset_info: AssetInfo;\n awaiting_in: number;\n awaiting_out: number;\n total: number;\n unlocked: number;\n}\n\nexport interface AssetInfo {\n asset_id: string;\n current_supply: number;\n decimal_point: number;\n full_name: string;\n meta_info: string;\n owner: string;\n ticker: string;\n total_max_supply: number;\n}\n\nexport interface WhiteAssetInfo extends AssetInfo {\n logo: string;\n price_url: string;\n}\n\nexport interface ResponseAssetsWhiteList {\n assets: WhiteAssetInfo[];\n signature: string;\n}\n\nexport type Assets = Asset[];\n\nexport interface ParamsCustomAssetId {\n wallet_id: number;\n asset_id: string;\n}\n\nexport type ParamsAddCustomAssetId = ParamsCustomAssetId;\n\nexport interface ResponseAddCustomAssetId {\n status: string;\n asset_descriptor: {\n current_supply: number;\n decimal_point: number;\n full_name: string;\n meta_info: string;\n owner: string;\n ticker: string;\n total_max_supply: number;\n };\n}\n\nexport type ParamsRemoveCustomAssetId = ParamsCustomAssetId;\n\nexport interface ResponseRemoveCustomAssetId {\n error_code: string;\n}\n","import { Contracts } from './contract.model';\nimport { Transaction, Transactions } from './transaction.model';\nimport { BigNumber } from 'bignumber.js';\nimport { Asset, Assets } from './assets.model';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { MIXIN } from '@parts/data/constants';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\nexport const defaultSendMoneyParams: SendMoneyParams = {\n asset_id: zanoAssetInfo.asset_id,\n wallet_id: undefined,\n address: '',\n amount: undefined,\n comment: '',\n mixin: MIXIN,\n fee: '0.01',\n hide: false,\n};\n\nexport class Wallet {\n open_from_exist: boolean;\n updated = false;\n wallet_id: number;\n name: string;\n pass: string;\n path: string;\n address: string;\n\n private _balances$ = new BehaviorSubject(undefined);\n\n get balances$(): Observable {\n return this._balances$.asObservable();\n }\n\n get balances(): Assets | null | undefined {\n return this._balances$.value;\n }\n\n set balances(value: Assets | null | undefined) {\n const sortedAssets = [];\n if (value) {\n const indexZano = value.findIndex(({ asset_info: { ticker } }) => ticker === 'ZANO');\n if (indexZano >= 0) {\n const assetZano = value.splice(indexZano, 1).shift();\n sortedAssets.push(assetZano);\n }\n const sortedAssetsByBalance = value.sort((a, b) => new BigNumber(b.total).minus(new BigNumber(a.total)).toNumber());\n sortedAssets.push(...sortedAssetsByBalance);\n }\n this._balances$.next(sortedAssets);\n }\n\n mined_total: number;\n tracking_hey: string;\n is_auditable: boolean;\n is_watch_only: boolean;\n exclude_mining_txs: boolean;\n alias_available: boolean;\n\n alias?: Partial;\n wakeAlias?: boolean;\n staking?: boolean;\n new_messages?: number;\n new_contracts?: number;\n\n history: Transactions = [];\n total_history_item?: number;\n pages = [];\n totalPages: number;\n currentPage: number;\n excluded_history: Transactions = [];\n\n contracts: Contracts = [];\n\n progress?: number;\n loaded?: boolean;\n restore?: boolean;\n\n sendMoneyParams: SendMoneyParams | null = null;\n\n constructor(id, name, pass, path, address, balances, unlocked_balance, mined = 0, tracking = '') {\n this.wallet_id = id;\n this.name = name;\n this.pass = pass;\n this.path = path;\n this.address = address;\n this.balances = balances;\n this.mined_total = mined;\n this.tracking_hey = tracking;\n\n this.alias = {};\n this.staking = false;\n this.new_messages = 0;\n this.new_contracts = 0;\n\n this.history = [];\n this.excluded_history = [];\n\n this.progress = 0;\n this.loaded = false;\n }\n\n getBalanceByTicker(searchTicker: string): Asset | undefined {\n return this.balances?.find(({ asset_info: { ticker } }) => ticker === searchTicker);\n }\n\n getMoneyEquivalentForZano(equivalent): string {\n const balanceZano = this.getBalanceByTicker('ZANO')?.total || 0;\n return new BigNumber(balanceZano).multipliedBy(equivalent).toFixed(0);\n }\n\n prepareHistory(items: Transaction[]): void {\n for (let i = 0; i < items.length; i++) {\n if (\n (items[i].tx_type === 7 && items[i].subtransfers.find(({ is_income }) => is_income)) ||\n (items[i].tx_type === 11 && items[i].subtransfers.find(({ is_income }) => is_income))\n ) {\n let exists = false;\n for (let j = 0; j < this.excluded_history.length; j++) {\n if (this.excluded_history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.excluded_history[j].height !== items[i].height) {\n this.excluded_history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n this.excluded_history.push(items[i]);\n }\n } else {\n let exists = false;\n for (let j = 0; j < this.history.length; j++) {\n if (this.history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.history[j].height !== items[i].height) {\n this.history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n if (this.history.length > 0 && items[i].timestamp >= this.history[0].timestamp) {\n this.history.unshift(items[i]);\n } else {\n this.history.push(items[i]);\n }\n }\n }\n }\n }\n\n removeFromHistory(hash: string): void {\n for (let i = 0; i < this.history.length; i++) {\n if (this.history[i].tx_hash === hash) {\n this.history.splice(i, 1);\n break;\n }\n }\n }\n}\n\nexport interface DeeplinkParams {\n action?: 'send' | string;\n address?: string;\n amount?: string;\n my_deposit?: string;\n seller_deposit?: string;\n seller_address?: string;\n hide_sender?: string;\n hide_receiver?: string;\n title?: string;\n description?: string;\n category?: string;\n price?: string;\n img_url?: string;\n url?: string;\n contact?: string;\n comment?: string;\n comments?: string;\n mixins?: string;\n fee?: string;\n}\n\nexport interface PushOffer {\n wallet_id: number;\n od: {\n ap: string;\n at: string;\n cat: string;\n cnt: string;\n com: string;\n do: string;\n et: number;\n fee: BigNumber;\n lci: string;\n lco: string;\n ot: number;\n pt: string;\n t: string;\n url: string;\n };\n}\n\nexport interface ResponseGetWalletInfo {\n address: string;\n balances: Assets;\n is_auditable: boolean;\n is_watch_only: boolean;\n mined_total: number;\n path: string;\n view_sec_key: string;\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ResponseAssetsWhiteList } from '@api/models/assets.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AssetsService {\n private httpClient = inject(HttpClient);\n\n assetsWhitelist(): Observable {\n return this.httpClient.get('https://api.zano.org/assets_whitelist_testnet.json');\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport JSONBigNumber from 'json-bignumber';\nimport { BigNumber } from 'bignumber.js';\nimport { ResponseGetWalletInfo } from '../models/wallet.model';\nimport {\n AssetInfo,\n ParamsAddCustomAssetId,\n ParamsRemoveCustomAssetId,\n ResponseAddCustomAssetId,\n ResponseRemoveCustomAssetId,\n} from '@api/models/assets.model';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\nexport interface PramsObj {\n [key: string]: any;\n}\n\nexport type PramsArray = (string | PramsObj)[];\n\nexport type Params = string | PramsObj | PramsArray;\n\nexport enum ParamsType {\n array = 'array',\n object = 'object',\n string = 'string',\n}\n\nexport const getParamsType = (value: Params): ParamsType | null => {\n if (!value) {\n return null;\n }\n const array: false | ParamsType.array = Array.isArray(value) && ParamsType.array;\n const object: false | ParamsType = Object.keys(ParamsType).includes(typeof value) && ParamsType[typeof value];\n return array || object || null;\n};\n\nexport type ConvertersObjectForTypes = {\n [key in ParamsType]: (value: Params) => string | string[];\n};\n\nexport const convertersObjectForTypes: ConvertersObjectForTypes = {\n [ParamsType.string]: (value: string): string => value,\n [ParamsType.object]: (value: PramsObj): string => JSONBigNumber.stringify(value),\n [ParamsType.array]: (value: PramsArray): string[] =>\n value.map(v => {\n return typeof v === ParamsType.string ? (v as string) : JSONBigNumber.stringify(v);\n }),\n};\n\nexport const convertorParams = (value: Params): string | string[] => {\n const type: ParamsType = getParamsType(value);\n return convertersObjectForTypes[type](value);\n};\n\nexport interface ResponseAsyncTransfer {\n error_code: string | 'NOT_ENOUGH_MONEY' | 'OK';\n response_data: {\n success: boolean;\n tx_blob_size: number;\n tx_hash: string;\n };\n}\n\nexport interface AsyncCommandResults {\n job_id: number;\n response: ResponseAsyncTransfer;\n}\n\nexport enum StatusCurrentActionState {\n STATE_SENDING = 'STATE_SENDING',\n STATE_SENT_SUCCESS = 'STATE_SENT_SUCCESS',\n STATE_SEND_FAILED = 'STATE_SEND_FAILED',\n STATE_INITIALIZING = 'STATE_INITIALIZING',\n STATE_DOWNLOADING_CONSENSUS = 'STATE_DOWNLOADING_CONSENSUS',\n STATE_MAKING_TUNNEL_A = 'STATE_MAKING_TUNNEL_A',\n STATE_MAKING_TUNNEL_B = 'STATE_MAKING_TUNNEL_B',\n STATE_CREATING_STREAM = 'STATE_CREATING_STREAM',\n STATE_FAILED = 'STATE_FAILED',\n STATE_SUCCESS = 'STATE_SUCCESS',\n}\n\nexport interface CurrentActionState {\n status: StatusCurrentActionState;\n wallet_id: number;\n}\n\nexport enum Commands {\n money_transfer_cancel = 'money_transfer_cancel',\n handle_deeplink_click = 'handle_deeplink_click',\n money_transfer = 'money_transfer',\n update_daemon_state = 'update_daemon_state',\n wallet_sync_progress = 'wallet_sync_progress',\n update_wallet_status = 'update_wallet_status',\n quit_requested = 'quit_requested',\n on_core_event = 'on_core_event',\n get_wallet_info = 'get_wallet_info',\n remove_custom_asset_id = 'remove_custom_asset_id',\n add_custom_asset_id = 'add_custom_asset_id',\n get_options = 'get_options',\n handle_current_action_state = 'handle_current_action_state',\n set_enable_tor = 'set_enable_tor',\n dispatch_async_call_result = 'dispatch_async_call_result',\n async_call = 'async_call',\n set_log_level = 'set_log_level',\n get_network_type = 'get_network_type',\n get_version = 'get_version',\n get_tx_pool_info = 'get_tx_pool_info',\n get_recent_transfers = 'get_recent_transfers',\n resync_wallet = 'resync_wallet',\n get_alias_coast = 'get_alias_coast',\n get_alias_info_by_address = 'get_alias_info_by_address',\n get_alias_info_by_name = 'get_alias_info_by_name',\n get_all_aliases = 'get_all_aliases',\n request_alias_update = 'request_alias_update',\n webkit_launched_script = 'webkit_launched_script',\n on_request_quit = 'on_request_quit',\n get_app_data = 'get_app_data',\n store_app_data = 'store_app_data',\n get_secure_app_data = 'get_secure_app_data',\n set_master_password = 'set_master_password',\n check_master_password = 'check_master_password',\n get_is_disabled_notifications = 'get_is_disabled_notifications',\n set_is_disabled_notifications = 'set_is_disabled_notifications',\n store_secure_app_data = 'store_secure_app_data',\n drop_secure_app_data = 'drop_secure_app_data',\n have_secure_app_data = 'have_secure_app_data',\n show_savefile_dialog = 'show_savefile_dialog',\n show_openfile_dialog = 'show_openfile_dialog',\n store_to_file = 'store_to_file',\n load_from_file = 'load_from_file',\n push_offer = 'push_offer',\n generate_wallet = 'generate_wallet',\n export_wallet_history = 'export_wallet_history',\n open_wallet = 'open_wallet',\n close_wallet = 'close_wallet',\n get_smart_wallet_info = 'get_smart_wallet_info',\n get_seed_phrase_info = 'get_seed_phrase_info',\n run_wallet = 'run_wallet',\n is_valid_restore_wallet_text = 'is_valid_restore_wallet_text',\n restore_wallet = 'restore_wallet',\n transfer = 'transfer',\n validate_address = 'validate_address',\n set_clipboard = 'set_clipboard',\n get_clipboard = 'get_clipboard',\n create_proposal = 'create_proposal',\n get_contracts = 'get_contracts',\n accept_proposal = 'accept_proposal',\n release_contract = 'release_contract',\n request_cancel_contract = 'request_cancel_contract',\n accept_cancel_contract = 'accept_cancel_contract',\n get_mining_history = 'get_mining_history',\n start_pos_mining = 'start_pos_mining',\n stop_pos_mining = 'stop_pos_mining',\n open_url_in_browser = 'open_url_in_browser',\n start_backend = 'start_backend',\n get_default_fee = 'get_default_fee',\n set_localization_strings = 'set_localization_strings',\n request_alias_registration = 'request_alias_registration',\n call_rpc = 'call_rpc',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BackendService {\n dispatchAsyncCallResult$ = new Subject();\n\n handleCurrentActionState$ = new Subject();\n\n backendObject: any;\n\n backendLoaded = false;\n\n constructor(\n private translate: TranslateService,\n private variablesService: VariablesService,\n private modalService: ModalService,\n private moneyToIntPipe: MoneyToIntPipe,\n private ngZone: NgZone\n ) {}\n\n static bigNumberParser(key, val): any {\n if (\n val.constructor.name === 'BigNumber' &&\n ['balance', 'unlocked_balance', 'amount', 'fee', 'b_fee', 'to_pay', 'a_pledge', 'b_pledge', 'coast', 'a'].indexOf(key) === -1\n ) {\n return val.toNumber();\n }\n if (key === 'rcv' || key === 'spn') {\n for (let i = 0; i < val.length; i++) {\n val[i] = new BigNumber(val[i]);\n }\n }\n return val;\n }\n\n static Debug(type, message): void {\n switch (type) {\n case 0:\n console.error(message);\n break;\n case 1:\n console.warn(message);\n break;\n case 2:\n console.log(message);\n break;\n default:\n console.log(message);\n break;\n }\n }\n\n eventSubscribe(command: Commands, callback): void {\n if (command === Commands.on_core_event) {\n this.backendObject[command].connect(callback);\n } else {\n this.backendObject[command].connect(str => {\n callback(JSONBigNumber.parse(str, BackendService.bigNumberParser));\n });\n }\n }\n\n initService(): Observable {\n return new Observable(observer => {\n if (!this.backendLoaded) {\n this.backendLoaded = true;\n (window).QWebChannel((window).qt.webChannelTransport, channel => {\n this.backendObject = channel.objects.mediator_object;\n observer.next('backendObject loaded');\n });\n } else {\n observer.error('backend not loaded');\n if (!this.backendObject) {\n observer.error('backendObject not loaded');\n }\n }\n });\n }\n\n webkitLaunchedScript(): void {\n this.runCommand(Commands.webkit_launched_script);\n }\n\n quitRequest(): void {\n this.runCommand(Commands.on_request_quit);\n }\n\n getAppData(callback): void {\n this.runCommand(Commands.get_app_data, {}, callback);\n }\n\n storeAppData(callback?): void {\n if (this.variablesService.wallets.length > 0) {\n this.variablesService.settings.wallets = [];\n this.variablesService.wallets.forEach(wallet => {\n this.variablesService.settings.wallets.push({\n name: wallet.name,\n path: wallet.path,\n });\n });\n }\n this.runCommand(Commands.store_app_data, this.variablesService.settings, callback);\n }\n\n getSecureAppData(pass, callback): void {\n this.runCommand(Commands.get_secure_app_data, pass, callback);\n }\n\n setMasterPassword(pass, callback): void {\n this.runCommand(Commands.set_master_password, pass, callback);\n }\n\n checkMasterPassword(pass, callback): void {\n this.runCommand(Commands.check_master_password, pass, callback);\n }\n\n getIsDisabledNotifications(callback): void {\n const params = {};\n this.runCommand(Commands.get_is_disabled_notifications, params, callback);\n }\n\n setIsDisabledNotifications(state): void {\n this.runCommand(Commands.set_is_disabled_notifications, state);\n }\n\n storeSecureAppData(callback?): void {\n const wallets = [];\n const contacts = [];\n this.variablesService.wallets.forEach(wallet => {\n wallets.push({\n name: wallet.name,\n pass: wallet.pass,\n path: wallet.path,\n staking: wallet.staking,\n });\n });\n this.variablesService.contacts.forEach(contact => {\n contacts.push({\n name: contact.name,\n address: contact.address,\n notes: contact.notes,\n });\n });\n const data = { wallets: wallets, contacts: contacts };\n this.backendObject[Commands.store_secure_app_data](JSON.stringify(data), this.variablesService.appPass, dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.store_secure_app_data);\n });\n }\n\n dropSecureAppData(callback?): void {\n this.backendObject[Commands.drop_secure_app_data](dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.drop_secure_app_data);\n });\n }\n\n haveSecureAppData(callback): void {\n this.runCommand(Commands.have_secure_app_data, {}, callback);\n }\n\n saveFileDialog(caption, fileMask, default_path, callback): void {\n const dir = default_path ? default_path : '/';\n const params = {\n caption: caption,\n filemask: fileMask,\n default_dir: dir,\n };\n this.runCommand(Commands.show_savefile_dialog, params, callback);\n }\n\n openFileDialog(caption, filemask, default_path, callback): void {\n const default_dir = default_path ? default_path : '/';\n const params = {\n caption,\n filemask,\n default_dir,\n };\n this.runCommand(Commands.show_openfile_dialog, params, callback);\n }\n\n storeFile(path, buff): void {\n this.backendObject[Commands.store_to_file](path, buff);\n }\n\n loadFile(path, callback): void {\n this.runCommand(Commands.load_from_file, path, callback);\n }\n\n push_offer(params, callback): void {\n this.runCommand(Commands.push_offer, params, callback);\n }\n\n generateWallet(path, pass, callback): void {\n const params = {\n path: path,\n pass: pass,\n };\n this.runCommand(Commands.generate_wallet, params, callback);\n }\n\n exportWalletHistory(json_string): void {\n this.runCommand(Commands.export_wallet_history, json_string);\n }\n\n openWallet(path, pass, txs_to_return, testEmpty, callback): void {\n const params = {\n path: path,\n pass: pass,\n txs_to_return: txs_to_return,\n };\n params['testEmpty'] = !!testEmpty;\n this.runCommand(Commands.open_wallet, params, callback);\n }\n\n closeWallet(wallet_id, callback?): void {\n this.runCommand(Commands.close_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n getSmartWalletInfo({ wallet_id, seed_password }, callback): void {\n this.runCommand(Commands.get_smart_wallet_info, { wallet_id: +wallet_id, seed_password }, callback);\n }\n\n getSeedPhraseInfo(param, callback): void {\n this.runCommand(Commands.get_seed_phrase_info, param, callback);\n }\n\n runWallet(wallet_id, callback?): void {\n this.runCommand(Commands.run_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n isValidRestoreWalletText(param, callback): void {\n this.runCommand(Commands.is_valid_restore_wallet_text, param, callback);\n }\n\n restoreWallet(path, pass, seed_phrase, seed_pass, callback): void {\n const params = {\n seed_phrase: seed_phrase,\n path: path,\n pass: pass,\n seed_pass,\n };\n this.runCommand(Commands.restore_wallet, params, callback);\n }\n\n sendMoney({ wallet_id, address, amount, fee, mixin, comment, hide, asset_id }: SendMoneyParams, callback): void {\n const params = {\n wallet_id,\n destinations: [\n {\n address,\n amount,\n ...(asset_id && { asset_id }),\n },\n ],\n mixin_count: mixin ?? 0,\n lock_time: 0,\n fee: this.moneyToIntPipe.transform(fee),\n comment: comment,\n push_payer: !hide,\n };\n\n this.asyncCall(Commands.transfer, params, callback);\n }\n\n validateAddress(address, callback): void {\n this.runCommand(Commands.validate_address, address, callback);\n }\n\n setClipboard(str, callback?): void {\n this.runCommand(Commands.set_clipboard, str, callback);\n }\n\n getClipboard(callback): void {\n this.runCommand(Commands.get_clipboard, {}, callback);\n }\n\n createProposal(wallet_id, title, comment, a_addr, b_addr, to_pay, a_pledge, b_pledge, time, payment_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n details: {\n t: title,\n c: comment,\n a_addr: a_addr,\n b_addr: b_addr,\n to_pay: this.moneyToIntPipe.transform(to_pay),\n a_pledge: this.moneyToIntPipe.transform(a_pledge),\n b_pledge: this.moneyToIntPipe.transform(b_pledge),\n },\n payment_id: payment_id,\n expiration_period: parseInt(time, 10) * 60 * 60,\n fee: this.variablesService.default_fee_big,\n b_fee: this.variablesService.default_fee_big,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.create_proposal, params, callback);\n }\n\n getContracts(wallet_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.get_contracts, params, callback);\n }\n\n acceptProposal(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_proposal, params, callback);\n }\n\n releaseProposal(wallet_id, contract_id, release_type, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n release_type: release_type, // \"normal\" or \"burn\"\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.release_contract, params, callback);\n }\n\n requestCancelContract(wallet_id, contract_id, time, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n fee: this.variablesService.default_fee_big,\n expiration_period: parseInt(time, 10) * 60 * 60,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.request_cancel_contract, params, callback);\n }\n\n acceptCancelContract(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_cancel_contract, params, callback);\n }\n\n getMiningHistory(wallet_id, callback): void {\n this.runCommand(Commands.get_mining_history, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n startPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.start_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n stopPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.stop_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n openUrlInBrowser(url, callback?): void {\n this.runCommand(Commands.open_url_in_browser, url, callback);\n }\n\n start_backend(node, host, port, callback): void {\n const params = {\n configure_for_remote_node: node,\n remote_node_host: host,\n remote_node_port: parseInt(port, 10),\n };\n this.runCommand(Commands.start_backend, params, callback);\n }\n\n getDefaultFee(callback): void {\n this.runCommand(Commands.get_default_fee, {}, callback);\n }\n\n setBackendLocalization(stringsArray, title, callback?): void {\n const params = {\n strings: stringsArray,\n language_title: title,\n };\n this.runCommand(Commands.set_localization_strings, params, callback);\n }\n\n registerAlias(wallet_id, alias, address, fee, comment, reward, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias,\n address: address,\n tracking_key: '',\n comment: comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n reward: this.moneyToIntPipe.transform(reward),\n };\n this.runCommand(Commands.request_alias_registration, params, callback);\n }\n\n updateAlias(wallet_id, alias, fee, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias.name.replace('@', ''),\n address: alias.address,\n tracking_key: '',\n comment: alias.comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n };\n this.runCommand(Commands.request_alias_update, params, callback);\n }\n\n getAllAliases(callback): void {\n this.runCommand(Commands.get_all_aliases, {}, callback);\n }\n\n getAliasInfoByName(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_name, value, callback);\n }\n\n getAliasByAddress(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_address, value, callback);\n }\n\n getAliasCoast(alias, callback): void {\n this.runCommand(Commands.get_alias_coast, { v: alias }, callback);\n }\n\n resyncWallet(id): void {\n this.runCommand(Commands.resync_wallet, { wallet_id: id });\n }\n\n getWalletAlias(address): Partial {\n if (address !== null && this.variablesService.daemon_state === 2) {\n if (this.variablesService.aliasesChecked[address] == null) {\n this.variablesService.aliasesChecked[address] = {};\n if (this.variablesService.aliases.length) {\n for (let i = 0, length = this.variablesService.aliases.length; i < length; i++) {\n if (i in this.variablesService.aliases && this.variablesService.aliases[i]['address'] === address) {\n this.variablesService.aliasesChecked[address]['name'] = this.variablesService.aliases[i].name;\n this.variablesService.aliasesChecked[address]['address'] = this.variablesService.aliases[i].address;\n this.variablesService.aliasesChecked[address]['comment'] = this.variablesService.aliases[i].comment;\n return this.variablesService.aliasesChecked[address];\n }\n }\n }\n this.getAliasByAddress(address, (status, data) => {\n if (status) {\n this.variablesService.aliasesChecked[data.address]['name'] = '@' + data.alias;\n this.variablesService.aliasesChecked[data.address]['address'] = data.address;\n this.variablesService.aliasesChecked[data.address]['comment'] = data.comment;\n }\n });\n }\n return this.variablesService.aliasesChecked[address];\n }\n return {};\n }\n\n getContactAlias(): void {\n if (this.variablesService.contacts.length > 0 && this.variablesService.daemon_state === 2) {\n this.variablesService.contacts.map(contact => {\n this.getAliasByAddress(contact.address, (status, data) => {\n if (status) {\n if (data.alias) {\n contact.alias = '@' + data.alias;\n }\n } else {\n contact.alias = null;\n }\n });\n });\n }\n }\n\n getRecentTransfers(id, offset, count, exclude_mining_txs, callback): void {\n const params = {\n wallet_id: id,\n offset: offset,\n count: count,\n exclude_mining_txs: exclude_mining_txs,\n };\n this.runCommand(Commands.get_recent_transfers, params, callback);\n }\n\n getPoolInfo(callback): void {\n this.runCommand(Commands.get_tx_pool_info, {}, callback);\n }\n\n getVersion(callback): void {\n this.runCommand(Commands.get_version, {}, (status, version, errorVersion) => {\n this.runCommand(Commands.get_network_type, {}, (status_network, type, errorType) => {\n callback(version, type, errorVersion ?? errorType);\n });\n });\n }\n\n setLogLevel(level): void {\n this.runCommand(Commands.set_log_level, { v: level });\n }\n\n asyncCall(command: string, params: PramsObj, callback?: (job_id?: number) => void | any): void {\n this.runCommand(Commands.async_call, [command, params], (status, { job_id }: { job_id: number }) => {\n callback(job_id);\n });\n }\n\n dispatchAsyncCallResult(): void {\n this.backendObject[Commands.dispatch_async_call_result].connect((job_id: string, json_resp: string) => {\n const asyncCommandResults: AsyncCommandResults = {\n job_id: +job_id,\n response: JSON.parse(json_resp),\n };\n this.ngZone.run(() => this.dispatchAsyncCallResult$.next(asyncCommandResults));\n });\n }\n\n handleCurrentActionState(): void {\n this.backendObject[Commands.handle_current_action_state].connect((response: string) => {\n const currentActionState: CurrentActionState = JSON.parse(response);\n this.ngZone.run(() => this.handleCurrentActionState$.next(currentActionState));\n });\n }\n\n setEnableTor(value: boolean): void {\n this.runCommand(Commands.set_enable_tor, <{ v: boolean }>{\n v: value,\n });\n }\n\n getOptions(): any {\n this.runCommand(\n Commands.get_options,\n {},\n (status, { disable_price_fetch, use_debug_mode }: { disable_price_fetch: boolean; use_debug_mode: boolean }) => {\n this.variablesService.disable_price_fetch$.next(disable_price_fetch);\n this.variablesService.use_debug_mode$.next(use_debug_mode);\n }\n );\n }\n\n addCustomAssetId(\n params: ParamsAddCustomAssetId,\n callback: (\n status: boolean,\n response_data: ResponseAddCustomAssetId,\n res_error_code?: {\n error_code: 'FAILED' | string;\n response_data: {\n asset_descriptor: Partial;\n status: 'FAILED' | string;\n };\n }\n ) => void\n ): void {\n this.runCommand(Commands.add_custom_asset_id, params, callback);\n }\n\n removeCustomAssetId(\n params: ParamsRemoveCustomAssetId,\n callback?: (status: boolean, response_data: ResponseRemoveCustomAssetId) => void\n ): void {\n this.runCommand(Commands.remove_custom_asset_id, params, callback);\n }\n\n getWalletInfo(wallet_id, callback?: (status: boolean, response_data: ResponseGetWalletInfo) => void): void {\n this.runCommand(Commands.get_wallet_info, { wallet_id }, callback);\n }\n\n // Use for call rpc-api https://docs.zano.org/docs/build/rpc-api\n call_rpc(params: ParamsCallRpc, callback?: (status: boolean, response_data: any) => void): void {\n this.runCommand(Commands.call_rpc, params, callback);\n }\n\n private informerRun(error: string, params, command: string): void {\n let error_translate = '';\n switch (error) {\n case 'NOT_ENOUGH_MONEY':\n error_translate = 'ERRORS.NOT_ENOUGH_MONEY';\n // error_translate = 'ERRORS.NO_MONEY'; maybe that one?\n if (command === 'cancel_offer') {\n error_translate = this.translate.instant('ERRORS.NO_MONEY_REMOVE_OFFER', {\n fee: this.variablesService.default_fee,\n currency: this.variablesService.defaultCurrency,\n });\n }\n break;\n case 'CORE_BUSY':\n error_translate = 'ERRORS.CORE_BUSY';\n break;\n case 'BUSY':\n error_translate = 'ERRORS.DAEMON_BUSY';\n break;\n case 'OVERFLOW':\n if (command !== 'get_all_aliases') {\n error_translate = '';\n }\n break;\n case 'NOT_ENOUGH_OUTPUTS_FOR_MIXING':\n error_translate = 'ERRORS.NOT_ENOUGH_OUTPUTS_TO_MIX';\n break;\n case 'TX_IS_TOO_BIG':\n error_translate = 'ERRORS.TRANSACTION_IS_TO_BIG';\n break;\n case 'DISCONNECTED':\n error_translate = 'ERRORS.TRANSFER_ATTEMPT';\n break;\n case 'ACCESS_DENIED':\n error_translate = 'ERRORS.ACCESS_DENIED';\n break;\n case 'TX_REJECTED':\n // if (command === 'request_alias_registration') {\n // error_translate = 'INFORMER.ALIAS_IN_REGISTER';\n // } else {\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n // }\n break;\n case 'INTERNAL_ERROR':\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n break;\n case 'BAD_ARG':\n error_translate = 'ERRORS.BAD_ARG';\n break;\n case 'WALLET_WRONG_ID':\n error_translate = 'ERRORS.WALLET_WRONG_ID';\n break;\n case 'WALLET_WATCH_ONLY_NOT_SUPPORTED':\n error_translate = 'ERRORS.WALLET_WATCH_ONLY_NOT_SUPPORTED';\n break;\n // case 'WRONG_PASSWORD':\n // params = JSON.parse(params);\n // if (!params.testEmpty) {\n // error_translate = 'ERRORS.WRONG_PASSWORD';\n // }\n // break;\n case 'FILE_RESTORED':\n if (command === 'open_wallet') {\n error_translate = 'ERRORS.FILE_RESTORED';\n }\n break;\n case 'FILE_NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'CANCELED':\n case '':\n break;\n case 'FAIL':\n if (\n command === 'create_proposal' ||\n command === 'accept_proposal' ||\n command === 'release_contract' ||\n command === 'request_cancel_contract' ||\n command === 'accept_cancel_contract'\n ) {\n error_translate = ' ';\n }\n break;\n case 'ALREADY_EXISTS':\n error_translate = 'ERRORS.FILE_EXIST';\n break;\n case 'FAILED':\n BackendService.Debug(0, `Error: (${error}) was triggered by command: ${command}`);\n break;\n default:\n error_translate = '';\n }\n if (error.indexOf('FAIL:failed to save file') > -1) {\n error_translate = 'ERRORS.FILE_NOT_SAVED';\n }\n if (error.indexOf('FAILED:failed to open binary wallet file for saving') > -1 && command === 'generate_wallet') {\n error_translate = '';\n }\n\n if (error_translate !== '') {\n this.modalService.prepareModal('error', error_translate);\n }\n }\n\n private commandDebug(command: Commands, params: Params, result: any): void {\n BackendService.Debug(2, '----------------- ' + command + ' -----------------');\n const debug = {\n _send_params: params,\n _result: result,\n };\n BackendService.Debug(2, debug);\n try {\n BackendService.Debug(2, JSONBigNumber.parse(result, BackendService.bigNumberParser));\n } catch (e) {\n BackendService.Debug(2, { response_data: result, error_code: 'OK' });\n }\n }\n\n private backendCallback(resultStr, params, callback, command: Commands): any {\n let Result = resultStr;\n if (command !== Commands.get_clipboard) {\n if (!resultStr || resultStr === '') {\n Result = {};\n } else {\n try {\n Result = JSONBigNumber.parse(resultStr, BackendService.bigNumberParser);\n } catch (e) {\n Result = { response_data: resultStr, error_code: 'OK' };\n }\n }\n } else {\n Result = {\n error_code: 'OK',\n response_data: Result,\n };\n }\n\n const core_busy = Result.error_code === 'CORE_BUSY';\n const Status = Result.error_code === 'OK' || Result.error_code === 'TRUE';\n\n if (!Status && Status !== undefined && Result.error_code !== undefined) {\n BackendService.Debug(1, 'API error for command: \"' + command + '\". Error code: ' + Result.error_code);\n }\n const data = typeof Result === 'object' && 'response_data' in Result ? Result.response_data : Result;\n\n let res_error_code = false;\n if (\n typeof Result === 'object' &&\n 'error_code' in Result &&\n Result.error_code !== 'OK' &&\n Result.error_code !== 'TRUE' &&\n Result.error_code !== 'FALSE' &&\n Result.error_code !== 'WRAP'\n ) {\n if (core_busy) {\n setTimeout(() => {\n // this is will avoid update data when user\n // on other wallet after CORE_BUSY (blink of data)\n if (command !== Commands.get_recent_transfers) {\n this.runCommand(command, params, callback);\n } else {\n const current_wallet_id = this.variablesService.currentWallet.wallet_id;\n if (current_wallet_id === params.wallet_id) {\n this.runCommand(command, params, callback);\n }\n }\n }, 50);\n } else {\n this.informerRun(Result.error_code, params, command);\n res_error_code = Result.error_code;\n }\n }\n\n if (!core_busy) {\n if (typeof callback === 'function') {\n callback(Status, data, res_error_code);\n } else {\n return data;\n }\n }\n }\n\n private runCommand(command: Commands, params?: Params, callback?): any {\n if (!this.backendObject) {\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = true;\n }\n\n const Action = this.backendObject[command];\n\n if (!Action) {\n BackendService.Debug(0, 'Run Command Error! Command \"' + command + '\" don\\'t found in backendObject');\n return;\n }\n\n const type: ParamsType = getParamsType(params);\n params = params && convertorParams(params);\n\n if (type === ParamsType.array) {\n Action(...(params as string[]), resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = false;\n }\n Action(params, resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { WrapInfo } from '@api/models/wrap-info';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WrapInfoService {\n private httpClient = inject(HttpClient);\n\n getWrapInfo(): Observable {\n return this.httpClient.get('https://wrapped.zano.org/api2/get_wrap_info');\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [RouterModule.forRoot([], { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { BigNumber } from 'bignumber.js';\nimport { ModalService } from '@parts/services/modal.service';\nimport { StateKeys, Store } from '@store/store';\nimport { Subject, take } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { paths, pathsChildrenAuth } from './pages/paths';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { AssetsFacade } from '@store/assets/assets.facade';\nimport { Dialog } from '@angular/cdk/dialog';\n\n@Component({\n selector: 'app-root',\n template: `\n \n\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n

\n \n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n

\n \n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n

\n
\n \n\n \n\n \n `,\n})\nexport class AppComponent implements OnInit, OnDestroy {\n intervalUpdatePriceState;\n\n intervalUpdateContractsState;\n\n expMedTsEvent;\n\n onQuitRequest = false;\n\n firstOnlineState = false;\n\n translateUsed = false;\n\n needOpenWallets = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public translate: TranslateService,\n private http: HttpClient,\n private renderer: Renderer2,\n private backendService: BackendService,\n private router: Router,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private modalService: ModalService,\n private store: Store,\n private dialog: Dialog,\n private assetsFacade: AssetsFacade\n ) {\n translate.addLangs(['en', 'fr', 'de', 'it', 'pt']);\n translate.setDefaultLang('en');\n translate.use('en').subscribe({\n next: () => {\n this.translateUsed = true;\n },\n });\n }\n\n setBackendLocalization(): void {\n if (this.translateUsed) {\n const stringsArray = [\n this.translate.instant('BACKEND_LOCALIZATION.QUIT'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_RECEIVED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_UNCONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.MINED'),\n this.translate.instant('BACKEND_LOCALIZATION.LOCKED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_MINIMIZE'),\n this.translate.instant('BACKEND_LOCALIZATION.RESTORE'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_SHOW'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_MINIMIZE'),\n ];\n this.backendService.setBackendLocalization(stringsArray, this.variablesService.settings.language);\n } else {\n console.warn('wait translate use');\n setTimeout(() => {\n this.setBackendLocalization();\n }, 10000);\n }\n }\n\n ngOnInit(): void {\n this.backendService.initService().subscribe({\n next: initMessage => {\n console.log('Init message: ', initMessage);\n this.backendService.getOptions();\n this.backendService.webkitLaunchedScript();\n\n this.backendService.start_backend(false, '127.0.0.1', 11512, (st2, dd2) => {\n console.log(st2, dd2);\n });\n\n this.backendService.eventSubscribe(Commands.quit_requested, async () => {\n if (this.onQuitRequest) {\n return;\n }\n\n await this.ngZone.run(async () => {\n await this.router.navigate(['/']);\n });\n\n this.dialog.closeAll();\n this.needOpenWallets = [];\n this.variablesService.daemon_state = 5;\n\n const saveFunction = (): void => {\n this.backendService.storeAppData((): void => {\n const recursionCloseWallets = (): void => {\n if (this.variablesService.wallets.length > 0) {\n const lastIndex = this.variablesService.wallets.length - 1;\n this.backendService.closeWallet(this.variablesService.wallets[lastIndex].wallet_id, () => {\n this.variablesService.wallets.splice(lastIndex, 1);\n recursionCloseWallets();\n });\n } else {\n this.ngZone.run(() => {\n this.backendService.quitRequest();\n });\n }\n };\n recursionCloseWallets();\n });\n };\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData(saveFunction);\n } else {\n saveFunction();\n }\n\n this.onQuitRequest = true;\n });\n\n this.backendService.eventSubscribe(Commands.update_wallet_status, data => {\n console.log('----------------- update_wallet_status -----------------');\n console.log(data);\n\n const wallet_state = data.wallet_state;\n const is_mining = data.is_mining;\n const wallet = this.variablesService.getWallet(data.wallet_id);\n // 1-synch, 2-ready, 3 - error\n if (wallet) {\n this.ngZone.run(() => {\n wallet.loaded = false;\n wallet.staking = is_mining;\n if (wallet_state === 2) {\n // ready\n wallet.loaded = true;\n }\n if (wallet_state === 3) {\n // error\n // wallet.error = true;\n }\n wallet.balances = data.balances;\n wallet.mined_total = data.minied_total;\n wallet.alias_available = data.is_alias_operations_available;\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.wallet_sync_progress, data => {\n console.log('----------------- wallet_sync_progress -----------------');\n console.log(data);\n const wallet = this.variablesService.getWallet(data.wallet_id);\n if (wallet) {\n this.ngZone.run(() => {\n wallet.progress = data.progress < 0 ? 0 : data.progress > 100 ? 100 : data.progress;\n if (!this.variablesService.sync_started) {\n this.variablesService.sync_started = true;\n this.variablesService.sync_wallets[wallet.wallet_id] = true;\n }\n this.addToStore(wallet, true); // subscribe on data\n if (wallet.progress === 0) {\n wallet.loaded = false;\n } else if (wallet.progress === 100) {\n wallet.loaded = true;\n this.addToStore(wallet, false);\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[wallet.wallet_id] = false;\n }\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.update_daemon_state, data => {\n console.log('----------------- update_daemon_state -----------------');\n console.log('DAEMON:' + data.daemon_network_state);\n console.log(data);\n // this.variablesService.exp_med_ts = data['expiration_median_timestamp'] + 600 + 1;\n this.variablesService.setExpMedTs(data['expiration_median_timestamp'] + 600 + 1);\n this.variablesService.net_time_delta_median = data.net_time_delta_median;\n this.variablesService.last_build_available = data.last_build_available;\n this.variablesService.last_build_displaymode = data.last_build_displaymode;\n this.variablesService.setHeightApp(data.height);\n this.variablesService.setHeightMax(data.max_net_seen_height);\n\n this.variablesService.setDownloadedBytes(data.downloaded_bytes);\n this.variablesService.setTotalBytes(data.download_total_data_size);\n\n this.backendService.getContactAlias();\n this.ngZone.run(() => {\n this.variablesService.daemon_state = data['daemon_network_state'];\n if (data['daemon_network_state'] === 1) {\n const max = data['max_net_seen_height'] - data['synchronization_start_height'];\n const current = data.height - data['synchronization_start_height'];\n const return_val = Math.floor(((current * 100) / max) * 100) / 100;\n if (max === 0 || return_val < 0) {\n this.variablesService.sync.progress_value = 0;\n this.variablesService.sync.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.sync.progress_value = 100;\n this.variablesService.sync.progress_value_text = '99.99';\n } else {\n this.variablesService.sync.progress_value = return_val;\n this.variablesService.sync.progress_value_text = return_val.toFixed(2);\n }\n }\n\n if (data['daemon_network_state'] === 6) {\n const max = data['download_total_data_size'];\n const current = data['downloaded_bytes'];\n const return_val = Math.floor((current / max) * 100);\n if (max === 0 || return_val < 0) {\n this.variablesService.download.progress_value = 0;\n this.variablesService.download.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.download.progress_value = 100;\n this.variablesService.download.progress_value_text = '99.99';\n } else {\n this.variablesService.download.progress_value = return_val;\n this.variablesService.download.progress_value_text = return_val.toFixed(2);\n }\n }\n });\n if (!this.firstOnlineState && data['daemon_network_state'] === 2) {\n this.getAliases();\n this.backendService.getContactAlias();\n this.backendService.getDefaultFee((status_fee, data_fee) => {\n this.variablesService.default_fee_big = new BigNumber(data_fee);\n this.variablesService.default_fee = this.intToMoneyPipe.transform(data_fee);\n });\n this.firstOnlineState = true;\n }\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer, data => {\n console.log('----------------- money_transfer -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n\n const wallet = this.variablesService.getWallet(wallet_id);\n if (wallet) {\n if (wallet.history.length > 40) {\n wallet.history.splice(40, 1);\n }\n this.ngZone.run(() => {\n wallet.balances = data.balances;\n\n if (tr_info.tx_type === 6) {\n this.variablesService.setRefreshStacking(wallet_id);\n }\n\n let tr_exists = wallet.excluded_history.some(elem => elem.tx_hash === tr_info.tx_hash);\n tr_exists = !tr_exists ? wallet.history.some(elem => elem.tx_hash === tr_info.tx_hash) : tr_exists;\n\n if (wallet.currentPage === 1) {\n wallet.prepareHistory([tr_info]);\n if (wallet.restore) {\n wallet.total_history_item = wallet.history.length;\n wallet.totalPages = Math.ceil(wallet.total_history_item / this.variablesService.count);\n wallet.totalPages > this.variablesService.maxPages\n ? (wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (wallet.pages = new Array(wallet.totalPages).fill(1).map((value, index) => value + index));\n }\n }\n\n if (hasOwnProperty(tr_info, 'contract')) {\n const exp_med_ts = this.variablesService.exp_med_ts;\n const height_app = this.variablesService.height_app;\n const contract = tr_info.contract[0];\n if (tr_exists) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (wallet.contracts[i].contract_id === contract.contract_id && wallet.contracts[i].is_a === contract.is_a) {\n wallet.contracts[i].cancel_expiration_time = contract.cancel_expiration_time;\n wallet.contracts[i].expiration_time = contract.expiration_time;\n wallet.contracts[i].height = contract.height;\n wallet.contracts[i].timestamp = contract.timestamp;\n break;\n }\n }\n // $rootScope.getContractsRecount();\n return;\n }\n\n if (contract.state === 1 && contract.expiration_time < exp_med_ts) {\n contract.state = 110;\n } else if (contract.state === 5 && contract.cancel_expiration_time < exp_med_ts) {\n contract.state = 130;\n } else if (contract.state === 1) {\n const searchResult2 = this.variablesService.settings.notViewedContracts.find(\n elem => elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult2) {\n if (searchResult2.time === contract.expiration_time) {\n contract.state = 110;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 2 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 201;\n } else if (contract.state === 2) {\n const searchResult3 = this.variablesService.settings.viewedContracts.some(\n elem => elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult3) {\n contract.state = 120;\n }\n } else if (contract.state === 5) {\n const searchResult4 = this.variablesService.settings.notViewedContracts.find(\n elem => elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult4) {\n if (searchResult4.time === contract.cancel_expiration_time) {\n contract.state = 130;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id === contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 6 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 601;\n }\n\n const searchResult = this.variablesService.settings.viewedContracts.some(\n elem => elem.state === contract.state && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n contract.is_new = !searchResult;\n\n let findContract = false;\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (wallet.contracts[i].contract_id === contract.contract_id && wallet.contracts[i].is_a === contract.is_a) {\n for (const prop in contract) {\n if (hasOwnProperty(contract, prop)) {\n wallet.contracts[i][prop] = contract[prop];\n }\n }\n findContract = true;\n break;\n }\n }\n if (findContract === false) {\n wallet.contracts.push(contract);\n }\n // wallet.recountNewContracts();\n }\n });\n }\n });\n\n this.backendService.backendObject[Commands.handle_deeplink_click].connect(data => {\n console.log('----------------- handle_deeplink_click -----------------');\n console.log(data);\n this.ngZone.run(() => {\n if (data) {\n this.variablesService.deeplink$.next(data);\n }\n });\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer_cancel, data => {\n console.log('----------------- money_transfer_cancel -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n const wallet = this.variablesService.getWallet(wallet_id);\n\n if (wallet) {\n if (hasOwnProperty(tr_info, 'contract')) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === tr_info.contract[0].contract_id &&\n wallet.contracts[i].is_a === tr_info.contract[0].is_a\n ) {\n if (wallet.contracts[i].state === 1 || wallet.contracts[i].state === 110) {\n wallet.contracts[i].is_new = true;\n wallet.contracts[i].state = 140;\n // wallet.recountNewContracts();\n }\n break;\n }\n }\n }\n\n wallet.removeFromHistory(tr_info.tx_hash);\n\n let error_tr = '';\n switch (tr_info.tx_type) {\n case 0:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NORMAL') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_TO') +\n ' ' +\n this.intToMoneyPipe.transform(tr_info.amount) +\n ' ' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_END');\n break;\n case 1:\n // this.translate.instant('ERRORS.TX_TYPE_PUSH_OFFER');\n break;\n case 2:\n // this.translate.instant('ERRORS.TX_TYPE_UPDATE_OFFER');\n break;\n case 3:\n // this.translate.instant('ERRORS.TX_TYPE_CANCEL_OFFER');\n break;\n case 4:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 5:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_UPDATE_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 6:\n error_tr = this.translate.instant('ERRORS.TX_TYPE_COIN_BASE');\n break;\n }\n if (error_tr) {\n this.modalService.prepareModal('error', error_tr);\n }\n }\n });\n\n this.backendService.eventSubscribe(Commands.on_core_event, data => {\n console.log('----------------- on_core_event -----------------');\n console.log(data);\n\n data = JSON.parse(data);\n\n if (data.events != null) {\n for (let i = 0, length = data.events.length; i < length; i++) {\n switch (data.events[i].method) {\n case 'CORE_EVENT_BLOCK_ADDED':\n break;\n case 'CORE_EVENT_ADD_ALIAS':\n if (this.variablesService.aliasesChecked[data.events[i].details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.address]['name'] = '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.address]['address'] = data.events[i].details.address;\n this.variablesService.aliasesChecked[data.events[i].details.address]['comment'] = data.events[i].details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const newAlias = {\n name: '@' + data.events[i].details.alias,\n address: data.events[i].details.address,\n comment: data.events[i].details.comment,\n };\n this.variablesService.aliases = this.variablesService.aliases.concat(newAlias);\n this.variablesService.changeAliases();\n }\n break;\n case 'CORE_EVENT_UPDATE_ALIAS':\n for (const address in this.variablesService.aliasesChecked) {\n if (hasOwnProperty(this.variablesService.aliasesChecked, address)) {\n if (this.variablesService.aliasesChecked[address].name === '@' + data.events[i].details.alias) {\n if (this.variablesService.aliasesChecked[address].address !== data.events[i].details.details.address) {\n delete this.variablesService.aliasesChecked[address]['name'];\n delete this.variablesService.aliasesChecked[address]['address'];\n delete this.variablesService.aliasesChecked[address]['comment'];\n } else {\n this.variablesService.aliasesChecked[address].comment = data.events[i].details.details.comment;\n }\n break;\n }\n }\n }\n if (this.variablesService.aliasesChecked[data.events[i].details.details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['name'] =\n '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['address'] =\n data.events[i].details.details.address;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['comment'] =\n data.events[i].details.details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const CurrentAlias = this.variablesService.aliases.find(element => element.name === '@' + data.events[i].details.alias);\n if (CurrentAlias) {\n CurrentAlias.address = data.events[i].details.details.address;\n CurrentAlias.comment = data.events[i].details.details.comment;\n }\n }\n this.variablesService.changeAliases();\n break;\n default:\n break;\n }\n }\n }\n });\n\n this.intervalUpdateContractsState = setInterval(() => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (contract.state === 201 && contract.height !== 0 && this.variablesService.height_app - contract.height >= 10) {\n contract.state = 2;\n contract.is_new = true;\n console.warn('need check state in contracts');\n } else if (contract.state === 601 && contract.height !== 0 && this.variablesService.height_app - contract.height >= 10) {\n contract.state = 6;\n contract.is_new = true;\n }\n });\n });\n }, 30000);\n\n this.expMedTsEvent = this.variablesService.getExpMedTsEvent.subscribe({\n next: (newTimestamp: number) => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (contract.state === 1 && contract.expiration_time <= newTimestamp) {\n contract.state = 110;\n contract.is_new = true;\n } else if (contract.state === 5 && contract.cancel_expiration_time <= newTimestamp) {\n contract.state = 130;\n contract.is_new = true;\n }\n });\n });\n },\n });\n\n this.backendService.getAppData((status, data) => {\n if (data && Object.keys(data).length > 0) {\n for (const key in data) {\n if (hasOwnProperty(data, key) && hasOwnProperty(this.variablesService.settings, key)) {\n this.variablesService.settings[key] = data[key];\n }\n }\n // TODO: Delete this line after return appUseTor\n this.variablesService.settings.appUseTor = false;\n if (\n hasOwnProperty(this.variablesService.settings, 'scale') &&\n ['8px', '10px', '12px', '14px'].indexOf(this.variablesService.settings.scale) !== -1\n ) {\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n } else {\n this.variablesService.settings.scale = '10px';\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n }\n }\n this.translate.use(this.variablesService.settings.language);\n this.setBackendLocalization();\n\n this.backendService.setLogLevel(this.variablesService.settings.appLog);\n this.backendService.setEnableTor(this.variablesService.settings.appUseTor);\n\n if (!this.variablesService.settings.wallets || this.variablesService.settings.wallets.length === 0) {\n return this.router.navigate([`${paths.auth}/${pathsChildrenAuth.noWallet}`]).then();\n }\n\n if (this.router.url !== '/login') {\n this.backendService.haveSecureAppData(statusPass => {\n if (statusPass) {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n } else {\n if (Object.keys(data).length !== 0) {\n this.needOpenWallets = JSON.parse(JSON.stringify(this.variablesService.settings.wallets));\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'reg' },\n });\n });\n }\n }\n });\n }\n });\n\n this.backendService.dispatchAsyncCallResult();\n\n this.backendService.handleCurrentActionState();\n\n this.getVersion();\n },\n error: error => {\n console.log(error);\n },\n });\n\n this.variablesService.disable_price_fetch$.pipe(takeUntil(this.destroy$)).subscribe({\n next: disable_price_fetch => {\n if (!disable_price_fetch) {\n this.updateMoneyEquivalent();\n this.intervalUpdatePriceState = setInterval(() => {\n this.updateMoneyEquivalent();\n }, 30000);\n } else {\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n }\n },\n });\n\n this.assetsFacade.loadWhitelist();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n if (this.intervalUpdateContractsState) {\n clearInterval(this.intervalUpdateContractsState);\n }\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n this.expMedTsEvent.unsubscribe();\n }\n\n updateMoneyEquivalent(): void {\n this.http\n .get('https://api.coingecko.com/api/v3/ping')\n .pipe(take(1))\n .subscribe({\n next: () => {\n this.http\n .get('https://api.coingecko.com/api/v3/simple/price?ids=zano&vs_currencies=usd&include_24hr_change=true')\n .pipe(take(1))\n .subscribe({\n next: data => {\n this.variablesService.moneyEquivalent = data['zano']['usd'];\n this.variablesService.moneyEquivalentPercent = data['zano']['usd_24h_change'];\n },\n error: error => {\n console.warn('api.coingecko.com price error: ', error);\n },\n });\n },\n error: error => {\n console.warn('api.coingecko.com error: ', error);\n setTimeout(() => {\n this.updateMoneyEquivalent();\n }, 30000);\n },\n });\n }\n\n getAliases(): void {\n this.backendService.getAllAliases((status, data, error) => {\n console.warn(error);\n\n if (error === 'CORE_BUSY') {\n window.setTimeout(() => {\n this.getAliases();\n }, 10000);\n } else if (error === 'OVERFLOW') {\n this.variablesService.aliases = [];\n this.variablesService.enableAliasSearch = false;\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n } else {\n this.variablesService.enableAliasSearch = true;\n if (data.aliases && data.aliases.length) {\n this.variablesService.aliases = [];\n data.aliases.forEach(alias => {\n const newAlias = {\n name: '@' + alias.alias,\n address: alias.address,\n comment: alias.comment,\n };\n this.variablesService.aliases.push(newAlias);\n });\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n this.variablesService.aliases = this.variablesService.aliases.sort((a, b) => {\n if (a.name.length > b.name.length) {\n return 1;\n }\n if (a.name.length < b.name.length) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n return 0;\n });\n this.variablesService.changeAliases();\n }\n }\n });\n }\n\n addToStore(wallet, boolean): void {\n const value = this.store.state.sync;\n if (value && value.length > 0) {\n const sync = value.filter(item => item.wallet_id === wallet.wallet_id);\n if (sync && sync.length > 0) {\n const result = value.map(item => {\n if (item.wallet_id === wallet.wallet_id) {\n return { sync: boolean, wallet_id: wallet.wallet_id };\n } else {\n return item;\n }\n });\n this.store.set(StateKeys.sync, result);\n } else {\n value.push({ sync: boolean, wallet_id: wallet.wallet_id });\n this.store.set(StateKeys.sync, value);\n }\n } else {\n this.store.set(StateKeys.sync, [{ sync: boolean, wallet_id: wallet.wallet_id }]);\n }\n }\n\n getVersion(): void {\n this.backendService.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n console.log('----------------- version -----------------', version);\n console.log('----------------- type -----------------', type);\n this.variablesService.testnet = type === 'testnet';\n this.variablesService.networkType = type;\n }\n });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { PagesModule } from './pages/pages.module';\nimport { CommonModule } from '@angular/common';\nimport { TranslateLoader, TranslateModule, TranslateModuleConfig } from '@ngx-translate/core';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ChartModule, HIGHCHARTS_MODULES } from 'angular-highcharts';\nimport * as highcharts from 'highcharts';\nimport exporting from 'highcharts/modules/exporting.src';\nimport { MoneyToIntPipeModule } from '@parts/pipes';\nimport { OpenWalletModalComponent } from '@parts/modals/open-wallet-modal/open-wallet-modal.component';\nimport { FlexModule } from '@angular/flex-layout';\nimport { FormsModule } from '@angular/forms';\nimport { RegisterContextTemplatesComponent } from '@parts/components/register-context-templates.component';\n\nexport function highchartsFactory(): any[] {\n highcharts.setOptions({\n time: {\n useUTC: false,\n },\n });\n\n return [exporting];\n}\n\nexport const provideHighchartsFactory = {\n provide: HIGHCHARTS_MODULES,\n useFactory: highchartsFactory,\n};\n\nexport function HttpLoaderFactory(httpClient: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\n}\n\nexport const translateModuleConfig: TranslateModuleConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n};\n\n@NgModule({\n declarations: [AppComponent, OpenWalletModalComponent],\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n TranslateModule.forRoot(translateModuleConfig),\n AppRoutingModule,\n PagesModule,\n ChartModule,\n MoneyToIntPipeModule,\n FlexModule,\n FormsModule,\n RegisterContextTemplatesComponent,\n ],\n providers: [provideHighchartsFactory],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-full-layout',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class FullLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FullLayoutComponent } from './full-layout.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [FullLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule],\n exports: [FullLayoutComponent],\n})\nexport class FullLayoutModule {}\n","import { Component, NgZone, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-sidebar',\n template: `\n
\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n \n {{ 'SIDEBAR.ADD_NEW' | translate }}\n \n\n \n \n {{ 'SIDEBAR.SETTINGS' | translate }}\n \n\n \n \n \n {{ 'SIDEBAR.LOG_OUT' | translate }}\n \n \n\n \n \n \n {{ 'SIDEBAR.LOG_OUT' | translate }}\n \n \n
\n \n\n
\n \n
\n\n \n `,\n styles: [],\n})\nexport class SidebarComponent implements OnDestroy {\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private ngZone: NgZone,\n private dialog: Dialog\n ) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n goMainPage(): void {\n if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl === 'login') {\n this.ngZone.run(() => {\n this.router.navigate(['/'], { queryParams: { prevUrl: 'login' } });\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n\n selectWallet(id: number): void {\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(id);\n this.router.navigate(['/wallet/assets']);\n });\n }\n\n drop(event: CdkDragDrop): void {\n moveItemInArray(this.variablesService.wallets, event.previousIndex, event.currentIndex);\n }\n\n beforeClose(wallet_id): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.closeWallet(wallet_id),\n });\n }\n\n closeWallet(wallet_id): void {\n this.walletsService.closeWallet(wallet_id);\n }\n\n logOut(): void {\n this.variablesService.stopCountdown();\n this.variablesService.appLogin = false;\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.router.navigate(['/login'], { queryParams: { type: 'auth' } });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarComponent } from './sidebar.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from '../../pages/deeplink/deeplink.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { WalletCardComponent } from '@parts/components/wallet-card.component';\n\n@NgModule({\n declarations: [SidebarComponent],\n imports: [\n CommonModule,\n RouterModule,\n DragDropModule,\n TooltipModule,\n TranslateModule,\n DisablePriceFetchModule,\n ConfirmModalModule,\n SynchronizationStatusComponent,\n DeeplinkModule,\n StakingSwitchComponent,\n FlexLayoutModule,\n IntToMoneyPipeModule,\n WalletCardComponent,\n ],\n exports: [SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-with-sidebar-layout',\n template: `\n \n\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n display: flex;\n }\n `,\n ],\n})\nexport class WithSidebarLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WithSidebarLayoutComponent } from './with-sidebar-layout.component';\nimport { SidebarModule } from '../sidebar/sidebar.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [WithSidebarLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule, SidebarModule],\n exports: [WithSidebarLayoutComponent],\n})\nexport class WithSidebarLayoutModule {}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { filePathWalletValidator } from '@parts/utils/zano-validators';\nimport { ModalService } from '@parts/services/modal.service';\n\n@Component({\n selector: 'app-add-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n

\n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n
\n
\n
\n
\n `,\n})\nexport class AddWalletComponent {\n private translateService = inject(TranslateService);\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private modalService: ModalService,\n private backendService: BackendService,\n private ngZone: NgZone\n ) {}\n\n openWallet(): void {\n const caption = this.translateService.instant('MAIN.CHOOSE_PATH');\n const default_path = this.variablesService.settings.default_path;\n this.backendService.openFileDialog(caption, '*', default_path, async (file_status, file_data) => {\n if (!file_status) {\n if (file_data['error_code'] !== 'CANCELED') {\n this.modalService.prepareModal('error', file_data['error_code']);\n }\n return;\n }\n const positionLastSlash = file_data.path.lastIndexOf('/');\n const new_default_path = file_data.path.slice(0, positionLastSlash);\n const error = filePathWalletValidator(file_data.path);\n\n if (error) {\n const text = this.translateService.instant(error.errorText);\n this.modalService.prepareModal('error', text);\n return;\n }\n\n this.variablesService.settings.default_path = new_default_path;\n await this.ngZone.run(async () => {\n await this.router.navigate(['/open'], {\n queryParams: { path: file_data.path },\n });\n });\n });\n }\n\n openInBrowser(): void {\n this.backendService.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport BigNumber from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-assign-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ASSIGN_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n {{ 'ASSIGN_ALIAS.NAME.LABEL' | translate }}\n \n
\n \n
\n \n 6 &&\n assignForm.get('name').value.length <= 25\n \"\n >\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_WRONG' | translate }}\n
\n
25\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_LENGTH' | translate }}\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_EXISTS' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n \n {{ 'ASSIGN_ALIAS.COMMENT.LABEL' | translate }}\n \n \n \n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n

\n {{\n 'ASSIGN_ALIAS.COST'\n | translate\n : {\n value: alias.price | intToMoney,\n currency: variablesService.defaultCurrency\n }\n }}\n

\n\n \n {{ 'ASSIGN_ALIAS.BUTTON_ASSIGN' | translate }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class AssignAliasComponent implements OnInit, OnDestroy {\n wallet: Wallet;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.ASSIGN_ALIAS',\n },\n ];\n\n fb = inject(FormBuilder);\n\n assignForm = this.fb.group({\n name: this.fb.nonNullable.control('', [Validators.required, Validators.pattern(regExpAliasName)]),\n comment: this.fb.nonNullable.control('', [Validators.maxLength(this.variablesService.maxCommentLength)]),\n });\n\n alias = {\n name: '',\n fee: this.variablesService.default_fee,\n price: new BigNumber(0),\n reward: '0',\n rewardOriginal: '0',\n comment: '',\n exists: false,\n };\n\n canRegister = false;\n\n notEnoughMoney = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private intToMoney: IntToMoneyPipe\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n this.assignForm\n .get('name')\n .valueChanges.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: value => {\n this.canRegister = false;\n this.alias.exists = false;\n const newName = value.toLowerCase().replace('@', '');\n if (\n !(this.assignForm.controls['name'].errors && hasOwnProperty(this.assignForm.controls['name'].errors, 'pattern')) &&\n newName.length >= 6 &&\n newName.length <= 25\n ) {\n this.backend.getAliasInfoByName(newName, status => {\n this.ngZone.run(() => {\n this.alias.exists = status;\n });\n if (!status) {\n this.alias.price = new BigNumber(0);\n this.backend.getAliasCoast(newName, (statusPrice, dataPrice) => {\n this.ngZone.run(() => {\n if (statusPrice) {\n this.alias.price = BigNumber.sum(dataPrice['coast'], this.variablesService.default_fee_big);\n }\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = this.alias.price.isGreaterThan(unlocked_balance);\n this.alias.reward = this.intToMoney.transform(this.alias.price, false);\n this.alias.rewardOriginal = this.intToMoney.transform(dataPrice['coast'], false);\n this.canRegister = !this.notEnoughMoney;\n });\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n this.alias.name = newName;\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n assignAlias(): void {\n const alias = this.backend.getWalletAlias(this.wallet.address);\n if (hasOwnProperty(alias, 'name')) {\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.ONE_ALIAS');\n } else {\n this.alias.comment = this.assignForm.get('comment').value;\n this.backend.registerAlias(\n this.wallet.wallet_id,\n this.alias.name,\n this.wallet.address,\n this.alias.fee,\n this.alias.comment,\n this.alias.rewardOriginal,\n async status => {\n if (status) {\n this.wallet.wakeAlias = true;\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.REQUEST_ADD_REG');\n await this.ngZone.run(async () => {\n await this.router.navigate(['/wallet/']);\n });\n }\n }\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { paths, pathsChildrenAuth } from '../paths';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { FullLayoutComponent } from '../../layouts/full-layout/full-layout.component';\n\nconst routes: Routes = [\n {\n path: paths.auth,\n component: FullLayoutComponent,\n children: [\n {\n path: pathsChildrenAuth.noWallet,\n component: NoWalletComponent,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthRoutingModule } from './auth-routing.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\n\n@NgModule({\n declarations: [NoWalletComponent],\n imports: [CommonModule, AuthRoutingModule, TranslateModule, FlexLayoutModule, SynchronizationStatusComponent],\n})\nexport class AuthModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-login',\n template: `\n
\n
\n \n\n
\n
\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\n
\n
\n
\n
\n\n \n {{ 'LOGIN.BUTTON_NEXT' | translate }}\n \n\n \n {{ 'LOGIN.BUTTON_SKIP' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'LOGIN.FORM_ERRORS.INVALID_PASS' | translate }}\n
\n
\n
\n
\n \n\n \n \n
\n\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n fb = inject(FormBuilder);\n\n regForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmation: this.fb.nonNullable.control(''),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmation')],\n }\n );\n\n authForm = this.fb.group({\n password: this.fb.nonNullable.control(''),\n });\n\n type = 'reg';\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.type) {\n this.type = params.type;\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onSubmitCreatePass(): void {\n if (this.regForm.valid) {\n this.variablesService.appPass = this.regForm.get('password').value; // the pass what was written in input of login form by user\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n } else {\n console.log(data['error_code']);\n }\n });\n }\n }\n\n onSkipCreatePass(): void {\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n }\n\n dropSecureAppData(): void {\n this.backend.dropSecureAppData(() => {\n this.onSkipCreatePass();\n });\n this.closeAllWallets();\n this.variablesService.contacts = [];\n }\n\n onSubmitAuthPass(): void {\n if (this.authForm.valid) {\n this.variablesService.appPass = this.authForm.get('password').value;\n if (this.variablesService.dataIsLoaded) {\n this.backend.checkMasterPassword({ pass: this.variablesService.appPass }, status => {\n if (status) {\n this.variablesService.appLogin = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.router.navigate(['/'], {\n queryParams: { prevUrl: 'login' },\n });\n });\n } else {\n this.ngZone.run(() => {\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n } else {\n this.getData(this.variablesService.appPass);\n }\n }\n }\n\n getData(appPass): void {\n this.backend.getSecureAppData({ pass: appPass }, (status, data) => {\n if (!data.error_code) {\n this.setAuthPassError(null);\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.variablesService.appPass = appPass;\n const isEmptyObject = Object.keys(data).length === 0 && data.constructor === Object;\n\n if (this.variablesService.wallets.length > 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n return;\n }\n if (hasOwnProperty(data, 'contracts')) {\n if (Object.keys(data['contacts']).length !== 0) {\n data['contacts'].map(contact => {\n this.variablesService.contacts.push(contact);\n });\n }\n }\n if (hasOwnProperty(data, 'wallets')) {\n if (Object.keys(data['wallets']).length !== 0) {\n this.getWalletData(data['wallets']);\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n if (!hasOwnProperty(data, 'wallets') && !hasOwnProperty(data, 'contracts')) {\n if (data.length !== 0 && !isEmptyObject) {\n this.getWalletData(data);\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n }\n\n if (data.error_code === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n }\n\n getWalletData(walletData): void {\n let openWallets = 0;\n let runWallets = 0;\n walletData.forEach((wallet, wallet_index) => {\n this.backend.openWallet(wallet.path, wallet.pass, this.variablesService.count, true, (open_status, open_data, open_error) => {\n if (open_status || open_error === 'FILE_RESTORED') {\n openWallets++;\n this.ngZone.run(() => {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n wallet.name,\n wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n if (wallet.staking) {\n new_wallet.staking = true;\n this.backend.startPosMining(new_wallet.wallet_id);\n } else {\n new_wallet.staking = false;\n }\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n if (this.variablesService.wallets.length === 1) {\n this.router.navigate(['/wallet/']);\n }\n });\n this.backend.runWallet(open_data.wallet_id, run_status => {\n if (run_status) {\n runWallets++;\n } else {\n if (wallet_index === walletData.length - 1 && runWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n } else {\n if (wallet_index === walletData.length - 1 && openWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n });\n }\n\n closeAllWallets(): void {\n this.variablesService.wallets.forEach(({ wallet_id }) => this.closeWallet(wallet_id));\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n }\n\n closeWallet(wallet_id) {\n this.backend.closeWallet(wallet_id, () => {\n for (let i = this.variablesService.wallets.length - 1; i >= 0; i--) {\n this.variablesService.wallets.splice(i, 1);\n }\n });\n }\n\n private setAuthPassError(errors: ValidationErrors | null): void {\n this.authForm.controls['password'].setErrors(errors);\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { paths } from '../../paths';\n\n@Component({\n selector: 'app-no-wallet',\n template: `\n
\n
\n \n\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n

\n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class NoWalletComponent {\n paths = paths;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n openWallet(): void {\n this.backend.openFileDialog(\n this.translate.instant('MAIN.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n this.ngZone.run(() => {\n this.router\n .navigate(['/' + paths.open], {\n queryParams: { path: file_data.path },\n })\n .then();\n });\n } else {\n console.log(file_data['error_code']);\n }\n }\n );\n }\n\n openInBrowser(): void {\n this.backend.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-create-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
variablesService.maxWalletNameLength\" class=\"error\">\n {{ 'CREATE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\"\n [readonly]=\"createForm.controls.path.valid\"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\"\n class=\"error\"\n >\n {{ 'CREATE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n\n \n\n \n {{ 'CREATE_WALLET.BUTTON_SELECT' | translate }}\n \n\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class CreateWalletComponent {\n variablesService = inject(VariablesService);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.CREATE_WALLET',\n },\n ];\n\n walletsService = inject(WalletsService);\n\n fb = inject(NonNullableFormBuilder);\n\n createForm = this.fb.group(\n {\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.control(''),\n path: this.fb.control('', Validators.required),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n private router = inject(Router);\n\n private backend = inject(BackendService);\n\n private modalService = inject(ModalService);\n\n private ngZone = inject(NgZone);\n\n private translate = inject(TranslateService);\n\n get savedWalletName(): string {\n const path = this.createForm.get('path').value;\n return path.substr(path.lastIndexOf('/') + 1, path.length - 1);\n }\n\n createWallet(): void {\n const { path: selectedPath, password, name } = this.createForm.getRawValue();\n this.backend.generateWallet(selectedPath, password, async (generate_status, generate_data, errorCode) => {\n if (generate_status) {\n const { wallet_id } = generate_data;\n const { path, address, balance, unlocked_balance, mined_total, tracking_hey } = generate_data['wi'];\n const wallet = new Wallet(wallet_id, name, password, path, address, balance, unlocked_balance, mined_total, tracking_hey);\n wallet.alias = this.backend.getWalletAlias(address);\n wallet.total_history_item = 0;\n wallet.pages = new Array(1).fill(1);\n wallet.totalPages = 1;\n wallet.currentPage = 1;\n await this.backend.runWallet(wallet_id, async (run_status, run_data) => {\n if (run_status) {\n await this.ngZone.run(async () => {\n this.walletsService.addWallet(wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.variablesService.setCurrentWallet(wallet_id);\n await this.router.navigate(['/seed-phrase'], { queryParams: { wallet_id } });\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n } else {\n const errorTranslationKey =\n errorCode === 'ALREADY_EXISTS' ? 'CREATE_WALLET.ERROR_CANNOT_SAVE_TOP' : 'CREATE_WALLET.ERROR_CANNOT_SAVE_SYSTEM';\n this.modalService.prepareModal('error', errorTranslationKey);\n }\n });\n }\n\n selectWalletLocation(): void {\n const caption = this.translate.instant('CREATE_WALLET.TITLE_SAVE');\n const fileMask = '*';\n const { default_path } = this.variablesService.settings;\n this.backend.saveFileDialog(caption, fileMask, default_path, (file_status, file_data) => {\n if (file_status) {\n this.ngZone.run(() => {\n const { path } = file_data;\n this.createForm.get('path').patchValue(path);\n this.variablesService.settings.default_path = path.substr(0, path.lastIndexOf('/'));\n });\n }\n });\n }\n}\n","import { delay, takeUntil } from 'rxjs/operators';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-deeplink',\n template: `\n \n \n\n \n \n `,\n styles: [],\n})\nexport class DeeplinkComponent implements OnInit, OnDestroy {\n deeplink$ = new BehaviorSubject(null);\n\n private destroy$ = new Subject();\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.variablesService.deeplink$.pipe(delay(200), takeUntil(this.destroy$)).subscribe({\n next: data => {\n this.deeplink$.next(data);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalModule } from './modals/deeplink-modal/deeplink-modal.module';\nimport { DeeplinkComponent } from './deeplink.component';\nimport { SyncModalModule } from './modals/sync-modal/sync-modal.module';\n\n@NgModule({\n declarations: [DeeplinkComponent],\n imports: [CommonModule, DeeplinkModalModule, SyncModalModule],\n exports: [DeeplinkComponent, DeeplinkModalModule, SyncModalModule],\n})\nexport class DeeplinkModule {}\n","import { Component, HostBinding, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DeeplinkParams, PushOffer, Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-deeplink-modal',\n template: `\n
\n 1 && !secondStep\">\n
\n
\n \n \n \n {{ item.name }}\n \n \n {{ item.name }}\n \n \n
\n
\n\n
\n \n \n
\n
\n\n \n

Creating a marketplace offer

\n
\n
\n
\n
\n {{ 'Offer title' | translate }}\n
\n
{{ actionData.title }}
\n
\n\n
\n\n
\n
\n {{ 'Description' | translate }}\n
\n
{{ actionData.description }}
\n
\n\n
\n\n
\n
\n {{ 'Category' | translate }}\n
\n
{{ actionData.category }}
\n
\n\n
\n\n
\n
\n {{ 'Price' | translate }}\n
\n
\n {{ actionData.price }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n\n
\n\n
\n
\n {{ 'Preview url' | translate }}\n
\n
{{ actionData.url || actionData.img_url }}
\n
\n\n
\n\n
\n
\n {{ 'Contacts' | translate }}\n
\n
{{ actionData.contact }}
\n
\n\n
\n\n
\n
\n {{ 'Comments' | translate }}\n
\n
\n {{ actionData.comment || actionData.comments }}\n
\n
\n\n
\n\n
\n
\n {{ 'Mixins' | translate }}\n
\n
{{ actionData.mixins || defaultMixin }}
\n
\n\n
\n\n
\n
\n {{ 'Transaction fee' | translate }}\n
\n
\n {{ actionData.price * (actionData.fee || this.variablesService.default_fee) }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n\n \n

Operation successful

\n\n
\n
\n
\n
\n {{ 'Operation hash' | translate }}\n
\n \n {{ marketplaceConfirmHash }}\n \n
\n
\n
\n
\n\n
\n \n
\n \n\n \n

Your wallets have not loaded yet. Try this action a little later.

\n\n
\n \n
\n
\n \n `,\n styles: [],\n})\nexport class DeeplinkModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n secondStep = false;\n\n walletToPayId = 0;\n\n nextStepInterval;\n\n marketplaceModalShow = true;\n\n copyAnimation = false;\n\n marketplaceConfirmHash: any = null;\n\n actionData: DeeplinkParams = {};\n\n defaultMixin = MIXIN;\n\n walletsToPay: Array = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private _router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.walletsToPay = this.variablesService.wallets.filter(wallet => !wallet.is_watch_only || !wallet.is_auditable);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n\n this.variablesService.deeplink$.pipe(takeUntil(this.destroy$)).subscribe({\n next: deeplink => {\n this.actionData = {};\n\n if (deeplink) {\n if (this.walletsToPay.length === 0) {\n this.canselAction();\n return;\n }\n this.actionData = this.parseDeeplink(deeplink);\n if (this.walletsToPay.length === 1) {\n this.walletToPayId = this.walletsToPay[0].wallet_id;\n const { daemon_state, sync_started } = this.variablesService;\n\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n } else {\n this.nextStepInterval = setInterval(() => {\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n clearInterval(this.nextStepInterval);\n }\n }, 1500);\n }\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.variablesService.deeplink$.next(null);\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n parseDeeplink(deeplink): DeeplinkParams {\n const quotesRex = new RegExp(/'|\"|”|%E2%80%9D|%22/g);\n const spaceSymbolRex = new RegExp(/%20/g);\n const newObj = {};\n\n const newString = deeplink.substr(5); // delete zano:;\n newString.split('&').forEach(str => {\n const [key, value] = str.split('=');\n newObj[key] = value.replace(quotesRex, '').replace(spaceSymbolRex, ' ').trim();\n });\n return newObj;\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n this.actionData = {};\n this.secondStep = false;\n }\n\n marketplaceSend(): void {\n const offerObject: PushOffer = {\n wallet_id: this.walletToPayId,\n od: {\n ap: this.actionData.price || '',\n at: '1',\n cat: this.actionData.category || '',\n cnt: this.actionData.contact || '',\n com: this.actionData.comment || this.actionData.comments || '',\n do: this.actionData.description || '',\n et: 10,\n fee: new BigNumber('' + (+this.actionData.fee || +this.variablesService.default_fee) * 1000000000000),\n lci: '',\n lco: 'World Wide',\n ot: 1,\n pt: 'Credit cards, BTC, ZANO, ETH',\n t: this.actionData.title || '',\n url: this.actionData.url || this.actionData.img_url || '',\n },\n };\n this.backend.push_offer(offerObject, (status, data) => {\n this.ngZone.run(() => {\n if (data.success) {\n this.marketplaceModalShow = false;\n this.marketplaceConfirmHash = data.tx_hash;\n } else {\n this.canselAction();\n }\n });\n });\n }\n\n copyHash(): void {\n this.backend.setClipboard(this.marketplaceConfirmHash);\n this.copyAnimation = true;\n setTimeout(() => (this.copyAnimation = false), 2000);\n }\n\n nextStep(): void {\n if (this.actionData.action === 'send') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/send']).then();\n this.secondStep = false;\n } else if (this.actionData.action === 'escrow') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/contracts/purchase']).then();\n this.secondStep = false;\n } else {\n this.secondStep = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalComponent } from './deeplink-modal.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [DeeplinkModalComponent],\n imports: [CommonModule, NgSelectModule, FormsModule, FlexLayoutModule, TranslateModule],\n exports: [DeeplinkModalComponent],\n})\nexport class DeeplinkModalModule {}\n","import { Component, HostBinding, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-sync-modal',\n template: `\n
\n
\n

This action is not available during synchronization...

\n \n
\n
\n `,\n styles: [],\n})\nexport class SyncModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n constructor(private renderer: Renderer2, public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SyncModalComponent } from './sync-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [SyncModalComponent],\n imports: [CommonModule, FlexLayoutModule],\n exports: [SyncModalComponent],\n})\nexport class SyncModalModule {}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-edit-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.EDIT_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n \n
0 && notEnoughMoney\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n {{\n 'EDIT_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n variablesService.maxCommentLength\"\n class=\"primary big w-100\"\n type=\"button\"\n >\n {{ 'EDIT_ALIAS.BUTTON_EDIT' | translate }}\n \n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class EditAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.EDIT_ALIAS',\n },\n ];\n\n oldAliasComment: string;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n };\n this.oldAliasComment = alias.comment;\n const balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n updateAlias(): void {\n if (\n this.requestProcessing ||\n this.notEnoughMoney ||\n this.oldAliasComment === this.alias.comment ||\n this.alias.comment.length > this.variablesService.maxCommentLength\n ) {\n return;\n }\n this.requestProcessing = true;\n this.backend.updateAlias(this.wallet.wallet_id, this.alias, this.variablesService.default_fee, status => {\n if (status) {\n this.modalService.prepareModal('success', '');\n this.wallet.alias['comment'] = this.alias.comment;\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Contact } from '@api/models/contact.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Papa } from 'ngx-papaparse';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-export-import',\n template: `\n
\n
\n
\n \n

{{ 'CONTACTS.IMPORT_EXPORT' | translate }}

\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n\n .head {\n justify-content: flex-end;\n }\n\n .contacts-title {\n font-size: 1.7rem;\n margin-bottom: 1rem;\n }\n\n .btn-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0 -0.5rem;\n padding: 1.5rem 0;\n }\n\n .btn-wrapper button {\n flex: 1 0 auto;\n margin: 0 0.5rem;\n }\n `,\n ],\n})\nexport class ExportImportComponent {\n constructor(\n private variablesService: VariablesService,\n private backend: BackendService,\n private modalService: ModalService,\n private papa: Papa,\n private translate: TranslateService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n import(): void {\n this.backend.openFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n if (this.isValid(file_data.path)) {\n this.backend.loadFile(file_data.path, (status, data) => {\n if (!status) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT_EMPTY');\n } else {\n const options = {\n header: true,\n };\n const elements = this.papa.parse(data, options);\n const isArray = Array.isArray(elements.data);\n if (isArray && elements.data.length !== 0 && elements.errors.length === 0) {\n if (this.variablesService.contacts.length === 0) {\n elements.data.forEach(element => {\n this.variablesService.contacts.push(element);\n });\n } else {\n elements.data.forEach(element => {\n const indexName = this.variablesService.contacts.findIndex(contact => contact.name === element.name);\n const indexAddress = this.variablesService.contacts.findIndex(contact => contact.address === element.address);\n if (indexAddress === -1 && indexName === -1) {\n this.variablesService.contacts.push(element);\n }\n if (indexName !== -1 && indexAddress === -1) {\n this.variablesService.contacts.push({\n name: `${(element.name as string) || '---'} ${this.translate.instant('CONTACTS.COPY') as string}`,\n address: element.address,\n notes: element.notes,\n });\n }\n });\n }\n this.backend.getContactAlias();\n this.ngZone.run(() => {\n this.router.navigate(['/contacts']);\n });\n }\n if (elements.errors.length > 0) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT');\n console.log(elements.errors);\n }\n }\n });\n } else {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_TYPE_FILE');\n }\n }\n });\n }\n\n export(): void {\n const contacts: Array = [];\n this.variablesService.contacts.forEach(contact => {\n delete contact.alias;\n contacts.push(contact);\n });\n\n this.backend.saveFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (this.variablesService.contacts.length === 0 && !(file_data.error_code === 'CANCELED')) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EMPTY_LIST');\n }\n const path = this.isValid(file_data.path) ? file_data.path : `${(file_data.path as string) || 'base-name'}.csv`;\n if (file_status && this.isValid(path) && this.variablesService.contacts.length > 0) {\n this.backend.storeFile(path, this.papa.unparse(contacts));\n }\n if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');\n }\n });\n }\n\n isValid(file): boolean {\n return file.endsWith('.csv');\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { notFileZanoWallet, wrongPassword } from '@parts/utils/zano-errors';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-open-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.OPEN_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ openWalletForm.controls.password.errors['wrongPassword'].errorText }}\n
\n
\n
\n\n \n \n
\n \n \n `,\n})\nexport class OpenWalletComponent implements OnInit, OnDestroy {\n fb = inject(NonNullableFormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.OPEN_WALLET',\n },\n ];\n\n openWalletForm = this.fb.group({\n name: this.fb.control('', [\n Validators.required,\n Validators.maxLength(this.variablesService.maxWalletNameLength),\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n password: this.fb.control('', [Validators.pattern(regExpPassword)]),\n filePath: this.fb.control('', Validators.required),\n });\n submitted = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (!params.path) {\n return;\n }\n\n this.openWalletForm.controls.filePath.patchValue(params.path);\n\n let filename = '';\n if (params.path.lastIndexOf('.') === -1) {\n filename = params.path.substr(params.path.lastIndexOf('/') + 1);\n } else {\n filename = params.path.substr(params.path.lastIndexOf('/') + 1, params.path.lastIndexOf('.') - 1 - params.path.lastIndexOf('/'));\n }\n if (filename.length > 25) {\n filename = filename.slice(0, 25);\n }\n this.openWalletForm.controls.name.patchValue(filename);\n this.openWalletForm.controls.name.markAsTouched();\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n openWallet(): void {\n this.submitted = true;\n if (this.openWalletForm.valid) {\n const { filePath, password, name } = this.openWalletForm.getRawValue();\n const { count: txs_to_return } = this.variablesService;\n this.backend.openWallet(\n filePath,\n password,\n txs_to_return,\n false,\n (openStatus, openData, errorCode: 'WRONG_PASSWORD' | 'FILE_NOT_FOUND' | 'INVALID_FILE' | 'ALREADY_EXISTS' | string) => {\n console.log('openData', openData);\n if (errorCode === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.openWalletForm.controls.password.setErrors({\n wrongPassword,\n });\n });\n return;\n }\n\n let errorText = errorCode;\n\n if (errorCode === 'FILE_NOT_FOUND') {\n errorText = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n errorText += ':
' + filePath;\n errorText += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n }\n\n if (errorCode === 'INVALID_FILE') {\n errorText = this.translate.instant(notFileZanoWallet.errorText);\n }\n\n if (['INVALID_FILE', 'FILE_NOT_FOUND'].includes(errorCode)) {\n this.modalService.prepareModal('error', errorText);\n return;\n }\n\n if (openStatus || errorCode === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === openData['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(openData.wallet_id, () => {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n });\n } else {\n const new_wallet = new Wallet(\n openData.wallet_id,\n name,\n password,\n openData['wi'].path,\n openData['wi'].address,\n openData['wi'].balance,\n openData['wi'].unlocked_balance,\n openData['wi'].mined_total,\n openData['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.currentPage = 1;\n new_wallet.open_from_exist = true;\n new_wallet.exclude_mining_txs = false;\n new_wallet.is_auditable = openData['wi'].is_auditable;\n new_wallet.is_watch_only = openData['wi'].is_watch_only;\n if (openData.recent_history && openData.recent_history.history) {\n new_wallet.total_history_item = openData.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(openData.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(openData.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(openData.wallet_id, (run_status, run_data) => {\n if (run_status) {\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(openData.wallet_id);\n this.router.navigate(['/wallet/']);\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n }\n }\n }\n );\n }\n }\n}\n","import { RouterModule, Routes } from '@angular/router';\nimport { paths } from './paths';\nimport { WithSidebarLayoutComponent } from '../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { WalletDetailsComponent } from './wallet-details/wallet-details.component';\nimport { FullLayoutComponent } from '../layouts/full-layout/full-layout.component';\nimport { LoginComponent } from './auth/login/login.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeeplinkComponent } from './deeplink/deeplink.component';\nimport { NgModule } from '@angular/core';\nimport { ExportImportComponent } from './export-import/export-import.component';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\n\nconst routes: Routes = [\n {\n path: paths.addWallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AddWalletComponent,\n },\n ],\n },\n {\n path: paths.details,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletDetailsComponent,\n },\n ],\n },\n {\n path: paths.login,\n component: FullLayoutComponent,\n children: [\n {\n path: '',\n component: LoginComponent,\n },\n ],\n },\n {\n path: paths.create,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: CreateWalletComponent,\n },\n ],\n },\n {\n path: paths.open,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: OpenWalletComponent,\n },\n ],\n },\n {\n path: paths.restore,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: RestoreWalletComponent,\n },\n ],\n },\n {\n path: paths.seedPhrase,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SeedPhraseComponent,\n },\n ],\n },\n {\n path: paths.assignAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AssignAliasComponent,\n },\n ],\n },\n {\n path: paths.editAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: EditAliasComponent,\n },\n ],\n },\n {\n path: paths.transferAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: TransferAliasComponent,\n },\n ],\n },\n {\n path: paths.settings,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SettingsComponent,\n },\n ],\n },\n {\n path: paths.import,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: ExportImportComponent,\n },\n ],\n },\n {\n path: paths.deeplink,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: DeeplinkComponent,\n },\n ],\n },\n {\n path: '',\n redirectTo: paths.addWallet,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthModule } from './auth/auth.module';\nimport { WalletModule } from './wallet/wallet.module';\nimport { PagesRoutingModule } from './pages-routing.module';\nimport { LoginComponent } from './auth/login/login.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { ModalContainerComponent } from '@parts/modals/modal-container/modal-container.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { DefaultImgModule, DisablePriceFetchModule } from '@parts/directives';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from './deeplink/deeplink.module';\nimport { FullLayoutModule } from '../layouts/full-layout/full-layout.module';\nimport { WithSidebarLayoutModule } from '../layouts/with-sidebar-layout/with-sidebar-layout.module';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\nimport {\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule,\n ShortStringPipeModule,\n} from '@parts/pipes';\nimport { InputValidateModule } from '@parts/directives/input-validate';\nimport { InputDisableSelectionModule } from '@parts/directives/input-disable-selection';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { LoaderComponent } from '@parts/components/loader.component';\nimport { AutoFocusDirective } from '@parts/directives/autofocus.directive';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\n\n@NgModule({\n declarations: [\n LoginComponent,\n SettingsComponent,\n AddWalletComponent,\n CreateWalletComponent,\n OpenWalletComponent,\n RestoreWalletComponent,\n SeedPhraseComponent,\n AssignAliasComponent,\n EditAliasComponent,\n TransferAliasComponent,\n ModalContainerComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n PagesRoutingModule,\n AuthModule,\n WalletModule,\n NgSelectModule,\n TranslateModule.forChild(),\n FlexLayoutModule,\n DisablePriceFetchModule,\n TooltipModule,\n ConfirmModalModule,\n DeeplinkModule,\n FullLayoutModule,\n WithSidebarLayoutModule,\n OverlayModule,\n DefaultImgModule,\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule,\n ShortStringPipeModule,\n InputValidateModule,\n InputDisableSelectionModule,\n CheckboxComponent,\n CopyButtonComponent,\n StakingSwitchComponent,\n SwitchComponent,\n SynchronizationStatusComponent,\n LoaderComponent,\n AutoFocusDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n ],\n})\nexport class PagesModule {}\n","export enum paths {\n auth = 'auth',\n addWallet = 'add-wallet',\n login = 'login',\n wallet = 'wallet',\n create = 'create',\n open = 'open',\n restore = 'restore',\n seedPhrase = 'seed-phrase',\n details = 'details',\n assignAlias = 'assign-alias',\n editAlias = 'edit-alias',\n transferAlias = 'transfer-alias',\n settings = 'settings',\n import = 'import',\n deeplink = 'deeplink',\n}\n\nexport enum pathsChildrenAuth {\n noWallet = 'no-wallet',\n}\n\nexport enum pathsChildrenWallet {\n assets = 'assets',\n send = 'send',\n receive = 'receive',\n history = 'history',\n contracts = 'contracts',\n staking = 'staking',\n}\n\nexport enum pathsChildrenContracts {\n purchase = 'purchase',\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { pairwise, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-restore-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.CONFIRM_WALET_PASSWORD_PLACEHOLDER' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_REQUIRED' | translate }}\n
\n
\n \n {{ 'Seed phrase not valid' | translate }}\n
\n \n
\n \n \n \n {{ 'RESTORE_WALLET.FORM_ERRORS.INCORRECT_PASSWORD' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.OK' | translate }}\n
\n \n\n \n \n {{ 'RESTORE_WALLET.BUTTON_SELECT' | translate }}\n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class RestoreWalletComponent implements OnInit, OnDestroy {\n fb = inject(FormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.RESTORE_WALLET',\n },\n ];\n\n restoreForm = this.fb.group(\n {\n name: this.fb.nonNullable.control('', [\n Validators.required,\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n key: this.fb.nonNullable.control('', Validators.required),\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n seedPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n wallet = {\n id: '',\n };\n\n walletSaved = false;\n\n walletSavedName = '';\n\n progressWidth = '9rem';\n\n seedPhraseInfo = null;\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.checkValidSeedPhrasePassword();\n this.changeDetectionSeedPhrasePassword();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeDetectionSeedPhrasePassword(): void {\n this.restoreForm.controls.seedPassword.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n this.restoreForm.controls.key.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n }\n\n checkValidSeedPhrasePassword(): void {\n const seed_password = this.restoreForm.controls.seedPassword.value;\n const seed_phrase = this.restoreForm.controls.key.value;\n this.backend.getSeedPhraseInfo({ seed_phrase, seed_password }, (status, data) => {\n this.ngZone.run(() => {\n this.seedPhraseInfo = data;\n });\n });\n }\n\n createWallet(): void {\n this.ngZone.run(() => {\n this.progressWidth = '100%';\n this.runWallet();\n });\n }\n\n saveWallet(): void {\n if (this.restoreForm.valid && this.restoreForm.get('name').value.length <= this.variablesService.maxWalletNameLength) {\n this.backend.isValidRestoreWalletText(\n {\n seed_phrase: this.restoreForm.get('key').value,\n seed_password: this.restoreForm.get('seedPassword').value,\n },\n (valid_status, valid_data) => {\n if (valid_data !== 'TRUE') {\n this.ngZone.run(() => {\n this.restoreForm.get('key').setErrors({ key_not_valid: true });\n });\n } else {\n this.backend.saveFileDialog(\n this.translate.instant('RESTORE_WALLET.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (save_status, save_data) => {\n if (save_status) {\n this.variablesService.settings.default_path = save_data.path.substr(0, save_data.path.lastIndexOf('/'));\n this.walletSavedName = save_data.path.substr(save_data.path.lastIndexOf('/') + 1, save_data.path.length - 1);\n this.backend.restoreWallet(\n save_data.path,\n this.restoreForm.get('password').value,\n this.restoreForm.get('key').value,\n this.restoreForm.get('seedPassword').value,\n (restore_status, restore_data) => {\n if (restore_status) {\n this.wallet.id = restore_data.wallet_id;\n this.variablesService.opening_wallet = new Wallet(\n restore_data.wallet_id,\n this.restoreForm.get('name').value,\n this.restoreForm.get('password').value,\n restore_data['wi'].path,\n restore_data['wi'].address,\n restore_data['wi'].balance,\n restore_data['wi'].unlocked_balance,\n restore_data['wi'].mined_total,\n restore_data['wi'].tracking_hey\n );\n this.variablesService.opening_wallet.is_auditable = restore_data['wi'].is_auditable;\n this.variablesService.opening_wallet.is_watch_only = restore_data['wi'].is_watch_only;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.alias = this.backend.getWalletAlias(\n this.variablesService.opening_wallet.address\n );\n this.variablesService.opening_wallet.pages = new Array(1).fill(1);\n this.variablesService.opening_wallet.totalPages = 1;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.total_history_item = 0;\n this.variablesService.opening_wallet.restore = true;\n if (restore_data.recent_history && restore_data.recent_history.history) {\n this.variablesService.opening_wallet.totalPages = Math.ceil(\n restore_data.recent_history.total_history_items / this.variablesService.count\n );\n this.variablesService.opening_wallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.opening_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variablesService.opening_wallet.pages = new Array(this.variablesService.opening_wallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n this.variablesService.opening_wallet.prepareHistory(restore_data.recent_history.history);\n }\n this.ngZone.run(() => {\n this.walletSaved = true;\n this.progressWidth = '50%';\n });\n } else {\n this.modalService.prepareModal('error', 'RESTORE_WALLET.NOT_CORRECT_FILE_OR_PASSWORD');\n }\n }\n );\n }\n }\n );\n }\n }\n );\n }\n }\n\n runWallet(): void {\n // add flag when wallet was restored form seed\n this.variablesService.after_sync_request[this.wallet.id] = true;\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === this.variablesService.opening_wallet.address) {\n exists = true;\n }\n });\n if (!exists) {\n this.backend.runWallet(this.wallet.id, (run_status, run_data) => {\n if (run_status) {\n this.walletsService.addWallet(this.variablesService.opening_wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(this.wallet.id);\n this.router.navigate(['/wallet/']);\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n } else {\n this.variablesService.opening_wallet = null;\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(this.wallet.id, () => {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n });\n }\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-seed-phrase',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n \n\n \n
\n
\n \n \n
\n\n
\n \n 0\"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n
0\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n
\n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n
\n \n
\n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n
\n
\n
\n
\n \n
\n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n
\n
\n
\n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class SeedPhraseComponent implements OnInit, OnDestroy {\n seedPhrase = '';\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.SAVE_PHRASE',\n },\n ];\n\n showSeed = false;\n\n wallet_id: number;\n\n wallet!: Wallet;\n\n seedPhraseCopied = false;\n\n progressWidth = '66%';\n\n fb = inject(FormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.nonNullable.control('', [ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.nonNullable.control(''),\n });\n\n seedPhraseForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.showSeed = false;\n this.getWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n showSeedPhrase(): void {\n this.showSeed = true;\n this.progressWidth = '100%';\n }\n\n onSubmitSeed(): void {\n if (this.seedPhraseForm.valid) {\n this.showSeedPhrase();\n const wallet_id = this.wallet_id;\n const seed_password = this.seedPhraseForm.controls.password.value;\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n }\n\n private setWalletInfoNamePath(): void {\n this.detailsForm.get('name').setValue(this.wallet.name);\n this.detailsForm.get('path').setValue(this.wallet.path);\n }\n\n private getWallet(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.wallet_id) {\n this.wallet_id = +params.wallet_id;\n this.wallet = this.walletsService.getWalletById(this.wallet_id);\n if (this.wallet) {\n this.setWalletInfoNamePath();\n }\n }\n },\n });\n }\n}\n","import { Component, inject, NgZone, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { scaleItems } from '@parts/data/scale-items';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\n\n@Component({\n selector: 'app-settings',\n template: `
\n
\n
\n \n

{{ 'SETTINGS.TITLE' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n {{ item.language | translate }}\n \n \n {{ item.language | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.translationKey | translate }}\n \n \n {{ item.translationKey | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.name | translate }}\n \n \n {{ item.name | translate }}\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n

\n {{ 'SETTINGS.MASTER_PASSWORD.TITLE' | translate }}\n

\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"password\"\n id=\"old-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_OLD' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.PASS_NOT_MATCH' | translate }}\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"new_confirmation\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n\n
\n \n {{ 'SETTINGS.SETTINGS_SAVED' | translate }}\n
\n \n

Build version: {{ currentBuild }}

\n
\n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class SettingsComponent implements OnInit {\n ifSaved = false;\n\n scale: string;\n\n appUseTor: boolean;\n\n fb = inject(FormBuilder);\n\n changeForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.compose([Validators.pattern(regExpPassword)])),\n new_password: this.fb.nonNullable.control('', Validators.compose([Validators.required, Validators.pattern(regExpPassword)])),\n new_confirmation: this.fb.nonNullable.control(''),\n appPass: this.fb.nonNullable.control(this.variablesService.appPass ?? ''),\n },\n {\n validators: [\n ZanoValidators.formMatch('new_password', 'new_confirmation'),\n ZanoValidators.formMatch('password', 'appPass', 'pass_mismatch'),\n ],\n }\n );\n\n public currentNotificationsState;\n\n languagesOptions = [\n {\n name: 'en',\n language: 'SETTINGS.LANGUAGE.EN',\n },\n {\n name: 'fr',\n language: 'SETTINGS.LANGUAGE.FR',\n },\n {\n name: 'de',\n language: 'SETTINGS.LANGUAGE.DE',\n },\n {\n name: 'id',\n language: 'SETTINGS.LANGUAGE.ID',\n },\n {\n name: 'it',\n language: 'SETTINGS.LANGUAGE.IT',\n },\n {\n name: 'pt',\n language: 'SETTINGS.LANGUAGE.PT',\n },\n ];\n\n appLockOptions = [\n {\n time: 5,\n translationKey: 'SETTINGS.APP_LOCK.TIME1',\n },\n {\n time: 15,\n translationKey: 'SETTINGS.APP_LOCK.TIME2',\n },\n {\n time: 60,\n translationKey: 'SETTINGS.APP_LOCK.TIME3',\n },\n {\n time: 0,\n translationKey: 'SETTINGS.APP_LOCK.TIME4',\n },\n ];\n\n appScaleOptions = scaleItems;\n\n appLogOptions = [\n {\n id: -1,\n },\n {\n id: 0,\n },\n {\n id: 1,\n },\n {\n id: 2,\n },\n {\n id: 3,\n },\n {\n id: 4,\n },\n ];\n\n currentBuild = '';\n\n appPass: any;\n\n constructor(\n public translate: TranslateService,\n public variablesService: VariablesService,\n private renderer: Renderer2,\n private backend: BackendService,\n private ngZone: NgZone\n ) {\n this.scale = this.variablesService.settings.scale;\n this.appUseTor = this.variablesService.settings.appUseTor;\n }\n\n ngOnInit(): void {\n this.backend.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n this.currentBuild = version;\n this.variablesService.testnet = false;\n if (type === 'testnet') {\n this.currentBuild += ' TESTNET';\n this.variablesService.testnet = true;\n }\n this.variablesService.networkType = type;\n } else {\n this.currentBuild = 'There was an error getting the build version';\n }\n });\n });\n this.backend.getIsDisabledNotifications(res => {\n this.currentNotificationsState = res;\n });\n }\n\n setScale(): void {\n this.scale = this.variablesService.settings.scale;\n this.renderer.setStyle(document.documentElement, 'font-size', this.scale);\n this.backend.storeAppData();\n }\n\n onSubmitChangePass(): void {\n if (this.changeForm.valid) {\n this.variablesService.appPass = this.changeForm.get('new_password').value;\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.onSave();\n });\n } else {\n console.log(data['error_code']);\n }\n });\n\n this.changeForm.reset();\n }\n }\n\n toggleNotifications(): void {\n if (!this.currentNotificationsState) {\n this.backend.setIsDisabledNotifications('true');\n this.currentNotificationsState = true;\n } else {\n this.backend.setIsDisabledNotifications('false');\n this.currentNotificationsState = false;\n }\n }\n\n toggleUseTor(): void {\n this.appUseTor = !this.appUseTor;\n this.variablesService.settings.appUseTor = this.appUseTor;\n this.backend.setEnableTor(this.appUseTor);\n this.backend.storeAppData();\n }\n\n onSave(): void {\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n onLockChange(): void {\n this.variablesService.restartCountdown();\n }\n\n onLogChange(): void {\n this.backend.setLogLevel(this.variablesService.settings.appLog);\n this.backend.storeAppData();\n }\n\n onLanguageChange(): void {\n this.translate.use(this.variablesService.settings.language);\n this.backend.storeAppData();\n }\n}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport BigNumber from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-transfer-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.TRANSFER_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n 0 &&\n (transferAddressAlias || !transferAddressValid || (transferAddressValid && !permissionSend) || notEnoughMoney)\n \"\n class=\"form__field--input\"\n id=\"alias-transfer\"\n name=\"alias-transfer\"\n placeholder=\"{{ 'TRANSFER_ALIAS.ADDRESS.PLACEHOLDER' | translate }}\"\n type=\"text\"\n />\n 0 &&\n (transferAddressAlias || !transferAddressValid || (transferAddressValid && !permissionSend) || notEnoughMoney)\n \"\n class=\"error\"\n >\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.WRONG_ADDRESS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.ALIAS_EXISTS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n {{\n 'TRANSFER_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n \n {{ 'TRANSFER_ALIAS.BUTTON_TRANSFER' | translate }}\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class TransferAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.TRANSFER_ALIAS',\n },\n ];\n\n transferAddress = '';\n\n transferAddressValid: boolean;\n\n transferAddressAlias: boolean;\n\n permissionSend: boolean;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n tracking_key: alias.tracking_key,\n };\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = unlocked_balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n changeAddress(): void {\n this.backend.validateAddress(this.transferAddress, status => {\n this.transferAddressValid = status;\n if (status) {\n this.backend.getPoolInfo((statusPool, dataPool) => {\n if (hasOwnProperty(dataPool, 'aliases_que') && dataPool.aliases_que.length) {\n this.setStatus(!dataPool.aliases_que.some(el => el.address === this.transferAddress));\n } else {\n this.setStatus(status);\n }\n });\n } else {\n this.setStatus(false);\n }\n });\n }\n\n setStatus(statusSet): void {\n this.permissionSend = statusSet;\n if (statusSet) {\n this.backend.getAliasByAddress(this.transferAddress, status => {\n this.ngZone.run(() => {\n if (status) {\n this.transferAddressAlias = true;\n this.permissionSend = false;\n } else {\n this.transferAddressAlias = false;\n }\n });\n });\n } else {\n this.ngZone.run(() => {\n this.transferAddressAlias = false;\n });\n }\n }\n\n transferAlias(): void {\n if (this.requestProcessing || !this.permissionSend || !this.transferAddressValid || this.notEnoughMoney) {\n return;\n }\n this.requestProcessing = true;\n const newAlias = {\n name: this.alias.name,\n address: this.transferAddress,\n comment: this.alias.comment,\n tracking_key: this.alias.tracking_key,\n };\n this.backend.updateAlias(this.wallet.wallet_id, newAlias, this.variablesService.default_fee, (status, data) => {\n if (status && hasOwnProperty(data, 'success') && data.success) {\n this.modalService.prepareModal('info', 'TRANSFER_ALIAS.REQUEST_SEND_REG');\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-wallet-details',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.WALLET_DETAILS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n
\n \n

Saved!

\n
\n
\n \n \n
\n \n\n \n \n \n
\n \n \n
\n\n
\n \n 0\"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n
0\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n
\n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n
\n \n
\n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n
\n
\n
\n \n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n
\n
\n \n
\n
\n \n \n `,\n})\nexport class WalletDetailsComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.WALLET_DETAILS',\n },\n ];\n\n seedPhrase = '';\n\n showSeed = false;\n\n seedPhraseCopied = false;\n\n ifSaved = false;\n\n fb = inject(NonNullableFormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.control(''),\n });\n\n passwordSeedPhraseForm = this.fb.group(\n {\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n constructor(public variablesService: VariablesService, private router: Router, private backend: BackendService, private ngZone: NgZone) {\n const { currentWallet } = this.variablesService;\n const { name, path } = currentWallet;\n this.detailsForm.patchValue(\n {\n name,\n path,\n },\n {\n emitEvent: false,\n }\n );\n }\n\n beforeSubmitPasswordSeedPhrase(): void {\n if (this.passwordSeedPhraseForm.invalid) {\n this.passwordSeedPhraseForm.updateValueAndValidity();\n this.passwordSeedPhraseForm.markAllAsTouched();\n return;\n }\n\n this.submitPasswordSeedPhrase();\n }\n\n submitPasswordSeedPhrase(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const { password: seed_password } = this.passwordSeedPhraseForm.getRawValue();\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.showSeed = true;\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n\n beforeSubmitDetails(): void {\n if (this.detailsForm.invalid) {\n this.detailsForm.updateValueAndValidity();\n this.detailsForm.markAllAsTouched();\n return;\n }\n\n this.submitDetails();\n }\n\n submitDetails(): void {\n const getRawValue = this.detailsForm.getRawValue();\n const { name } = getRawValue;\n this.variablesService.currentWallet.name = name;\n this.detailsForm.reset(getRawValue);\n this.refreshDetailsFormValidators();\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n private refreshDetailsFormValidators(): void {\n const walletNamesForComparisons = this.variablesService.walletNamesForComparisons;\n const validatorsForName = [Validators.required, ZanoValidators.duplicate(walletNamesForComparisons)];\n this.detailsForm.controls.name.clearValidators();\n this.detailsForm.controls.name.setValidators(validatorsForName);\n this.detailsForm.controls.name.updateValueAndValidity();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Subject } from 'rxjs';\nimport { Asset, ParamsRemoveCustomAssetId } from '@api/models/assets.model';\nimport { PaginatePipeArgs } from 'ngx-pagination';\nimport { takeUntil } from 'rxjs/operators';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-assets',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n {{ 'ASSETS.TABLE.LABELS.NAME' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.BALANCE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.VALUE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.PRICE' | translate }}\n
\n
\n
 
\n
\n
\n \n {{ asset.asset_info.full_name }}\n
\n
\n
\n \n {{ asset.total | intToMoney }}\n {{ asset.asset_info.ticker }}\n \n
\n
\n
\n {{ (asset.total | intToMoney) * price.usd | currency : 'USD' }}\n
\n
\n
\n {{ price.usd | currency : 'USD' }}\n 0\" [class.color-red]=\"price.usd_24h_change < 0\"\n >{{ price.usd_24h_change | number : '1.2-2' }}%\n
\n
\n
\n \n \n \n
\n
\n
\n\n \n \n\n
\n \n {{ page.label }}\n \n
\n {{ page.label }}\n
\n
\n\n \n \n
\n\n \n \n \n `,\n})\nexport class AssetsComponent implements OnInit, OnDestroy {\n currentPage = 1;\n\n itemsPerPage = 10;\n\n paginationId = 'pagination-assets-id';\n\n get paginatePipeArgs(): PaginatePipeArgs {\n return {\n id: this.paginationId,\n itemsPerPage: this.itemsPerPage,\n currentPage: this.currentPage,\n };\n }\n\n get isShowPagination(): boolean {\n const { currentWallet } = this.variablesService;\n if (currentWallet) {\n const { balances } = currentWallet;\n return (balances?.length || 0) > this.itemsPerPage;\n }\n return false;\n }\n\n triggerOrigin!: CdkOverlayOrigin;\n\n currentAsset!: Asset;\n\n isOpenDropDownMenu = false;\n\n defaultImgSrc = 'assets/icons/currency-icons/custom_token.svg';\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private backendService: BackendService,\n private walletsService: WalletsService,\n private dialog: Dialog,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.listenChangeWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDropDownMenu(trigger: CdkOverlayOrigin, asset: Asset): void {\n this.isOpenDropDownMenu = !this.isOpenDropDownMenu;\n this.triggerOrigin = trigger;\n this.currentAsset = asset;\n }\n\n trackByAssets(index: number, { asset_info: { asset_id } }: Asset): number | string {\n return asset_id || index;\n }\n\n trackByPages(index: number): number | string {\n return index;\n }\n\n assetDetails(): void {\n const dialogConfig: DialogConfig = {\n data: {\n asset: this.currentAsset,\n },\n };\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n }\n\n beforeRemoveAsset(): void {\n if (!this.currentAsset) {\n return;\n }\n const {\n asset_info: { full_name },\n } = this.currentAsset;\n const dialogConfig: DialogConfig = {\n data: {\n title: `Do you want delete \"${full_name}\"`,\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.removeAsset(),\n });\n }\n\n removeAsset(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const {\n asset_info: { asset_id },\n } = this.currentAsset;\n const params: ParamsRemoveCustomAssetId = {\n wallet_id,\n asset_id,\n };\n this.backendService.removeCustomAssetId(params, () => {\n this.walletsService.updateWalletInfo(wallet_id);\n this.currentAsset = undefined;\n });\n }\n\n getBalanceTooltip(balance: Asset): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!balance) {\n return null;\n }\n\n scrollWrapper.classList.add('balance-scroll-list');\n [balance].forEach(({ unlocked, total, asset_info: { ticker } }: Asset) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerHTML = this.translate.instant('WALLET.AVAILABLE_BALANCE', {\n available: this.intToMoneyPipe.transform(unlocked),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(available);\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE', {\n locked: this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backendService.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n\n private listenChangeWallet(): void {\n this.variablesService.getWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.currentPage = 0;\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { Transaction } from '@api/models/transaction.model';\nimport BigNumber from 'bignumber.js';\nimport { PaginationService } from '@store/pagination/pagination.service';\nimport { PaginationStore } from '@store/pagination/pagination.store';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { collapseOnLeaveAnimation, expandOnEnterAnimation } from 'angular-animations';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-history',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n 0\"\n >\n \n \n \n \n \n \n \n \n \n \n \n\n
\n\n \n \n \n \n \n \n
\n
{{ 'HISTORY.STATUS' | translate }}
\n
\n
{{ 'HISTORY.AMOUNT' | translate }}
\n
\n
{{ 'HISTORY.FEE' | translate }}
\n
\n
{{ 'HISTORY.ADDRESS' | translate }}
\n
\n
{{ 'HISTORY.DATE' | translate }}
\n
\n \n \n \n \n \n \n \n \n \n\n \n \"\"\n \"\"\n \n\n {{\n (subtransfer.is_income ? 'HISTORY.RECEIVED' : 'HISTORY.SEND') | translate\n }}\n\n \n \n \n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{ 'HISTORY.LOCK_TOOLTIP' | translate : { date: time(transaction) | date : 'MM.dd.yy' } }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n 500000000\">\n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{\n 'HISTORY.LOCK_TOOLTIP'\n | translate\n : {\n date: transaction.unlock_time * 1000 | date : 'MM.dd.yy'\n }\n }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n \n \n 0)\n \"\n class=\"icon unlock-transaction mr-1\"\n >\n \n \n \n \n \n \n \n \n \n
\n \n {{ subtransfer.amount.minus(transaction.fee ?? 0) | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n \n {{ asset.ticker }}\n \n
\n
\n
\n \n \n
\n \n {{ subtransfer.amount | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n \n {{ asset.ticker }}\n \n
\n
\n
\n \n
\n
\n \n {{ transaction.fee | intToMoney }}\n {{ variablesService.defaultCurrency }}\n \n \n {{ 'HISTORY.NO_FEE' | translate }}\n \n
\n
\n \n \n {{ transaction | historyTypeMessages }}\n \n \n \n \n \n {{ transaction.remote_addresses[0] | slice : 0 : 6 }}\n ...{{ transaction.remote_addresses[0] | slice : -6 }}\n \n \n \n
\n \n \n = 1 && alias.length <= 5\"\n [class.mb-0_5]=\"transaction.remote_aliases.length >= 2\"\n [class.mr-0_5]=\"transaction.remote_aliases.length >= 2\"\n class=\"alias\"\n fxLayout=\"row inline\"\n >\n {{ '@' + alias }}\n
\n
\n \n \n \n
\n \n {{ 'HISTORY.HIDDEN' | translate }}\n \n
\n
\n {{ transaction.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm' }}\n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n\n \n \n {{ page }}\n \n \n\n \n \n {{ variablesService.currentWallet.currentPage }}\n \n \n\n \n \n \n
\n
\n Hide mining transactions\n \n
\n
\n
\n
\n `,\n animations: [expandOnEnterAnimation(), collapseOnLeaveAnimation()],\n})\nexport class HistoryComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n openedDetails = '';\n\n stop_paginate = false;\n\n mining = false;\n\n wallet: Wallet;\n\n x = new BigNumber(3);\n\n y = new BigNumber(0.2);\n\n private destroy$ = new Subject();\n\n constructor(\n private route: ActivatedRoute,\n public variablesService: VariablesService,\n private pagination: PaginationService,\n private backend: BackendService,\n private ngZone: NgZone,\n private paginationStore: PaginationStore\n ) {}\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.openedDetails = '';\n },\n });\n\n this.init();\n\n this.variablesService.getWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getRecentTransfers();\n },\n });\n\n this.variablesService.getWalletChangedEvent\n .pipe(\n filter(w => !!w),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: (currentWallet: Wallet) => {\n this.mining = currentWallet.exclude_mining_txs;\n },\n });\n }\n\n init(): void {\n let restore = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n restore = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (!this.variablesService.sync_started && restore && this.variablesService.currentWallet.wallet_id) {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n // if this is was restore wallet, and it was selected on moment when sync completed\n this.getRecentTransfers();\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n let after_sync_request = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n after_sync_request = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (after_sync_request && !this.variablesService.sync_started) {\n // if user click on the wallet at the first time after restore.\n this.getRecentTransfers();\n }\n\n if (hasOwnProperty(this.variablesService.stop_paginate, String(this.variablesService.currentWallet.wallet_id))) {\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n } else {\n this.stop_paginate = false;\n }\n // this will hide pagination a bit earlier\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isVisibleFee(transaction: Transaction): boolean {\n const { subtransfers } = transaction;\n return !subtransfers.find(({ asset_id }) => asset_id === zanoAssetInfo.asset_id)?.is_income;\n }\n\n strokeSize(item): number {\n const rem = this.variablesService.settings.scale;\n if ((this.variablesService.height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 0;\n } else {\n if (item.height === 0 || this.variablesService.height_app - item.height < 0) {\n return 4.5 * parseInt(rem, 10);\n } else {\n return 4.5 * parseInt(rem, 10) - ((4.5 * parseInt(rem, 10)) / 100) * ((this.variablesService.height_app - item.height) * 10);\n }\n }\n }\n\n resetPaginationValues(): void {\n this.ngZone.run(() => {\n const total_history_item = this.variablesService.currentWallet.total_history_item;\n const count = this.variablesService.count;\n this.variablesService.currentWallet.totalPages = Math.ceil(total_history_item / count);\n this.variablesService.currentWallet.exclude_mining_txs = this.mining;\n this.variablesService.currentWallet.currentPage = 1;\n\n if (!this.variablesService.currentWallet.totalPages) {\n this.variablesService.currentWallet.totalPages = 1;\n }\n this.variablesService.currentWallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variablesService.currentWallet.pages = new Array(this.variablesService.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n });\n }\n\n setPage(pageNumber: number): void {\n // this is will allow pagination for wallets that was open from existed wallets'\n if (pageNumber === this.variablesService.currentWallet.currentPage) {\n return;\n }\n if (this.variablesService.currentWallet.open_from_exist && !this.variablesService.currentWallet.updated) {\n this.variablesService.get_recent_transfers = false;\n this.variablesService.currentWallet.updated = true;\n }\n // if not running get_recent_transfers callback\n if (!this.variablesService.get_recent_transfers) {\n this.variablesService.currentWallet.currentPage = pageNumber;\n }\n if (!this.variablesService.get_recent_transfers) {\n this.getRecentTransfers();\n }\n }\n\n toggleMiningTransactions(): void {\n if (!this.variablesService.sync_started && !this.wallet) {\n const value = this.paginationStore.value;\n if (!value) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n } else {\n const pages = value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id);\n if (pages.length === 0) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n }\n }\n this.mining = !this.mining;\n this.resetPaginationValues();\n this.getRecentTransfers();\n }\n }\n\n getRecentTransfers(): void {\n const offset = this.pagination.getOffset(this.variablesService.currentWallet.wallet_id);\n const value = this.paginationStore.value;\n const pages = value ? value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id) : [];\n this.backend.getRecentTransfers(\n this.variablesService.currentWallet.wallet_id,\n offset,\n this.variablesService.count,\n this.variablesService.currentWallet.exclude_mining_txs,\n (status, data) => {\n const isForward = this.paginationStore.isForward(pages, this.variablesService.currentWallet.currentPage);\n if (this.mining && isForward && pages && pages.length === 1) {\n this.variablesService.currentWallet.currentPage = 1; // set init page after navigation back\n }\n\n const history = data && data.history;\n this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id] =\n (history && history.length < this.variablesService.count) || !history;\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n if (!this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id]) {\n const page = this.variablesService.currentWallet.currentPage + 1;\n if (isForward && this.mining && history && history.length === this.variablesService.count) {\n this.paginationStore.setPage(page, data.last_item_index, this.variablesService.currentWallet.wallet_id); // add back page for current page\n }\n }\n\n this.pagination.calcPages(data);\n this.pagination.prepareHistory(data, status);\n\n this.ngZone.run(() => {\n this.variablesService.get_recent_transfers = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n // this is will complete get_recent_transfers request\n // this will switch of\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n });\n }\n );\n }\n\n tick(): void {\n const walletInterval = setInterval(() => {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (!this.wallet) {\n clearInterval(walletInterval);\n }\n }, 1000);\n }\n\n getHeight(item): number {\n const { height_app } = this.variablesService;\n if ((height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 10;\n } else {\n if (item.height === 0 || height_app - item.height < 0) {\n return 0;\n } else {\n return height_app - item.height;\n }\n }\n }\n\n openDetails(tx_hash): void {\n if (tx_hash === this.openedDetails) {\n this.openedDetails = '';\n } else {\n this.openedDetails = tx_hash;\n }\n }\n\n time(item: Transaction): number {\n const now = new Date().getTime();\n return now + (item.unlock_time - this.variablesService.height_max) * 60 * 1000;\n }\n\n isLocked(item: Transaction): boolean {\n if (item.unlock_time > 500000000 && item.unlock_time > new Date().getTime() / 1000) {\n return true;\n }\n return item.unlock_time < 500000000 && item.unlock_time > this.variablesService.height_max;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport QRCode from 'qrcode';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { RCV_ADDR_QR_SCALE } from '@parts/data/constants';\n\n@Component({\n selector: 'app-receive',\n template: `\n
\n
\n \"qr-code\"\n
\n\n \n {{ variablesService.currentWallet.address | zanoShortString : 9 : 9 }}\n \n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class ReceiveComponent implements OnInit {\n qrImageSrc: string;\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n QRCode.toDataURL(this.variablesService.currentWallet.address, {\n width: 200 * RCV_ADDR_QR_SCALE,\n height: 200 * RCV_ADDR_QR_SCALE,\n })\n .then(url => {\n this.qrImageSrc = url;\n })\n .catch(err => {\n console.error(err);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AsyncCommandResults,\n BackendService,\n CurrentActionState,\n ResponseAsyncTransfer,\n StatusCurrentActionState,\n} from '@api/services/backend.service';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nconst successfulStatuses: string[] = [\n StatusCurrentActionState.STATE_SENDING,\n StatusCurrentActionState.STATE_SENT_SUCCESS,\n StatusCurrentActionState.STATE_INITIALIZING,\n StatusCurrentActionState.STATE_DOWNLOADING_CONSENSUS,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_A,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_B,\n StatusCurrentActionState.STATE_CREATING_STREAM,\n StatusCurrentActionState.STATE_SUCCESS,\n];\n\nconst failedStatuses: string[] = [StatusCurrentActionState.STATE_SEND_FAILED, StatusCurrentActionState.STATE_FAILED];\n\n@Component({\n selector: 'app-send-details-modal',\n template: `\n
\n
\n

\n {{ 'SEND_DETAILS_MODAL.TITLE1' | translate }}\n

\n\n
\n
\n
\n \"success\"\n
\n\n
\n \"failed\"\n
\n\n
\n\n

\n {{\n (currentActionState ? 'TOR_LIB_STATE' + '.' + currentActionState.status : 'TOR_LIB_STATE.STATE_INITIALIZING') | translate\n }}\n {{ !isSentSuccess && !isSentFailed ? '...' : '' }}\n

\n\n \n \n \n
\n\n
\n \n

\n {{ 'SEND_DETAILS_MODAL.TITLE2' | translate }}\n

\n \n
\n \n
    \n \n {{ 'TOR_LIB_STATE' + '.' + action?.status | translate\n }}{{ last && !isSentSuccess && !isSentFailed ? '...' : '' }}\n \n \"success\"\n\n \"failed\"\n \n\n \n \"success\"\n\n \"failed\"\n \n \n\n \n
  • \n tx id: {{ data.response_data.tx_hash || '---' }} \n \n \n
  • \n
  • \n
    \n tx size:\n {{ data.response_data.tx_blob_size }}\n bytes\n
    \n
  • \n
  • \n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n \n \n\n \n \n \n

{{ prefix }} {{ 'SEND.ERROR_CODES' + '.' + error_code | translate }}

\n
\n \n \n

{{ prefix }} {{ error_code }}

\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendDetailsModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() job_id: number;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('elDetailsList', { static: true }) elDetailsList: ElementRef;\n\n responseData$ = new BehaviorSubject(null);\n\n stateDetails$ = new BehaviorSubject(false);\n\n currentActionState$ = new BehaviorSubject(null);\n\n currentActionStates$ = new BehaviorSubject([]);\n\n success = false;\n\n private destroy$: Subject = new Subject();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService, private renderer: Renderer2) {}\n\n get currentActionState(): CurrentActionState {\n return this.currentActionState$.value;\n }\n\n get currentActionStates(): CurrentActionState[] {\n return this.currentActionStates$.value;\n }\n\n get isSentSuccess(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SENT_SUCCESS;\n }\n\n get isSentFailed(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SEND_FAILED;\n }\n\n get isDetailsNotEmpty(): boolean {\n return !!(this.responseData$.value || this.currentActionStates$.value.length > 0);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const {\n currentWallet: { wallet_id },\n settings: { appUseTor },\n } = this.variablesService;\n\n if (appUseTor) {\n this.backendService.handleCurrentActionState$.pipe(takeUntil(this.destroy$)).subscribe({\n next: (currentActionState: CurrentActionState) => {\n this.currentActionState$.next(currentActionState);\n this.currentActionStates$.next([...this.currentActionStates, currentActionState]);\n },\n });\n } else {\n const actionState: CurrentActionState = {\n status: StatusCurrentActionState.STATE_INITIALIZING,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n }\n\n this.backendService.dispatchAsyncCallResult$\n .pipe(\n filter(({ job_id, response }: AsyncCommandResults) => this.job_id === job_id && !!response),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: ({ response }: AsyncCommandResults) => {\n const { response_data } = response;\n const success = response_data?.success ?? false;\n this.success = success;\n\n const actionState: CurrentActionState = {\n status: success ? StatusCurrentActionState.STATE_SENT_SUCCESS : StatusCurrentActionState.STATE_SEND_FAILED,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n\n this.responseData$.next(response);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDetails(): void {\n this.stateDetails$.next(!this.stateDetails$.value);\n setTimeout(() => this.scrollToBottomDetailsList(), 100);\n }\n\n trackBy(index: number): number {\n return index;\n }\n\n isSuccess(action: CurrentActionState): boolean {\n return successfulStatuses.includes(action && action.status);\n }\n\n isFailed(action: CurrentActionState): boolean {\n return failedStatuses.includes(action && action.status);\n }\n\n private scrollToBottomDetailsList(): void {\n if (this.elDetailsList) {\n const { nativeElement } = this.elDetailsList;\n nativeElement.scrollTop = nativeElement.scrollHeight;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\n\n@Component({\n selector: 'app-send-modal',\n template: `\n
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM.MESSAGE.SEND' | translate }}\n
\n
\n {{ sendMoneyParams.amount }}\n {{ (sendMoneyParams.asset_id | getWhiteAsset | async).ticker }}\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.FROM' | translate }}\n
\n
\n {{ variablesService.currentWallet.address }}\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.TO' | translate }}\n
\n
{{ sendMoneyParams.address }}
\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.COMMENT' | translate }}\n
\n
{{ sendMoneyParams.comment }}
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() sendMoneyParams: SendMoneyParams;\n\n @Output() confirmed: EventEmitter = new EventEmitter();\n\n cdr = inject(ChangeDetectorRef);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group({\n password: this.fb.control(''),\n appPass: this.fb.control(''),\n });\n\n constructor(public variablesService: VariablesService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const { appPass } = this.variablesService;\n if (appPass) {\n this.confirmForm.controls.appPass.patchValue(appPass, {\n emitEvent: false,\n });\n this.confirmForm.setValidators([ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')]);\n this.confirmForm.controls.password.setValidators([Validators.required]);\n this.confirmForm.updateValueAndValidity();\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n beforeSubmit(): void {\n if (this.confirmForm.invalid) {\n this.confirmForm.markAsTouched();\n this.confirmForm.updateValueAndValidity();\n this.cdr.detectChanges();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.confirmed.emit(true);\n }\n\n onClose(): void {\n this.confirmed.emit(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SendModalComponent } from './send-modal/send-modal.component';\nimport { SendDetailsModalComponent } from './send-details-modal/send-details-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GetWhiteAssetPipe } from '@parts/pipes';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SendModalComponent, SendDetailsModalComponent],\n imports: [CommonModule, TranslateModule, GetWhiteAssetPipe, FlexLayoutModule, ReactiveFormsModule],\n exports: [SendModalComponent, SendDetailsModalComponent],\n})\nexport class WalletModalsModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport { debounceTime, delay, filter, retry, take, takeUntil, tap } from 'rxjs/operators';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { Asset } from '@api/models/assets.model';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { insuficcientFunds } from '@parts/utils/zano-errors';\nimport { Aliases } from '@api/models/alias.model';\nimport { DeeplinkParams, defaultSendMoneyParams } from '@api/models/wallet.model';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { ControlsOf } from '@parts/utils/controls-of';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-send',\n template: `\n
\n \n
\n
\n \n \n\n \n \n \n
\n = 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\"\n class=\"alias\"\n >\n
{{ alias.name }}
\n
\n
\n \n \n
Not found aliases
\n
\n \n
\n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\n
\n
\n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n {{ sendMoneyParamsForm.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n \n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n \n \n {{ asset?.asset_info.full_name || '---' }}\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n \n\n
\n \n {{ 'SEND.DETAILS' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : { fee: variablesService.default_fee } }}\n
\n
\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\n
\n
\n
\n
\n\n \n \n \n\n \n {{ 'SEND.BUTTON' | translate }}\n \n \n \n\n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class SendComponent implements OnInit, OnDestroy {\n job_id: number;\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(150));\n\n isModalDialogVisible = false;\n\n isModalDetailsDialogVisible = false;\n\n hideWalletAddress = false;\n\n wrapInfo: WrapInfo;\n\n loading$ = new BehaviorSubject(true);\n\n isWrapShown = false;\n\n aliasAddress: string;\n\n additionalOptions = false;\n\n fb = inject(NonNullableFormBuilder);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n variablesService = inject(VariablesService);\n\n wrapInfoService = inject(WrapInfoService);\n\n aliases$ = new BehaviorSubject([]);\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n sendMoneyParamsForm = this.fb.group>({\n wallet_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n address: this.fb.control('', {\n validators: [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ],\n }),\n amount: this.fb.control(undefined, {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.sendMoneyParamsForm?.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: Asset | undefined = this.variablesService.currentWallet.balances?.find(v => v.asset_info.asset_id === asset_id);\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n }\n return null;\n },\n ],\n }),\n comment: this.fb.control('', {\n validators: [Validators.maxLength(this.variablesService.maxCommentLength)],\n }),\n asset_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n mixin: this.fb.control(MIXIN, {\n validators: [Validators.required],\n }),\n fee: this.fb.control(this.variablesService.default_fee, {\n validators: [\n Validators.required,\n (g: FormControl): ValidationErrors | null => {\n if (new BigNumber(g.value).isLessThan(this.variablesService.default_fee)) {\n return { less_min: true };\n }\n return null;\n },\n ],\n }),\n hide: this.fb.control(false),\n });\n\n get sendMoneyParams(): SendMoneyParams {\n return this.sendMoneyParamsForm.getRawValue() as SendMoneyParams;\n }\n\n private destroy$ = new Subject();\n\n constructor(private backendService: BackendService, private ngZone: NgZone, private moneyToInt: MoneyToIntPipe) {}\n\n ngOnInit(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n\n this.getWrapInfo();\n this.listenSendActionData();\n this.patchSendMoneyParamsByCurrentWallet();\n this.saveSendMoneyParams();\n this.setAssetFromHistoryState();\n }\n\n setAssetFromHistoryState(): void {\n const state = history.state || {};\n const asset: Asset = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.sendMoneyParamsForm.controls.asset_id.patchValue(asset_id, { emitEvent: false });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n showDialog(): void {\n this.isModalDialogVisible = true;\n }\n\n confirmed(confirmed: boolean): void {\n this.isModalDialogVisible = false;\n if (confirmed) {\n this.onSend();\n }\n }\n\n onSend(): void {\n if (this.sendMoneyParamsForm.valid) {\n const { address } = this.sendMoneyParamsForm.getRawValue();\n let sendMoneyParams: SendMoneyParams = {\n ...this.sendMoneyParamsForm.getRawValue(),\n };\n\n if (address.indexOf('@') === 0) {\n const aliasName = address;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.sendMoneyParamsForm.controls.address.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n sendMoneyParams = {\n ...sendMoneyParams,\n address: alias.address,\n };\n }\n\n this.backendService.sendMoney(sendMoneyParams, job_id => {\n this.ngZone.run(() => {\n this.job_id = job_id;\n this.isModalDetailsDialogVisible = true;\n this.variablesService.currentWallet.sendMoneyParams = null;\n });\n });\n }\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.sendMoneyParamsForm.value.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n handeCloseDetailsModal(success: boolean): void {\n this.isModalDetailsDialogVisible = false;\n this.job_id = null;\n\n if (success) {\n const {\n currentWallet: { wallet_id },\n } = this.variablesService;\n this.variablesService.currentWallet.sendMoneyParams = null;\n this.sendMoneyParamsForm.reset({ ...defaultSendMoneyParams, wallet_id }, { emitEvent: false });\n }\n }\n\n private patchSendMoneyParamsByCurrentWallet(): void {\n const { currentWallet, default_fee } = this.variablesService;\n\n let sendMoneyParams: SendMoneyParams;\n\n if (currentWallet.sendMoneyParams) {\n sendMoneyParams = currentWallet.sendMoneyParams;\n this.sendMoneyParamsForm.markAllAsTouched();\n } else {\n sendMoneyParams = {\n ...defaultSendMoneyParams,\n fee: default_fee,\n };\n }\n\n if (currentWallet.is_auditable && !currentWallet.is_watch_only) {\n sendMoneyParams.hide = true;\n this.sendMoneyParamsForm.controls['hide'].disable();\n }\n\n if (currentWallet.is_auditable) {\n sendMoneyParams.mixin = 0;\n this.sendMoneyParamsForm.controls['mixin'].disable();\n }\n\n sendMoneyParams.wallet_id = currentWallet.wallet_id;\n\n this.sendMoneyParamsForm.patchValue(sendMoneyParams, { emitEvent: false });\n }\n\n private fillDeepLinkData(value: DeeplinkParams): void {\n this.additionalOptions = true;\n this.sendMoneyParamsForm.patchValue({\n address: value.address,\n amount: value.amount || null,\n comment: value.comment || value.comments || '',\n mixin: +value.mixins || MIXIN,\n asset_id: zanoAssetInfo.asset_id,\n fee: value.fee || this.variablesService.default_fee,\n hide: value.hide_sender === 'true',\n });\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n\n pasteListenAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.sendMoneyParamsForm.controls.address.patchValue(value);\n }\n\n inputListenAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n private listenSendActionData(): void {\n this.variablesService.sendActionData$.pipe(takeUntil(this.destroy$)).subscribe({\n next: value => {\n if (value && value.action === 'send') {\n setTimeout(() => {\n this.fillDeepLinkData(value);\n }, 100);\n this.variablesService.sendActionData$.next({});\n }\n },\n });\n }\n\n private saveSendMoneyParams(): void {\n this.sendMoneyParamsForm.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.variablesService.currentWallet.sendMoneyParams = this.sendMoneyParamsForm.getRawValue();\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Chart } from 'angular-highcharts';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BigNumber } from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-staking',\n template: `\n
\n
\n
\n
\n
\n
\n \n
\n {{ 'STAKING.TITLE' | translate }}\n
\n\n
\n \n \n
\n
\n
\n
\n {{ 'STAKING.TITLE_PENDING' | translate }}\n :\n
\n
\n
\n {{ pending.total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n {{ 'STAKING.TITLE_TOTAL' | translate }}\n :\n
\n
\n
\n {{ total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n\n \n Sort by {{ (item.title | translate | lowercase) + 's' }} \n \n {{ item.title | translate }}\n \n \n
\n
\n \n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n \n \n {{ period.title }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: auto;\n }\n `,\n ],\n})\nexport class StakingComponent implements OnInit, OnDestroy {\n periods = [\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK1'),\n key: '1 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK2'),\n key: '2 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH1'),\n key: '1 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH3'),\n key: '3 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH6'),\n key: '6 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.YEAR'),\n key: '1 year',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.ALL'),\n key: 'All',\n active: true,\n },\n ];\n\n groups = [\n {\n title: this.translate.instant('STAKING.GROUP.DAY'),\n key: 'day',\n active: true,\n },\n {\n title: this.translate.instant('STAKING.GROUP.WEEK'),\n key: 'week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.GROUP.MONTH'),\n key: 'month',\n active: false,\n },\n ];\n\n selectedGroup = this.groups[0].key;\n\n selectedDate = {\n date: null,\n amount: null,\n };\n\n originalData = [];\n\n chart: Chart;\n\n total = new BigNumber(0);\n\n pending = {\n list: [],\n total: new BigNumber(0),\n };\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n static makeGroupTime(key, date): number {\n if (key === 'day') {\n return date.setHours(0, 0, 0, 0);\n } else if (key === 'week') {\n return new Date(date.setDate(date.getDate() - date.getDay())).setHours(0, 0, 0, 0);\n } else {\n return new Date(date.setDate(1)).setHours(0, 0, 0, 0);\n }\n }\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getMiningHistory();\n },\n });\n this.variablesService.getHeightAppEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (newHeight: number) => {\n if (!this.pending.total.isZero()) {\n const pendingCount = this.pending.list.length;\n for (let i = pendingCount - 1; i >= 0; i--) {\n if (newHeight - this.pending.list[i].h >= 10) {\n this.pending.list.splice(i, 1);\n }\n }\n if (pendingCount !== this.pending.list.length) {\n this.pending.total = new BigNumber(0);\n for (let i = 0; i < this.pending.list.length; i++) {\n this.pending.total = this.pending.total.plus(this.pending.list[i].a);\n }\n }\n }\n },\n });\n this.variablesService.getRefreshStackingEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (wallet_id: number) => {\n if (this.variablesService.currentWallet.wallet_id === wallet_id) {\n this.getMiningHistory();\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n drawChart(data): void {\n this.chart = new Chart({\n title: { text: '' },\n credits: { enabled: false },\n exporting: { enabled: false },\n legend: { enabled: false },\n chart: {\n type: 'line',\n backgroundColor: 'transparent',\n height: null,\n events: {\n load: (): void => {\n this.changePeriod();\n },\n },\n },\n\n yAxis: {\n min: 0,\n tickAmount: 5,\n title: {\n text: '',\n },\n gridLineColor: '#2b3644',\n gridLineWidth: 2,\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 120,\n tickColor: '#2b3644',\n labels: {\n y: -8,\n align: 'left',\n x: -120,\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n format: '{value} ' + this.variablesService.defaultCurrency,\n },\n },\n\n xAxis: {\n type: 'datetime',\n gridLineColor: '#2b3644',\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 10,\n tickColor: '#2b3644',\n labels: {\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n },\n minPadding: 0,\n maxPadding: 0,\n minRange: 86400000,\n // tickInterval: 86400000,\n minTickInterval: 3600000,\n },\n\n tooltip: {\n enabled: false,\n },\n\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n },\n stops: [\n [0, 'rgba(124,181,236,0.2)'],\n [1, 'rgba(124,181,236,0)'],\n ],\n },\n marker: {\n enabled: false,\n radius: 2,\n },\n lineWidth: 2,\n threshold: null,\n },\n\n series: {\n point: {\n events: {\n mouseOver: (obj): void => {\n this.selectedDate.date = obj.target['x'];\n this.selectedDate.amount = obj.target['y'];\n },\n },\n },\n events: {\n mouseOut: (): void => {\n this.selectedDate.date = null;\n this.selectedDate.amount = null;\n },\n },\n },\n },\n series: [\n {\n type: 'area',\n data: data,\n },\n ],\n });\n }\n\n getMiningHistory(): void {\n if (this.variablesService.currentWallet.loaded) {\n this.backend.getMiningHistory(this.variablesService.currentWallet.wallet_id, (status, data) => {\n this.total = new BigNumber(0);\n this.pending.list = [];\n this.pending.total = new BigNumber(0);\n this.originalData = [];\n if (data.mined_entries) {\n data.mined_entries.forEach((item, key) => {\n if (item.t.toString().length === 10) {\n data.mined_entries[key].t = new Date(item.t * 1000).setUTCMilliseconds(0);\n }\n });\n data.mined_entries.forEach(item => {\n this.total = this.total.plus(item.a);\n if (this.variablesService.height_app - item.h < 10) {\n this.pending.list.push(item);\n this.pending.total = this.pending.total.plus(item.a);\n }\n this.originalData.push([parseInt(item.t, 10), parseFloat(this.intToMoneyPipe.transform(item.a))]);\n });\n this.originalData = this.originalData.sort(function (a, b) {\n return a[0] - b[0];\n });\n }\n this.ngZone.run(() => {\n this.drawChart([]);\n });\n });\n }\n }\n\n changePeriod(period?): void {\n if (period) {\n this.periods.forEach(p => {\n p.active = false;\n });\n period.active = true;\n } else {\n period = this.periods.find(p => p.active);\n }\n\n const d = new Date();\n let min = null;\n const newData = [];\n\n const group = this.groups.find(g => g.active);\n\n if (period.key === '1 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7, 0, 0, 0, 0);\n } else if (period.key === '2 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 14, 0, 0, 0, 0);\n } else if (period.key === '1 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 1, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '3 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 3, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '6 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 6, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '1 year') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear() - 1, d.getMonth(), d.getDate(), 0, 0, 0, 0);\n } else {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n }\n\n this.chart.ref?.xAxis[0].setExtremes(min, null);\n }\n\n changeGroup(group): void {\n this.groups.forEach(g => {\n g.active = false;\n });\n group.active = true;\n this.changePeriod();\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { GetWhiteAssetPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ProposalDetails } from '@api/models/swap.model';\n\n@Component({\n selector: 'app-swap-confirm-master-password',\n standalone: true,\n imports: [CommonModule, FlexModule, GetWhiteAssetPipe, ReactiveFormsModule, TranslateModule, IntToMoneyPipeModule],\n templateUrl: './swap-confirm-master-password.component.html',\n styleUrls: ['./swap-confirm-master-password.component.scss'],\n})\nexport class SwapConfirmMasterPasswordComponent {\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group(\n {\n password: this.fb.control(''),\n appPass: this.fb.control(this.variablesService.appPass || ''),\n },\n { validators: [ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')] }\n );\n\n data: { proposalDetails: ProposalDetails } = inject(DIALOG_DATA);\n\n dialogRef = inject(DialogRef);\n}\n","
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }} {{ (item.asset_id | getWhiteAsset | async).ticker }}
\n
\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }} {{ (item.asset_id | getWhiteAsset | async).ticker }}
\n
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, take, takeUntil } from 'rxjs/operators';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { GetWhiteAssetPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { SwapConfirmMasterPasswordComponent } from '../../modals/swap-confirm-master-password/swap-confirm-master-password.component';\nimport { ProposalDetails } from '@api/models/swap.model';\n\n@Component({\n selector: 'app-confirm-swap',\n standalone: true,\n imports: [\n CommonModule,\n BreadcrumbsComponent,\n RouterLinkWithHref,\n InputValidateModule,\n TranslateModule,\n ReactiveFormsModule,\n GetWhiteAssetPipe,\n IntToMoneyPipeModule,\n ],\n templateUrl: './confirm-swap.component.html',\n styleUrls: ['./confirm-swap.component.scss'],\n})\nexport class ConfirmSwapComponent implements OnInit, OnDestroy {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n errorRpc: { code: number; message: string } | undefined;\n\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n proposalDetails: ProposalDetails | undefined;\n\n hex_raw_proposal: string | undefined;\n\n private backendService = inject(BackendService);\n\n private router = inject(Router);\n\n private ngZone = inject(NgZone);\n\n private dialog = inject(Dialog);\n\n private destroy$ = new Subject();\n\n ngOnInit(): void {\n this.form.controls.hex_raw_proposal.valueChanges.pipe(distinctUntilChanged(), debounceTime(500), takeUntil(this.destroy$)).subscribe({\n next: (hex_raw_proposal: string) => {\n this.hex_raw_proposal = hex_raw_proposal;\n this.getProposalDetails(hex_raw_proposal);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n swapConfirmMasterPasswordDialog(): void {\n const proposalDetails = this.proposalDetails;\n const config: DialogConfig = {\n data: {\n proposalDetails,\n },\n disableClose: true,\n width: '54rem',\n maxHeight: '90vh',\n };\n this.dialog\n .open(SwapConfirmMasterPasswordComponent, config)\n .closed.pipe(filter(Boolean), take(1))\n .subscribe({\n next: () => this.acceptProposal(),\n });\n }\n\n acceptProposal(): void {\n if (!this.hex_raw_proposal) {\n return;\n }\n const { wallet_id } = this.variablesService.currentWallet;\n const hex_raw_proposal = this.hex_raw_proposal;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'ionic_swap_accept_proposal',\n params: { hex_raw_proposal },\n };\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n this.ngZone.run(() => {\n if (response_data2.result?.['result_tx_id']) {\n this.router.navigate(['/wallet/history']).then();\n } else {\n this.errorRpc = response_data2.error;\n }\n });\n });\n }\n });\n }\n\n private getProposalDetails(hex_raw_proposal: string): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'ionic_swap_get_proposal_info',\n params: { hex_raw_proposal },\n };\n\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n this.ngZone.run(() => {\n const proposal = response_data2?.result?.['proposal'];\n if (proposal) {\n this.proposalDetails = proposal;\n this.errorRpc = undefined;\n } else {\n this.proposalDetails = undefined;\n this.errorRpc = response_data2.error;\n }\n });\n });\n }\n });\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n
{{ item.amount | intToMoney }} {{ (item.asset_id | getWhiteAsset | async)?.ticker }}
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
{{ item.amount | intToMoney }} {{ (item.asset_id | getWhiteAsset | async)?.ticker }}
\n
\n
\n
\n\n
\n \n\n \n {{ 'CONFIRM_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n\n
\n Error code: {{ errorRpc.code }}
\n Error message: {{ errorRpc.message || 'hex_raw_proposal not decoded' }}\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { AbstractControl, FormBuilder, FormControl, FormsModule, ReactiveFormsModule, ValidationErrors, Validators } from '@angular/forms';\nimport {\n GetWhiteAssetInfoModule,\n IntToMoneyPipe,\n IntToMoneyPipeModule,\n MoneyToIntPipe,\n MoneyToIntPipeModule,\n ShortStringPipeModule,\n} from '@parts/pipes';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Asset } from '@api/models/assets.model';\nimport { zanoAssetInfo } from '@parts/data/assets';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BackendService } from '@api/services/backend.service';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { delay, filter, retry, take, takeUntil, tap } from 'rxjs/operators';\nimport { Aliases } from '@api/models/alias.model';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { BigNumber } from 'bignumber.js';\nimport { insuficcientFunds } from '@parts/utils/zano-errors';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { LoaderComponent } from '@parts/components/loader.component';\n\n@Component({\n selector: 'app-create-swap',\n standalone: true,\n imports: [\n CommonModule,\n RouterLinkWithHref,\n TranslateModule,\n BreadcrumbsComponent,\n InputValidateModule,\n ReactiveFormsModule,\n DefaultImgModule,\n GetWhiteAssetInfoModule,\n NgSelectModule,\n LowerCaseDirective,\n ShortStringPipeModule,\n FormsModule,\n IntToMoneyPipeModule,\n MoneyToIntPipeModule,\n LoaderComponent,\n ],\n templateUrl: './create-swap.component.html',\n styleUrls: ['./create-swap.component.scss'],\n})\nexport class CreateSwapComponent implements OnInit, OnDestroy {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n variablesService = inject(VariablesService);\n\n fb = inject(FormBuilder);\n\n aliasAddress: string;\n\n loading$ = new BehaviorSubject(false);\n\n isWrapShown = false;\n\n aliases$ = new BehaviorSubject([]);\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(150));\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n moneyToIntPipe = inject(MoneyToIntPipe);\n\n wrapInfoService = inject(WrapInfoService);\n\n wrapInfo: WrapInfo;\n\n errorRpc: { code: number; message: string } = null;\n\n private backendService = inject(BackendService);\n\n private ngZone = inject(NgZone);\n\n private router = inject(Router);\n\n private destroy$ = new Subject();\n\n private moneyToInt = inject(MoneyToIntPipe);\n\n form = this.fb.group(\n {\n sending: this.fb.group({\n amount: this.fb.control('', {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.form?.controls.sending.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: Asset | undefined = this.variablesService.currentWallet.balances?.find(v => v.asset_info.asset_id === asset_id);\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n }\n return null;\n },\n ],\n }),\n asset_id: this.fb.control(zanoAssetInfo.asset_id, [Validators.required]),\n }),\n receiving: this.fb.group({\n amount: this.fb.control('', [Validators.required, Validators.min(0.000000000001)]),\n asset_id: this.fb.control(zanoAssetInfo.asset_id, [Validators.required]),\n }),\n receiverAddress: this.fb.control('', [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ]),\n },\n {\n validators: [\n (control: AbstractControl): ValidationErrors | null => {\n const condition = control.get('sending').get('asset_id').value === control.get('receiving').get('asset_id').value;\n if (condition) {\n control.get('receiving').get('asset_id').setErrors({ sameAssetsId: true });\n } else {\n control.get('receiving').get('asset_id').setErrors(null);\n }\n return null;\n },\n ],\n }\n );\n\n constructor() {}\n\n ngOnInit(): void {\n this.getWrapInfo();\n this.getAliases();\n this.setSendingAssetIdFromHistoryState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n reverse(): void {\n const { sending, receiving } = this.form.getRawValue();\n\n const markAllAsTouched = () => {\n this.form.controls.sending.markAllAsTouched();\n this.form.controls.receiving.markAllAsTouched();\n };\n\n markAllAsTouched();\n\n this.form.patchValue({\n sending: receiving,\n receiving: sending,\n });\n this.form.controls.sending.controls.amount.updateValueAndValidity();\n this.form.controls.receiving.controls.amount.updateValueAndValidity();\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.form.getRawValue().receiving.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n inputListenReceiverAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n pasteListenReceiverAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.form.controls.receiverAddress.patchValue(value);\n }\n\n beforeSubmit(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n this.form.updateValueAndValidity();\n return;\n }\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { sending, receiving, receiverAddress } = this.form.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const { default_fee_big } = this.variablesService;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'ionic_swap_generate_proposal',\n params: {\n proposal: {\n to_bob: [\n {\n asset_id: sending.asset_id,\n amount: this.moneyToIntPipe.transform(sending.amount),\n },\n ],\n to_alice: [\n {\n asset_id: receiving.asset_id,\n amount: this.moneyToIntPipe.transform(receiving.amount),\n },\n ],\n mixins: 10,\n fee_paid_by_a: default_fee_big,\n expiration_time: 0,\n },\n },\n };\n\n if (receiverAddress.indexOf('@') === 0) {\n const aliasName = receiverAddress;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.form.controls.receiverAddress.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n params2.params['destination_address'] = alias.address;\n } else {\n params2.params['destination_address'] = receiverAddress;\n }\n\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n if (response_data2.result) {\n this.ngZone.run(() => {\n this.router\n .navigateByUrl('/wallet/swap-proposal-hex', {\n state: {\n hex_raw_proposal: response_data2.result['hex_raw_proposal'],\n },\n })\n .then();\n });\n } else {\n this.ngZone.run(() => {\n this.errorRpc = response_data2.error;\n this.loading$.next(false);\n });\n }\n });\n } else {\n this.ngZone.run(() => this.loading$.next(false));\n }\n });\n }\n\n private setSendingAssetIdFromHistoryState(): void {\n const state = history.state || {};\n const asset: Asset = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.form.patchValue({\n sending: {\n asset_id,\n },\n });\n }\n }\n\n private getAliases(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n}\n","
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n {{ form.controls.sending.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n {{ asset?.asset_info.full_name || '---' }}\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n {{ asset?.asset_info.full_name || '---' }}\n \n \n
\n
\n {{ 'CREATE_SWAP.FORM.ERRORS.ERROR1' | translate }}\n
\n
\n
\n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n\n \n \n \n
\n
= 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\" class=\"alias\">\n
{{ alias.name }}
\n
\n
\n
\n \n
Not found aliases
\n
\n
\n
\n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\n
\n \n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n {{ 'CREATE_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n
\n
\n Error code: {{ errorRpc.code }}
\n Error message: {{ errorRpc.message || 'hex_raw_proposal not created' }}\n
\n \n\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\nimport { Observable } from 'rxjs';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\n\n@Component({\n selector: 'app-swap-proposal-hex',\n standalone: true,\n imports: [CommonModule, BreadcrumbsComponent, RouterLinkWithHref, InputValidateModule, TranslateModule, ReactiveFormsModule],\n templateUrl: './swap-proposal-hex.component.html',\n styleUrls: ['./swap-proposal-hex.component.scss'],\n})\nexport class SwapProposalHexComponent implements OnInit, IDeactivateComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM1',\n },\n {\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM2',\n },\n ];\n\n copyAnimation = false;\n\n copyAnimationTimeout: any;\n\n fb = inject(FormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n private backendService = inject(BackendService);\n\n private dialog = inject(Dialog);\n\n ngOnInit(): void {\n this.setSwapProposalHexFromHistoryState();\n }\n\n copy(): void {\n const { hex_raw_proposal } = this.form.getRawValue();\n this.backendService.setClipboard(hex_raw_proposal);\n this.copyAnimation = true;\n this.copyAnimationTimeout = setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n\n canExit(): Observable | Promise | boolean {\n const dialogConfig: DialogConfig = {\n disableClose: true,\n data: {\n title: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.TITLE',\n message: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.MESSAGE',\n buttons: {\n submit: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.SUBMIT',\n close: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.CLOSE',\n },\n },\n };\n const dialogRef = this.dialog.open(ConfirmModalComponent, dialogConfig);\n return dialogRef.closed;\n }\n\n private setSwapProposalHexFromHistoryState(): void {\n const historyState = history.state || {};\n const hex_raw_proposal = historyState['hex_raw_proposal'];\n if (hex_raw_proposal) {\n this.form.controls.hex_raw_proposal.patchValue(hex_raw_proposal, { emitEvent: false });\n }\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n\n \n {{ 'SWAP_PROPOSAL_HEX.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-swap',\n standalone: true,\n imports: [CommonModule, FlexModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './swap.component.html',\n styleUrls: ['./swap.component.scss'],\n})\nexport class SwapComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SwapProposalHexGuard implements CanDeactivate {\n canDeactivate(\n component: IDeactivateComponent,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot\n ): Observable | Promise | boolean | UrlTree {\n return component.canExit ? component.canExit() : true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { paths, pathsChildrenWallet } from '../paths';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WithSidebarLayoutComponent } from '../../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { ConfirmSwapComponent } from './tabs/swap/pages/confirm-swap/confirm-swap.component';\nimport { SwapComponent } from './tabs/swap/pages/swap/swap.component';\nimport { CreateSwapComponent } from './tabs/swap/pages/create-swap/create-swap.component';\nimport { SwapProposalHexComponent } from './tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component';\nimport { SwapProposalHexGuard } from './tabs/swap/parts/guards/swap-proposal-hex.guard';\n\nconst routes: Routes = [\n {\n path: paths.wallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletComponent,\n children: [\n {\n path: pathsChildrenWallet.assets,\n component: AssetsComponent,\n },\n {\n path: pathsChildrenWallet.send,\n component: SendComponent,\n },\n {\n path: pathsChildrenWallet.receive,\n component: ReceiveComponent,\n },\n {\n path: pathsChildrenWallet.history,\n component: HistoryComponent,\n },\n {\n path: pathsChildrenWallet.staking,\n component: StakingComponent,\n },\n {\n path: 'swap',\n component: SwapComponent,\n },\n {\n path: 'create-swap',\n component: CreateSwapComponent,\n },\n {\n path: 'swap-proposal-hex',\n component: SwapProposalHexComponent,\n canDeactivate: [SwapProposalHexGuard],\n },\n {\n path: 'confirm-swap',\n component: ConfirmSwapComponent,\n },\n {\n path: '',\n redirectTo: pathsChildrenWallet.assets,\n pathMatch: 'full',\n },\n ],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class WalletRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WalletRoutingModule } from './wallet-routing.module';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { FlexLayoutModule, FlexModule } from '@angular/flex-layout';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport {\n ContractStatusMessagesPipeModule,\n GetPriceByUrlModule,\n GetWhiteAssetInfoModule,\n GetWhiteAssetPipe,\n HasInAssetsWhitelistModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n ShortStringPipeModule,\n} from '@parts/pipes';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { ExportHistoryModalModule } from './wallet/modals/export-history-modal/export-history-modal.module';\nimport { WalletDetailsComponent } from '../wallet-details/wallet-details.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { ChartModule } from 'angular-highcharts';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ExportImportComponent } from '../export-import/export-import.component';\nimport { AssetDetailsModule } from '@parts/modals/asset-details/asset-details.module';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { TransactionDetailsComponent } from '@parts/components/transaction-details.component';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\nimport { WalletModalsModule } from './tabs/send/modals/wallet-modals.module';\n\n@NgModule({\n declarations: [\n WalletComponent,\n AssetsComponent,\n WalletDetailsComponent,\n HistoryComponent,\n StakingComponent,\n ReceiveComponent,\n ExportImportComponent,\n SendComponent,\n ],\n imports: [\n CommonModule,\n WalletRoutingModule,\n FlexModule,\n TooltipModule,\n ShortStringPipeModule,\n TranslateModule,\n IsAvailableAliasNamePipeModule,\n ConfirmModalModule,\n ExportHistoryModalModule,\n ReactiveFormsModule,\n OverlayModule,\n DefaultImgModule,\n NgxPaginationModule,\n SwitchComponent,\n ChartModule,\n NgSelectModule,\n FormsModule,\n FlexLayoutModule,\n StakingSwitchComponent,\n DialogModule,\n IntToMoneyPipeModule,\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n InputValidateModule,\n CheckboxComponent,\n AssetDetailsModule,\n GetWhiteAssetInfoModule,\n GetPriceByUrlModule,\n HasInAssetsWhitelistModule,\n CopyButtonComponent,\n TransactionDetailsComponent,\n LowerCaseDirective,\n GetWhiteAssetPipe,\n BreadcrumbsComponent,\n BackButtonComponent,\n WalletModalsModule,\n ],\n})\nexport class WalletModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { Asset, ParamsAddCustomAssetId } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { wrongAssetId } from '@parts/utils/zano-errors';\nimport { BehaviorSubject } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LoaderComponent } from '@parts/components/loader.component';\n\n@Component({\n selector: 'app-add-custom-token',\n standalone: true,\n template: `\n \n
\n

\n {{ 'WALLET.MODAL_ADD_CUSTOM_TOKEN.TITLE' | translate }}\n

\n\n
\n \n \n \n
Invalid hash
\n
\n {{ formGroup.get('asset_id').errors['wrongAssetId'].errorText | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n imports: [CommonModule, FlexModule, TranslateModule, ReactiveFormsModule, LoaderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AddCustomTokenComponent {\n private fb = inject(NonNullableFormBuilder);\n\n private cdr = inject(ChangeDetectorRef);\n\n loading$ = new BehaviorSubject(false);\n\n formGroup = this.fb.group<{ asset_id: FormControl }>({\n asset_id: this.fb.control('', Validators.compose([Validators.required, ZanoValidators.hash, Validators.maxLength(64)])),\n });\n\n constructor(\n public variablesService: VariablesService,\n public backendService: BackendService,\n private walletsService: WalletsService,\n private dialogRef: DialogRef\n ) {}\n\n beforeSubmit(): void {\n if (this.formGroup.invalid) {\n this.formGroup.markAsTouched();\n this.formGroup.updateValueAndValidity();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { asset_id } = this.formGroup.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const params: ParamsAddCustomAssetId = {\n asset_id,\n wallet_id,\n };\n this.backendService.addCustomAssetId(params, (status, { asset_descriptor }) => {\n if (status) {\n const asset: Asset = {\n asset_info: {\n ...asset_descriptor,\n asset_id,\n },\n awaiting_in: 0,\n awaiting_out: 0,\n total: 0,\n unlocked: 0,\n };\n this.walletsService.updateWalletInfo(wallet_id);\n this.dialogRef.close(asset);\n } else {\n this.formGroup.controls.asset_id.setErrors({\n wrongAssetId,\n });\n this.loading$.next(false);\n this.cdr.detectChanges();\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DialogRef } from '@angular/cdk/dialog';\n\n@Component({\n selector: 'app-export-history-modal',\n template: `\n \n
\n

\n {{ 'EXPORT_HISTORY.TITLE' | translate }}\n

\n\n
\n
\n \n \n \n {{ item.formatName }}\n \n \n {{ item.formatName }}\n \n \n
\n\n
\n {{ 'EXPORT_HISTORY.FILTER' | translate }}\n \n
\n
\n\n
\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ExportHistoryModalComponent {\n posFilterIsOn = true;\n\n currentFormat: string;\n\n exportData = {\n wallet_id: 0,\n include_pos_transactions: false,\n path: 'C:\\\\some_file.txt',\n format: 'json',\n };\n\n exportFormats = [\n {\n format: 'json',\n formatName: 'JSON',\n },\n {\n format: 'text',\n formatName: 'Text',\n },\n {\n format: 'csv',\n formatName: 'CSV',\n },\n ];\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private translate: TranslateService,\n private dialogRef: DialogRef\n ) {\n this.currentFormat = this.exportFormats[0].format;\n }\n\n closeModal(): void {\n this.dialogRef.close();\n }\n\n confirmExport(): void {\n this.exportData.format = `${this.currentFormat}`;\n this.exportData.wallet_id = this.variablesService.currentWallet.wallet_id;\n this.exportData.include_pos_transactions = this.posFilterIsOn;\n\n this.backend.saveFileDialog(\n this.translate.instant('EXPORT_HISTORY.SAVED_FILE'),\n `${this.exportData.format}`,\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (this.exportData.format === 'text') {\n this.exportData.path = file_data.path + '.txt';\n } else {\n this.exportData.path = file_data.path + `.${this.exportData.format}`;\n }\n if (file_status) {\n this.backend.exportWalletHistory(JSON.stringify(this.exportData));\n this.closeModal();\n }\n }\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ExportHistoryModalComponent } from './export-history-modal.component';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\n\n@NgModule({\n declarations: [ExportHistoryModalComponent],\n exports: [ExportHistoryModalComponent],\n imports: [CommonModule, TranslateModule, FlexModule, SwitchComponent, CheckboxComponent, NgSelectModule, FormsModule],\n})\nexport class ExportHistoryModalModule {}\n","import { Component, HostListener, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Subject } from 'rxjs';\nimport { StateKeys, Store, Sync } from '@store/store';\nimport { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { ExportHistoryModalComponent } from './modals/export-history-modal/export-history-modal.component';\nimport { AddCustomTokenComponent } from './modals/add-custom-token/add-custom-token.component';\nimport { Asset } from '@api/models/assets.model';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-wallet',\n template: `\n
\n
\n
\n
\n

\n {{ variablesService.currentWallet.address | zanoShortString }}\n

\n\n \n \n\n \n \n \n \n\n \n
\n {{ variablesService.currentWallet.alias.name }}\n
\n\n \n \n \n \n\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n\n \n
\n
    \n
  • \n \n \n {{ 'WALLET_DETAILS.WALLET_OPTIONS' | translate }}\n \n
  • \n
  • \n \n \n {{ 'WALLET_DETAILS.ADD_CUSTOM_TOKEN' | translate }}\n \n
  • \n
  • \n \n \n {{ 'EXPORT_HISTORY.EXPORT_BUTTON' | translate }}\n \n
  • \n \n
  • \n \n {{ 'WALLET_DETAILS.RESYNC_WALLET_BUTTON' | translate }}\n \n
  • \n
    \n
  • \n \n {{ 'WALLET_DETAILS.BUTTON_REMOVE' | translate }}\n \n
  • \n
\n
\n \n\n
\n
\n \n \n \n {{ tab.title | translate }}\n {{ variablesService.currentWallet.new_contracts }}\n \n \n
\n
\n \n
\n
\n `,\n})\nexport class WalletComponent implements OnInit, OnDestroy {\n settingsButtonInterval;\n\n settingsButtonDisabled = true;\n\n walletLoaded = false;\n\n openDropdown: boolean;\n\n walletSyncVisible = false;\n\n tabs = [\n {\n title: 'WALLET.TABS.ASSETS',\n icon: 'balance-icon',\n link: '/assets',\n disabled: false,\n },\n {\n title: 'WALLET.TABS.HISTORY',\n icon: 'time-circle',\n link: '/history',\n disabled: false,\n },\n {\n title: 'WALLET.TABS.SEND',\n icon: 'arrow-up-square',\n link: '/send',\n disabled: true,\n },\n {\n title: 'WALLET.TABS.RECEIVE',\n icon: 'arrow-down-square',\n link: '/receive',\n disabled: false,\n },\n {\n title: 'Swap',\n icon: 'swap',\n link: '/swap',\n disabled: false,\n },\n // TODO: https://github.com/hyle-team/zano/issues/374\n // {\n // title: 'WALLET.TABS.CONTRACTS',\n // icon: 'document',\n // link: '/contracts',\n // disabled: true,\n // },\n {\n title: 'WALLET.TABS.STAKING',\n icon: 'staking',\n link: '/staking',\n indicator: false,\n disabled: true,\n },\n ];\n\n private destroy$ = new Subject();\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private store: Store,\n private dialog: Dialog,\n private walletsService: WalletsService\n ) {\n if (!this.variablesService.currentWallet && this.variablesService.wallets.length > 0) {\n this.variablesService.setCurrentWallet(0);\n }\n this.walletLoaded = this.variablesService.currentWallet.loaded;\n }\n\n @HostListener('document:keydown.shift', ['$event.key'])\n onKeyPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = true;\n }\n }\n\n @HostListener('document:keyup.shift', ['$event.key'])\n onKeyUpPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = false;\n }\n }\n\n ngOnInit(): void {\n this.settingsButtonInterval = setInterval(() => {\n // tslint:disable-next-line:triple-equals\n if (this.variablesService.daemon_state == 2 || this.walletLoaded) {\n this.settingsButtonDisabled = false;\n clearInterval(this.settingsButtonInterval);\n }\n }, 1000);\n this.store\n .select(StateKeys.sync)\n .pipe(filter(Boolean), distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe({\n next: (value: any) => {\n const data = value.filter((item: Sync) => item.wallet_id === this.variablesService.currentWallet.wallet_id)[0];\n if (data && !data.sync) {\n let in_progress;\n const values = this.store.state.sync;\n if (values && values.length > 0) {\n in_progress = values.filter(item => item.sync);\n this.variablesService.sync_started = !!(in_progress && in_progress.length);\n if (!in_progress) {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n } else {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n }\n },\n });\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n this.variablesService.getAliasChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n },\n });\n this.updateWalletStatus();\n this.variablesService.getWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.setTabsDisabled(!this.variablesService.currentWallet.balances);\n },\n });\n }\n\n toggleMenuDropdown(): void {\n if (!this.openDropdown) {\n this.openDropdown = true;\n } else {\n this.openDropdown = false;\n this.walletSyncVisible = false;\n }\n }\n\n resyncCurrentWallet(id): void {\n this.backend.resyncWallet(id);\n }\n\n beforeClose(wallet_id): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.closeWallet(wallet_id),\n });\n }\n\n addCustomToken(): void {\n this.dialog\n .open(AddCustomTokenComponent)\n .closed.pipe(\n filter(response_data => Boolean(response_data)),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: asset => {\n const dialogConfig: DialogConfig = {\n data: {\n asset,\n title: 'You added new asset',\n },\n };\n this.ngZone.run(() => {\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n });\n },\n });\n }\n\n exportHistory(): void {\n this.dialog.open(ExportHistoryModalComponent);\n }\n\n closeWallet(wallet_id): void {\n this.walletsService.closeWallet(wallet_id);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n updateWalletStatus(): void {\n this.backend.eventSubscribe(Commands.wallet_sync_progress, data => {\n const wallet_id = data.wallet_id;\n if (wallet_id === this.variablesService.currentWallet.wallet_id) {\n this.ngZone.run(() => {\n this.walletLoaded = false;\n });\n }\n });\n this.backend.eventSubscribe(Commands.update_wallet_status, data => {\n const wallet_state = data.wallet_state;\n const wallet_id = data.wallet_id;\n this.ngZone.run(() => {\n if (wallet_state === 2 && wallet_id === this.variablesService.currentWallet.wallet_id) {\n this.walletLoaded = this.variablesService.getWallet(this.variablesService.currentWallet.wallet_id)?.loaded || false;\n if (this.walletLoaded) {\n this.setTabsDisabled(!this.variablesService.currentWallet.balances);\n }\n } else {\n this.walletLoaded = false;\n }\n });\n });\n }\n\n setTabsDisabled(disabled: boolean): void {\n this.tabs[2].disabled = disabled;\n this.tabs[4].disabled = disabled;\n // TODO: https://github.com/hyle-team/zano/issues/374\n // this.tabs[5].disabled = disabled;\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonModule } from '@parts/directives/back-button/back-button.module';\n\n@Component({\n selector: 'app-back-button',\n standalone: true,\n imports: [CommonModule, BackButtonModule],\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n})\nexport class BackButtonComponent {}\n","\n \n\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-breadcrumbs',\n standalone: true,\n imports: [CommonModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class BreadcrumbsComponent {\n @Input() items: BreadcrumbItems = [];\n}\n","
\n
\n \n {{ item.title | translate }}\n \n\n \n {{ item.title | translate }}\n \n
\n
\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-checkbox',\n template: `\n
\n \n \n
\n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() label = '';\n\n @Input() id = 'id-' + Math.random();\n\n @Input() disabled = false;\n\n @Input() readonly = false;\n\n @Output() emitChange = new EventEmitter();\n\n onChange!: (value: boolean) => void;\n\n onTouched!: () => void;\n\n handlerChange({ target }: Event): void {\n const { checked } = target as HTMLInputElement;\n this.value = checked;\n this.emitChange.emit(checked);\n if (this.onChange) {\n this.onChange(checked);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-copy-button',\n template: `\n \n \n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CopyButtonComponent {\n @Input() value: string;\n\n @Input() size: 'small' | 'big' = 'small';\n\n copyAnimation = false;\n\n copyAnimationTimeout;\n\n constructor(private backend: BackendService, public variablesService: VariablesService) {}\n\n copy(): void {\n this.backend.setClipboard(this.value || '');\n this.copyAnimation = true;\n this.copyAnimationTimeout = window.setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\n\ntype LoaderType = 'circle' | 'circle-2' | 'circle-3' | 'dots' | 'dots-2' | 'pulse';\n\n@Component({\n selector: 'zano-loader',\n standalone: true,\n template: `\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n `,\n styles: [\n `\n /* Loader 1 */\n .loader-1 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-1-1 4.8s linear infinite;\n animation: loader-1-1 4.8s linear infinite;\n }\n\n @-webkit-keyframes loader-1-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-1-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-1 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n -webkit-animation: loader-1-2 1.2s linear infinite;\n animation: loader-1-2 1.2s linear infinite;\n }\n\n @-webkit-keyframes loader-1-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(220deg);\n }\n }\n\n @keyframes loader-1-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(220deg);\n }\n }\n\n .loader-1 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n border: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-1-3 {\n 0% {\n -webkit-transform: rotate(-140deg);\n }\n 50% {\n -webkit-transform: rotate(-160deg);\n }\n 100% {\n -webkit-transform: rotate(140deg);\n }\n }\n\n @keyframes loader-1-3 {\n 0% {\n transform: rotate(-140deg);\n }\n 50% {\n transform: rotate(-160deg);\n }\n 100% {\n transform: rotate(140deg);\n }\n }\n\n /* Loader 2 */\n .loader-2 {\n display: block;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-2-1 3s linear infinite;\n animation: loader-2-1 3s linear infinite;\n }\n\n @-webkit-keyframes loader-2-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(16px, 32px, 32px, 0);\n -webkit-animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid transparent;\n border-top: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-3 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-3 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid rgba(255, 255, 255, 0.5);\n border-radius: 50%;\n }\n\n /* Loader 3 */\n .loader-3 {\n display: block;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid #fff;\n border-bottom: 3px solid transparent;\n border-radius: 50%;\n -webkit-animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 40% {\n -webkit-transform: rotate(180deg);\n }\n 60% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-3-1 {\n 0% {\n transform: rotate(0deg);\n }\n 40% {\n transform: rotate(180deg);\n }\n 60% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-3 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 6px;\n height: 6px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-2 {\n 0% {\n -webkit-transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n @keyframes loader-3-2 {\n 0% {\n transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n /* Loader 4 */\n .loader-4 {\n height: 32px;\n width: 32px;\n }\n\n .loader-4::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 12px;\n height: 12px;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-1 {\n 0% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n 50% {\n -webkit-transform: scale(1);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n }\n\n @keyframes loader-4-1 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n .loader-4 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 50% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-4-2 {\n 0% {\n transform: rotate(0deg);\n }\n 50% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-4 span::before,\n .loader-4 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 12px;\n width: 12px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-4 span::after {\n -webkit-animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 5 */\n .loader-5 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-5-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-5::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: auto;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: auto;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-5 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: auto;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span::after {\n content: '';\n display: block;\n position: absolute;\n top: auto;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-5 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-5 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 6 */\n .loader-6 {\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span::before,\n .loader-6 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 2px solid #fff;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n }\n\n @-webkit-keyframes loader-6-1 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-1 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n .loader-6 span::after {\n -webkit-animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n }\n\n @-webkit-keyframes loader-6-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n `,\n ],\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault],\n})\nexport class LoaderComponent {\n @Input()\n type: LoaderType = 'circle';\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ContextMenuComponent, ContextMenuModule, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-register-context-templates',\n template: ` \n {{ 'CONTEXT_MENU.COPY' | translate }}\n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n \n \n {{ 'CONTEXT_MENU.COPY' | translate }}\n \n\n \n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n `,\n standalone: true,\n imports: [CommonModule, ContextMenuModule, TranslateModule],\n providers: [ContextMenuService],\n})\nexport class RegisterContextTemplatesComponent implements OnInit {\n @ViewChild('allContextMenu', { static: true })\n public allContextMenu: ContextMenuComponent;\n\n @ViewChild('onlyCopyContextMenu', { static: true })\n public onlyCopyContextMenu: ContextMenuComponent;\n\n @ViewChild('pasteSelectContextMenu', { static: true })\n public pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n ngOnInit(): void {\n this.variablesService.allContextMenu = this.allContextMenu;\n this.variablesService.onlyCopyContextMenu = this.onlyCopyContextMenu;\n this.variablesService.pasteSelectContextMenu = this.pasteSelectContextMenu;\n }\n\n contextMenuCopy(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const canUseSelection = target[start] || target[start] === '0';\n const SelectedText = canUseSelection ? target['value'].substring(target[start], target[end]) : target['value'];\n this.backendService.setClipboard(String(SelectedText));\n }\n }\n\n contextMenuOnlyCopy(text): void {\n if (text) {\n this.backendService.setClipboard(String(text));\n }\n }\n\n contextMenuPaste(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n this.backendService.getClipboard((status, clipboard) => {\n clipboard = String(clipboard);\n if (typeof clipboard !== 'string' || clipboard.length) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const _pre = target['value'].substring(0, target[start]);\n const _aft = target['value'].substring(target[end], target['value'].length);\n let text = _pre + clipboard + _aft;\n const cursorPosition = (_pre + clipboard).length;\n if (target['maxLength'] && parseInt(target['maxLength'], 10) > 0) {\n text = text.substr(0, parseInt(target['maxLength'], 10));\n }\n target['value'] = text;\n target.setSelectionRange(cursorPosition, cursorPosition);\n target.dispatchEvent(new Event('input'));\n target['focus']();\n }\n });\n }\n }\n\n contextMenuSelect(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n target['focus']();\n setTimeout(() => {\n target['select']();\n });\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-staking-switch',\n template: `\n \n \n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class StakingSwitchComponent {\n @Input() wallet_id: number;\n\n @Input() staking: boolean;\n\n @Output() stakingChange = new EventEmitter();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService) {}\n\n toggleStaking(): void {\n const wallet = this.variablesService.getWallet(this.wallet_id);\n if (wallet && wallet.loaded) {\n this.stakingChange.emit(!this.staking);\n if (!this.staking) {\n this.backendService.startPosMining(this.wallet_id);\n } else {\n this.backendService.stopPosMining(this.wallet_id);\n }\n }\n }\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-switch',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n },\n ],\n})\nexport class SwitchComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() disabled = false;\n\n @Output() emitChange = new EventEmitter();\n\n onTouched!: () => void;\n\n onChange!: (value: boolean) => void;\n\n toggle(): void {\n if (!this.disabled) {\n this.value = !this.value;\n this.emitChange.emit(this.value);\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component } from '@angular/core';\nimport { VariablesService } from '../services/variables.service';\nimport { DOWNLOADS_PAGE_URL } from '@parts/data/constants';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-synchronization-status',\n template: `\n \n
\n \n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\n
\n \n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }}\n {{ variablesService.sync.progress_value_text }}%\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n \n \n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }}\n {{ variablesService.download.progress_value_text }}%\n \n\n \n \n
\n
\n \n \n \n \n\n \n \n
\n
\n \n \n \n \n\n \n \n
\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n \n\n \n
\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\n
\n \n \n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class SynchronizationStatusComponent {\n constructor(public variablesService: VariablesService, private backend: BackendService) {}\n\n getUpdate(): void {\n this.backend.openUrlInBrowser(DOWNLOADS_PAGE_URL);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Transaction } from '@api/models/transaction.model';\nimport { VariablesService } from '../services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { BLOCK_EXPLORER_TN_TX_URL_PREFIX, BLOCK_EXPLORER_TX_URL_PREFIX } from '../data/constants';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-transaction-details',\n template: `\n \n \n \n \n \n {{ transaction.tx_hash }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ transaction.payment_id }}\n \n \n \n \n \n {{ transaction.comment }}\n \n \n \n
{{ 'HISTORY.DETAILS.ID' | translate }}{{ 'HISTORY.DETAILS.SIZE' | translate }}\n {{ 'HISTORY.DETAILS.SIZE_VALUE' | translate : { value: transaction.tx_blob_size } }}\n
{{ 'HISTORY.DETAILS.HEIGHT' | translate }}{{ transaction.height }}{{ 'HISTORY.DETAILS.CONFIRMATION' | translate }}\n {{ transaction.height === 0 ? 0 : variablesService.height_app - transaction.height }}\n
{{ 'HISTORY.DETAILS.PAYMENT_ID' | translate }}
{{ 'HISTORY.DETAILS.COMMENT' | translate }}
\n `,\n styles: [\n `\n :host {\n display: block;\n padding: 2rem 0;\n }\n table tbody tr {\n background: none;\n }\n\n table tbody tr td {\n padding: 1rem 2rem;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class TransactionDetailsComponent {\n @Input() transaction: Transaction;\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n openInBrowser(tr): void {\n this.backendService.openUrlInBrowser(\n (this.variablesService.testnet ? BLOCK_EXPLORER_TN_TX_URL_PREFIX : BLOCK_EXPLORER_TX_URL_PREFIX) + tr\n );\n }\n}\n","import { Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\nimport { Wallet } from '@api/models/wallet.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Asset, Assets } from '@api/models/assets.model';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { IntToMoneyPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\n\n@Component({\n selector: 'app-wallet-card',\n template: `\n
\n
\n
\n
\n \n {{ wallet.new_contracts }}\n \n\n \n {{ !wallet.alias['name'] ? wallet.name : wallet.alias['name'] }}\n \n
\n
\n
\n \n \n \n
\n
\n\n \n {{ wallet.getMoneyEquivalentForZano(variablesService.moneyEquivalent) | intToMoney | currency : 'USD' || '---' }}\n \n {{ variablesService.moneyEquivalentPercent | number : '1.2-2' }}%\n \n \n\n \n \n {{ 'SIDEBAR.ACCOUNT.STAKING' | translate }}\n \n
\n \n\n \n
\n
\n \n
{{ wallet.progress }}%
\n \n \n `,\n standalone: true,\n imports: [CommonModule, TooltipModule, TranslateModule, IntToMoneyPipeModule, StakingSwitchComponent, DisablePriceFetchModule],\n})\nexport class WalletCardComponent {\n @HostBinding('class') classAttr = 'wallet';\n\n @Input() wallet: Wallet;\n\n @Output() eventClose = new EventEmitter();\n\n constructor(\n public variablesService: VariablesService,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService,\n private backend: BackendService\n ) {}\n\n getBalancesTooltip(): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!this.wallet || !this.wallet.balances) {\n return null;\n }\n const { balances } = this.wallet;\n\n scrollWrapper.classList.add('balance-scroll-list');\n balances.forEach(({ unlocked, total, asset_info: { ticker } }: Asset) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerHTML = this.translate.instant('WALLET.AVAILABLE_BALANCE', {\n available: this.intToMoneyPipe.transform(unlocked),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(available);\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE', {\n locked: this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)),\n currency: ticker || '---',\n });\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backend.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n}\n","import { WhiteAssetInfo } from '@api/models/assets.model';\n\nexport const zanoAssetInfo: WhiteAssetInfo = {\n asset_id: 'd6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a',\n current_supply: 0,\n decimal_point: 12,\n full_name: 'Zano',\n logo: 'assets/icons/currency-icons/zano.svg',\n meta_info: '',\n owner: '0000000000000000000000000000000000000000000000000000000000000000',\n price_url: 'https://api.coingecko.com/api/v3/simple/price?ids=zano&vs_currencies=usd&include_24hr_change=true',\n ticker: 'ZANO',\n total_max_supply: 0,\n};\n","export const MIXIN = 10; // default mixin value\nexport const RCV_ADDR_QR_SCALE = 1.5; // scale factor for QR code\n\nexport const AUDITABLE_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/auditable-wallets-faq';\nexport const CREATE_NEW_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/wallets/gui-wallet';\nexport const LOCKED_BALANCE_HELP_PAGE = 'docs.zano.org/docs/use/locked-balance';\nexport const DOWNLOADS_PAGE_URL = 'zano.org/downloads';\n\nexport const BLOCK_EXPLORER_TX_URL_PREFIX = 'explorer.zano.org/transaction/';\nexport const BLOCK_EXPLORER_TN_TX_URL_PREFIX = 'testnet-explorer.zano.org/transaction/';\n","import { ScaleItems } from '@api/models/scale.model';\n\nexport const scaleItems: ScaleItems = [\n {\n value: '8px',\n name: 'SETTINGS.SCALE.75',\n },\n {\n value: '10px',\n name: 'SETTINGS.SCALE.100',\n },\n {\n value: '12px',\n name: 'SETTINGS.SCALE.125',\n },\n {\n value: '14px',\n name: 'SETTINGS.SCALE.150',\n },\n];\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n standalone: true,\n})\nexport class AutoFocusDirective implements AfterViewInit {\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => this.elementRef.nativeElement.focus());\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { NavigationService } from '@parts/services/back.service';\n\n@Directive({\n selector: '[appBackButton]',\n})\nexport class BackButtonDirective {\n constructor(private navigationService: NavigationService) {}\n\n @HostListener('click')\n onClick(): void {\n this.navigationService.back();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonDirective } from './back-button.directive';\n\n@NgModule({\n declarations: [BackButtonDirective],\n exports: [BackButtonDirective],\n imports: [CommonModule],\n})\nexport class BackButtonModule {}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[appDefaultImg]',\n})\nexport class DefaultImgDirective {\n @Input() defaultImgSrc!: string | null | undefined;\n @Input() defaultImgAlt: string | null | undefined;\n\n constructor(private elementRef: ElementRef) {}\n\n @HostListener('error')\n handlerOnError(): void {\n const elementImg: HTMLImageElement = this.elementRef.nativeElement;\n elementImg.onerror = null;\n elementImg.src = this.defaultImgSrc || '---';\n elementImg.alt = this.defaultImgAlt || '---';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DefaultImgDirective } from './default-img.directive';\n\n@NgModule({\n declarations: [DefaultImgDirective],\n exports: [DefaultImgDirective],\n imports: [CommonModule],\n})\nexport class DefaultImgModule {}\n","export * from './default-img.module';\n","import { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDisablePriceFetch]',\n})\nexport class DisablePriceFetchDirective implements OnDestroy {\n private destroy$: Subject = new Subject();\n\n constructor(\n private _variablesService: VariablesService,\n private _templateRef: TemplateRef,\n private _viewContainer: ViewContainerRef\n ) {\n this._variablesService.disable_price_fetch$.pipe(takeUntil(this.destroy$)).subscribe({\n next: (disable_price_fetch: boolean) => {\n return !disable_price_fetch ? this._viewContainer.createEmbeddedView(this._templateRef) : this._viewContainer.clear();\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchDirective } from './disable-price-fetch.directive';\n\n@NgModule({\n declarations: [DisablePriceFetchDirective],\n imports: [CommonModule],\n exports: [DisablePriceFetchDirective],\n})\nexport class DisablePriceFetchModule {}\n","export * from './disable-price-fetch.directive';\nexport * from './disable-price-fetch.module';\n","export * from './default-img';\nexport * from './disable-price-fetch';\nexport * from './input-disable-selection';\nexport * from './input-validate';\nexport * from './tooltip';\nexport * from './lower-case.directive';\n","export * from './input-disable-selection.module';\nexport * from './input-disable-selection.directive';\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line\n selector: 'input',\n})\nexport class InputDisableSelectionDirective {\n @HostListener('mousedown', ['$event'])\n handleInput(event: Event): void {\n if ((event.target).readOnly) {\n event.preventDefault();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputDisableSelectionDirective } from '@parts/directives/input-disable-selection/input-disable-selection.directive';\n\n@NgModule({\n declarations: [InputDisableSelectionDirective],\n exports: [InputDisableSelectionDirective],\n imports: [CommonModule],\n})\nexport class InputDisableSelectionModule {}\n","export * from './input-validate.module';\nexport * from './input-validate.directive';\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\n\n@Directive({\n selector: '[appInputValidate]',\n})\nexport class InputValidateDirective {\n private type: string;\n\n constructor(private el: ElementRef, private variablesService: VariablesService) {}\n\n @Input('appInputValidate')\n public set defineInputType(type: string) {\n this.type = type;\n }\n\n @HostListener('input', ['$event'])\n handleInput(event: Event): void {\n if (this.type === 'money') {\n this.moneyValidation(event);\n } else if (this.type === 'integer') {\n this.integerValidation(event);\n }\n }\n\n private moneyValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n // eslint-disable-next-line\n const OnlyD = /[^\\d\\.]/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(',', '.').replace(OnlyD, '');\n }\n const _double_separator = currentValue.match(/\\./g);\n if (_double_separator && _double_separator.length > 1) {\n currentValue = currentValue.substr(0, currentValue.lastIndexOf('.'));\n }\n if (currentValue.indexOf('.') === 0) {\n currentValue = '0' + currentValue;\n }\n const _zero_fill = currentValue.split('.');\n if (_zero_fill[0].length > 7) {\n _zero_fill[0] = _zero_fill[0].substr(0, 7);\n }\n\n if (1 in _zero_fill && _zero_fill[1].length) {\n _zero_fill[1] = _zero_fill[1].substr(0, this.variablesService.digits);\n }\n currentValue = _zero_fill.join('.');\n if (currentValue !== originalValue) {\n (event.target).value = currentValue;\n const cursorPosition = (event.target).selectionEnd;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n (event.target).dispatchEvent(new Event('input'));\n }\n }\n\n private integerValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n const OnlyD = /\\D/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(OnlyD, '');\n }\n if (currentValue !== originalValue) {\n const cursorPosition = (event.target).selectionEnd;\n (event.target).value = currentValue;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputValidateDirective } from '@parts/directives/input-validate/input-validate.directive';\n\n@NgModule({\n declarations: [InputValidateDirective],\n exports: [InputValidateDirective],\n imports: [CommonModule],\n})\nexport class InputValidateModule {}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: 'input[lowerCase]:not([upperCase]),textarea[lowerCase]:not([upperCase])',\n standalone: true,\n})\nexport class LowerCaseDirective {\n @Input() lowerCaseValue: string;\n\n @Input() lowerCaseDisabled = false;\n\n private getCaret(el) {\n return {\n start: el.selectionStart,\n end: el.selectionEnd,\n };\n }\n\n private setCaret(el, start, end) {\n el.selectionStart = start;\n el.selectionEnd = end;\n\n el.focus();\n }\n\n private dispatchEvent(el, eventType) {\n const event = document.createEvent('Event');\n event.initEvent(eventType, false, false);\n el.dispatchEvent(event);\n }\n\n private convertValue(el, value) {\n el.value = value.toLowerCase();\n\n this.dispatchEvent(el, 'input');\n }\n\n @HostListener('blur', ['$event.target', '$event.target.value'])\n onBlur(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (\n (!this.lowerCaseValue || 'blur' === this.lowerCaseValue) &&\n 'function' === typeof value.toLowerCase &&\n value.toLowerCase() !== value\n ) {\n this.convertValue(el, value);\n this.dispatchEvent(el, 'blur'); // in case updateOn is set to blur\n }\n }\n\n @HostListener('input', ['$event.target', '$event.target.value'])\n onInput(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (!this.lowerCaseValue && 'function' === typeof value.toLowerCase && value.toLowerCase() !== value) {\n let { start, end } = this.getCaret(el);\n\n if (value[0] === ' ' && start === 1 && end === 1) {\n start = 0;\n end = 0;\n }\n\n this.convertValue(el, value);\n\n this.setCaret(el, start, end);\n }\n }\n}\n","export * from './tooltip.directive';\nexport * from './tooltip.module';\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n // eslint-disable-next-line\n selector: '[tooltip]',\n})\nexport class TooltipDirective implements OnDestroy {\n @HostBinding('style.cursor') cursor;\n\n @Input('tooltip') tooltipInner: any;\n\n @Input() placement: string;\n\n @Input() tooltipClass: string;\n\n @Input() timeout = 0;\n\n @Input() timeDelay = 0;\n\n @Input() delay = 0;\n\n @Input() showWhenNoOverflow = true;\n\n @Output() eventHide = new EventEmitter();\n\n tooltip: HTMLElement;\n\n removeTooltipTimeout;\n\n removeTooltipTimeoutInner;\n\n removeTooltipTimeDelay;\n\n private enter: (event: MouseEvent) => void;\n\n private leave: (event: MouseEvent) => void;\n\n constructor(private el: ElementRef, private renderer: Renderer2, private sanitizer: DomSanitizer) {}\n\n @HostListener('mouseenter') onMouseEnter(): void {\n if (!this.tooltipInner) {\n return;\n }\n if (this.showWhenNoOverflow || (!this.showWhenNoOverflow && this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth)) {\n this.cursor = 'pointer';\n if (!this.tooltip) {\n if (this.timeDelay !== 0) {\n this.removeTooltipTimeDelay = setTimeout(() => {\n this.show();\n }, this.timeDelay);\n } else {\n this.show();\n }\n } else {\n this.cancelHide();\n }\n }\n }\n\n @HostListener('mouseleave') onMouseLeave(): void {\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.hide();\n }\n }\n\n show(): void {\n this.create();\n this.placement = this.placement === null ? 'top' : this.placement;\n this.setPosition(this.placement);\n }\n\n hide(): void {\n this.removeTooltipTimeout = setTimeout(() => {\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.removeTooltipTimeoutInner = setTimeout(() => {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip.removeEventListener('mouseenter', this.enter);\n this.tooltip.removeEventListener('mouseleave', this.leave);\n this.tooltip = null;\n this.eventHide.emit(true);\n }, this.delay);\n }, this.timeout);\n }\n\n cancelHide(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }\n\n create(): void {\n this.tooltip = this.renderer.createElement('div');\n let innerBlock = this.renderer.createElement('div');\n if (typeof this.tooltipInner === 'string') {\n innerBlock.innerText = this.sanitizer.sanitize(SecurityContext.HTML, this.tooltipInner);\n } else {\n if (this.tooltipInner) {\n innerBlock = this.tooltipInner;\n }\n }\n this.renderer.addClass(innerBlock, 'tooltip-inner');\n this.renderer.addClass(innerBlock, 'scrolled-content');\n this.renderer.appendChild(this.tooltip, innerBlock);\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.enter = (): void => {\n this.cancelHide();\n };\n this.tooltip.addEventListener('mouseenter', this.enter);\n this.leave = (): void => {\n if (this.tooltip) {\n this.hide();\n }\n };\n this.tooltip.addEventListener('mouseleave', this.leave);\n\n this.renderer.setStyle(document.body, 'position', 'relative');\n this.renderer.setStyle(this.tooltip, 'position', 'absolute');\n if (this.tooltipClass !== null) {\n const classes = this.tooltipClass.split(' ');\n for (let i = 0; i < classes.length; i++) {\n this.renderer.addClass(this.tooltip, classes[i]);\n }\n }\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\n window.setTimeout(() => {\n return this.tooltip && this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }, 0);\n }\n\n setPosition(placement): void {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-' + placement);\n const topExit = hostPos.top - this.tooltip.getBoundingClientRect().height - parseInt(getComputedStyle(this.tooltip).marginTop, 10) < 0;\n const bottomExit =\n window.innerHeight <\n hostPos.bottom + this.tooltip.getBoundingClientRect().height + parseInt(getComputedStyle(this.tooltip).marginTop, 10);\n\n switch (placement) {\n case 'top':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom');\n return;\n } else {\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-left':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-right':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'bottom':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.checkSides();\n }\n break;\n case 'bottom-left':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.checkSides();\n }\n break;\n case 'bottom-right':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.checkSides();\n }\n break;\n case 'left':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'left-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n break;\n case 'left-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n case 'right':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'right-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n break;\n case 'right-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n }\n }\n\n checkSides(): void {\n if (this.tooltip.getBoundingClientRect().left < 0) {\n this.renderer.setStyle(this.tooltip, 'left', 0);\n }\n if (this.tooltip.getBoundingClientRect().right > window.innerWidth) {\n this.renderer.setStyle(this.tooltip, 'left', window.innerWidth - this.tooltip.getBoundingClientRect().width + 'px');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip = null;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [TooltipDirective],\n imports: [CommonModule],\n exports: [TooltipDirective],\n})\nexport class TooltipModule {}\n","export const hasOwnProperty = (obj: object, key: string): boolean => {\n if (Boolean(obj) && Boolean(key)) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n return false;\n};\n","import { Component, inject, Inject, NgZone, OnInit } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Asset } from '@api/models/assets.model';\nimport { zanoAssetInfo } from '@parts/data/assets';\nimport { BackendService } from '@api/services/backend.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\n@Component({\n selector: 'app-asset-details',\n template: `\n
\n
\n

\n {{ title | translate }}\n

\n \n
\n
\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.NAME' | translate }}\n
\n
{{ asset.asset_info.full_name }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.TICKER' | translate }}\n
\n
{{ asset.asset_info.ticker }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.ID' | translate }}\n
\n
\n {{ asset.asset_info.asset_id }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.CURRENT_SUPPLY' | translate }}\n
\n
\n {{ asset.asset_info.asset_id === zanoAssetInfo.asset_id ? zano_current_supply : asset.asset_info.current_supply }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.MAX_SUPPLE' | translate }}\n
\n
\n {{ asset.asset_info.asset_id === zanoAssetInfo.asset_id ? 'Uncapped' : asset.asset_info.total_max_supply }}\n
\n
\n
\n
\n
\n No data\n
\n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class AssetDetailsComponent implements OnInit {\n title = 'Asset Details';\n\n asset!: Asset;\n\n zanoAssetInfo = zanoAssetInfo;\n\n backendService = inject(BackendService);\n\n ngZone = inject(NgZone);\n\n zano_current_supply = null;\n\n constructor(\n public variablesService: VariablesService,\n private dialogRef: DialogRef,\n @Inject(DIALOG_DATA) { asset, title }: { asset: Asset; title?: string }\n ) {\n this.asset = asset;\n\n if (title) {\n this.title = title;\n }\n }\n\n ngOnInit(): void {\n if (this.asset.asset_info.asset_id === zanoAssetInfo.asset_id) {\n this.getZanoCurrentSupply();\n }\n }\n\n private getZanoCurrentSupply(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: wallet_id,\n method: 'getinfo',\n params: {\n flags: 1024,\n },\n };\n\n this.backendService.call_rpc(params1, (status1, response_data1) => {\n if (response_data1.result.status === 'OK') {\n this.backendService.call_rpc(params2, (status2, response_data2) => {\n this.ngZone.run(() => {\n this.zano_current_supply = response_data2?.['result']?.['total_coins'] ?? null;\n });\n });\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [AssetDetailsComponent],\n exports: [AssetDetailsComponent],\n imports: [CommonModule, TranslateModule, FlexModule],\n})\nexport class AssetDetailsModule {}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\n\nexport interface ConfirmModalData {\n title: string;\n message?: string;\n buttons?: Partial<{\n close: string;\n submit: string;\n }>;\n}\n\n@Component({\n selector: 'app-confirm-modal',\n template: `\n \n \n \n \n\n \n \n\n \n

{{ title | translate }}

\n

{{ message | translate }}

\n \n \n\n \n \n {{ data?.buttons?.close || 'MODALS.CANCEL' | translate }}\n \n \n {{ data?.buttons?.submit || 'MODALS.OK' | translate }}\n \n \n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ConfirmModalComponent implements OnInit {\n title: string;\n\n message: string;\n\n data: ConfirmModalData;\n\n @ViewChild('buttonSubmit', { static: true }) buttonSubmit: ElementRef;\n\n constructor(private dialogRef: DialogRef, @Inject(DIALOG_DATA) data: ConfirmModalData) {\n const { title, message } = data;\n this.data = data;\n this.title = title;\n this.message = message;\n }\n\n ngOnInit(): void {\n this.buttonSubmit.nativeElement.focus();\n }\n\n submit(): void {\n this.dialogRef.close(true);\n }\n\n close(): void {\n this.dialogRef.close(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmModalComponent } from './confirm-modal.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [ConfirmModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule],\n exports: [ConfirmModalComponent],\n})\nexport class ConfirmModalModule {}\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-modal-container',\n template: `\n
\n \n \n \n\n \n \n
\n

{{ title }}

\n

\n
\n
\n\n \n \n {{ 'MODALS.OK' | translate }}\n \n \n \n `,\n styles: [],\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n public title: string;\n\n @Input() type: string;\n\n @Input() message: string;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('btn', { static: true }) button: ElementRef;\n\n constructor(private translate: TranslateService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n this.button.nativeElement.focus();\n switch (this.type) {\n case 'error':\n this.title = this.translate.instant('MODALS.ERROR');\n break;\n case 'success':\n this.title = this.translate.instant('MODALS.SUCCESS');\n break;\n case 'info':\n this.title = this.translate.instant('MODALS.INFO');\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n onClose(): void {\n this.eventClose.emit();\n }\n}\n","import { Component, HostBinding, Input, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalService } from '../../services/modal.service';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-open-wallet-modal',\n template: `\n
\n
\n

{{ 'OPEN_WALLET.MODAL.TITLE' | translate }}

\n\n
{{ wallet.name }}
\n
{{ wallet.path }}
\n\n \n \n \n \n \n {{ 'OPEN_WALLET.MODAL.NOT_FOUND' | translate }}\n
\n \n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n \n\n \n \n {{ 'OPEN_WALLET.MODAL.OPEN' | translate }}\n \n \n {{ 'OPEN_WALLET.MODAL.SKIP' | translate }}\n \n \n \n \n \n `,\n styles: [],\n})\nexport class OpenWalletModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() wallets;\n\n isWrongPassword$ = new BehaviorSubject(false);\n\n wallet = {\n name: '',\n path: '',\n pass: '',\n notFound: false,\n emptyPass: false,\n };\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private backend: BackendService,\n private translate: TranslateService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n if (this.wallets.length) {\n this.wallet = this.wallets[0];\n this.wallet.pass = '';\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n openWallet(): void {\n if (this.wallets.length === 0) {\n return;\n }\n this.backend.openWallet(\n this.wallet.path,\n this.wallet.pass,\n this.variablesService.count,\n false,\n (open_status, open_data, open_error) => {\n if (open_error === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.isWrongPassword$.next(true);\n });\n }\n if (open_error && open_error === 'FILE_NOT_FOUND') {\n this.ngZone.run(() => {\n this.wallet.notFound = true;\n });\n let error_translate = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n error_translate += ':
' + this.wallet.path;\n error_translate += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n this.modalService.prepareModal('error', error_translate);\n } else {\n if (open_status || open_error === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === open_data['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(open_data.wallet_id);\n } else {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n this.wallet.name,\n this.wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(open_data.wallet_id);\n this.skipWallet();\n this.isWrongPassword$.next(false);\n }\n }\n }\n }\n );\n }\n\n skipWallet(): void {\n this.ngZone.run(() => {\n if (this.wallets.length) {\n this.wallets.splice(0, 1);\n this.ngOnInit();\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractStatusMessagesPipe } from '@parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe';\n\n@NgModule({\n declarations: [ContractStatusMessagesPipe],\n exports: [ContractStatusMessagesPipe],\n providers: [ContractStatusMessagesPipe],\n imports: [CommonModule],\n})\nexport class ContractStatusMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractStatusMessages',\n})\nexport class ContractStatusMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n getStateSeller(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NEW_CONTRACT');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAITING_BUYER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.PROPOSAL_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n getStateBuyer(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n break;\n case 120:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_SELLER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n transform(state: number, is_a?: boolean): any {\n if (is_a) {\n return this.getStateBuyer(state);\n } else {\n return this.getStateSeller(state);\n }\n }\n}\n","export * from './contract-status-messages-pipe.module';\nexport * from './contract-status-messages.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractTimeLeftPipe } from '@parts/pipes/contract-time-left-pipe/contract-time-left.pipe';\n\n@NgModule({\n declarations: [ContractTimeLeftPipe],\n exports: [ContractTimeLeftPipe],\n providers: [ContractTimeLeftPipe],\n imports: [CommonModule],\n})\nexport class ContractTimeLeftPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractTimeLeft',\n})\nexport class ContractTimeLeftPipe implements PipeTransform {\n constructor(private service: VariablesService, private translate: TranslateService) {}\n\n transform(value: any, arg?: any): any {\n const time = parseInt(((parseInt(value, 10) - this.service.exp_med_ts) / 3600).toFixed(0), 10);\n const type = arg || 0;\n if (time === 0) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_LESS_ONE');\n }\n if (this.service.settings.language === 'en') {\n if (type === 0) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n }\n } else if (type === 1) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n }\n }\n } else {\n const rest = time % 10;\n if (type === 0) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT', { time: time });\n }\n } else if (type === 1) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_WAITING', { time: time });\n }\n }\n }\n return null;\n }\n}\n","export * from './contract-time-left-pipe.module';\nexport * from './contract-time-left.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GetPriceByUrlPipe } from './get-price-by-url.pipe';\n\n@NgModule({\n declarations: [GetPriceByUrlPipe],\n exports: [GetPriceByUrlPipe],\n providers: [GetPriceByUrlPipe],\n imports: [CommonModule],\n})\nexport class GetPriceByUrlModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n@Pipe({\n name: 'getPriceByUrl',\n})\nexport class GetPriceByUrlPipe implements PipeTransform {\n constructor(private httpClient: HttpClient) {}\n transform(price_url: string): Observable<{ usd: number; usd_24h_change: number }> | undefined {\n return price_url && this.httpClient.get(price_url).pipe(map(obj => Object.values(obj)[0] || { usd: 0, usd_24h_change: 0 }));\n }\n}\n","export * from './get-price-by-url.pipe';\nexport * from './get-price-by-url.module';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GetWhiteAssetInfoPipe } from './get-white-asset-info.pipe';\n\n@NgModule({\n declarations: [GetWhiteAssetInfoPipe],\n exports: [GetWhiteAssetInfoPipe],\n providers: [GetWhiteAssetInfoPipe],\n imports: [CommonModule],\n})\nexport class GetWhiteAssetInfoModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Asset, WhiteAssetInfo } from '@api/models/assets.model';\nimport { AssetsFacade } from '@store/assets/assets.facade';\nimport { Observable } from 'rxjs';\n\n@Pipe({\n name: 'getWhiteAssetInfo',\n})\nexport class GetWhiteAssetInfoPipe implements PipeTransform {\n constructor(private assetsFacade: AssetsFacade) {}\n\n transform({ asset_info: { asset_id } }: Asset): Observable {\n return this.assetsFacade.getAssetByIdFromWhitelist(asset_id);\n }\n}\n","export * from './get-white-asset-info.module';\nexport * from './get-white-asset-info.pipe';\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Asset, WhiteAssetInfo } from '@api/models/assets.model';\nimport { AssetsFacade } from '@store/assets/assets.facade';\nimport { Observable } from 'rxjs';\n\n@Pipe({\n name: 'getWhiteAsset',\n standalone: true,\n})\nexport class GetWhiteAssetPipe implements PipeTransform {\n constructor(private assetsFacade: AssetsFacade) {}\n transform(asset_id: Asset['asset_info']['asset_id']): Observable {\n return this.assetsFacade.getAssetByIdFromWhitelist(asset_id);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HasInAssetsWhitelistPipe } from './has-in-assets-whitelist.pipe';\n\n@NgModule({\n declarations: [HasInAssetsWhitelistPipe],\n exports: [HasInAssetsWhitelistPipe],\n providers: [HasInAssetsWhitelistPipe],\n imports: [CommonModule],\n})\nexport class HasInAssetsWhitelistModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AssetsFacade } from '@store/assets/assets.facade';\nimport { Asset } from '@api/models/assets.model';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Pipe({\n name: 'hasInAssetsWhitelist',\n})\nexport class HasInAssetsWhitelistPipe implements PipeTransform {\n constructor(private assetsFacade: AssetsFacade) {}\n\n transform({ asset_info: { asset_id } }: Asset): Observable {\n return this.assetsFacade.getAssetByIdFromWhitelist(asset_id).pipe(map(i => Boolean(i)));\n }\n}\n","export * from './has-in-assets-whitelist.pipe';\nexport * from './has-in-assets-whitelist.module';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HistoryTypeMessagesPipe } from '@parts/pipes/history-type-messages-pipe/history-type-messages.pipe';\n\n@NgModule({\n declarations: [HistoryTypeMessagesPipe],\n exports: [HistoryTypeMessagesPipe],\n providers: [HistoryTypeMessagesPipe],\n imports: [CommonModule],\n})\nexport class HistoryTypeMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { hasOwnProperty } from '../../functions/hasOwnProperty';\n\n@Pipe({\n name: 'historyTypeMessages',\n})\nexport class HistoryTypeMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n transform(item: any): any {\n if (item.tx_type === 0) {\n if (item.remote_addresses && item.remote_addresses[0]) {\n return item.remote_addresses[0];\n } else {\n if (item.is_income) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.HIDDEN');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n }\n } else if (item.tx_type === 6 && item.height === 0) {\n return 'unknown';\n } else if (item.tx_type === 9) {\n if (hasOwnProperty(item, 'contract') && item.contract[0].is_a) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_BUYER');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_SELLER');\n }\n } else {\n switch (item.tx_type) {\n // case 0:\n // return '';\n // case 1:\n // return '';\n // case 2:\n // return '';\n // case 3:\n // return '';\n case 4:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_ALIAS');\n case 5:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UPDATE_ALIAS');\n case 6:\n return item.td['spn'] && item.td['spn'].length\n ? this.translate.instant('HISTORY.TYPE_MESSAGES.POS_REWARD')\n : this.translate.instant('HISTORY.TYPE_MESSAGES.POW_REWARD');\n case 7:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_CONTRACT');\n case 8:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PLEDGE_CONTRACT');\n // case 9:\n // return '';\n case 10:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.NULLIFY_CONTRACT');\n case 11:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PROPOSAL_CANCEL_CONTRACT');\n case 12:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CANCEL_CONTRACT');\n }\n }\n\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n}\n","export * from './history-type-messages-pipe.module';\nexport * from './history-type-messages.pipe';\n","export * from './contract-status-messages-pipe';\nexport * from './contract-time-left-pipe';\nexport * from './get-white-asset-info';\nexport * from './has-in-assets-whitelist';\nexport * from './get-price-by-url';\nexport * from './history-type-messages-pipe';\nexport * from './int-to-money-pipe';\nexport * from './is-available-alias-name-pipe';\nexport * from './money-to-int-pipe';\nexport * from './safe-html-pipe';\nexport * from './short-string-pipe';\nexport * from './get-white-asset.pipe';\n","export * from './int-to-money-pipe.module';\nexport * from './int-to-money.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\n\n@NgModule({\n declarations: [IntToMoneyPipe],\n exports: [IntToMoneyPipe],\n providers: [IntToMoneyPipe],\n imports: [CommonModule],\n})\nexport class IntToMoneyPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'intToMoney',\n})\nexport class IntToMoneyPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any, args?: any): any {\n if (value === 0 || value === undefined) {\n return '0';\n }\n let maxFraction = this.variablesService.digits;\n if (args) {\n maxFraction = parseInt(args, 10);\n }\n const power = Math.pow(10, this.variablesService.digits);\n let str = new BigNumber(value).div(power).toFixed(maxFraction);\n\n for (let i = str.length - 1; i >= 0; i--) {\n if (str[i] !== '0') {\n str = str.substr(0, i + 1);\n break;\n }\n }\n if (str[str.length - 1] === '.') {\n str = str.substr(0, str.length - 1);\n }\n return str;\n }\n}\n","export * from './is-available-alias-name-pipe.module';\nexport * from './is-available-alias-name.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IsAvailableAliasNamePipe } from './is-available-alias-name.pipe';\n\n@NgModule({\n declarations: [IsAvailableAliasNamePipe],\n exports: [IsAvailableAliasNamePipe],\n providers: [IsAvailableAliasNamePipe],\n imports: [CommonModule],\n})\nexport class IsAvailableAliasNamePipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Alias } from '@api/models/alias.model';\n\n@Pipe({\n name: 'isAvailableAliasName',\n})\nexport class IsAvailableAliasNamePipe implements PipeTransform {\n transform(alias: Partial | null | undefined): boolean {\n return (Boolean(alias) && Boolean(alias.name) && alias.name.length >= 2 && alias.name.length <= 6) || false;\n }\n}\n","export * from './money-to-int-pipe.module';\nexport * from './money-to-int.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\n\n@NgModule({\n declarations: [MoneyToIntPipe],\n exports: [MoneyToIntPipe],\n providers: [MoneyToIntPipe],\n imports: [CommonModule],\n})\nexport class MoneyToIntPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'moneyToInt',\n})\nexport class MoneyToIntPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any): any {\n const CURRENCY_DISPLAY_DECIMAL_POINT = this.variablesService.digits;\n let result;\n if (value) {\n let am_str = value.toString().trim();\n const point_index = am_str.indexOf('.');\n let fraction_size = 0;\n if (-1 !== point_index) {\n fraction_size = am_str.length - point_index - 1;\n while (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size && '0' === am_str[am_str.length - 1]) {\n am_str = am_str.slice(0, am_str.length - 1);\n --fraction_size;\n }\n if (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size) {\n return undefined;\n }\n am_str = am_str.slice(0, point_index) + am_str.slice(point_index + 1, am_str.length);\n } else {\n fraction_size = 0;\n }\n if (!am_str.length) {\n return undefined;\n }\n if (fraction_size < CURRENCY_DISPLAY_DECIMAL_POINT) {\n for (let i = 0; i !== CURRENCY_DISPLAY_DECIMAL_POINT - fraction_size; i++) {\n am_str = am_str + '0';\n }\n }\n result = new BigNumber(am_str).integerValue();\n }\n return result;\n }\n}\n","export * from './safe-html-pipe.module';\nexport * from './safe-html.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SafeHTMLPipe } from '@parts/pipes/safe-html-pipe/safe-html.pipe';\n\n@NgModule({\n declarations: [SafeHTMLPipe],\n exports: [SafeHTMLPipe],\n providers: [SafeHTMLPipe],\n imports: [CommonModule],\n})\nexport class SafeHtmlPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHTML',\n})\nexport class SafeHTMLPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","export * from './short-string-pipe.module';\nexport * from './short-string.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShortStringPipe } from './short-string.pipe';\n\n@NgModule({\n declarations: [ShortStringPipe],\n exports: [ShortStringPipe],\n providers: [ShortStringPipe],\n imports: [CommonModule],\n})\nexport class ShortStringPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'zanoShortString',\n})\nexport class ShortStringPipe implements PipeTransform {\n transform(value: string | null | undefined, left = 6, right = 6): string | null | undefined {\n return value && `${value.slice(0, left)}...${value.slice(-right)}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class NavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n back(): void {\n this.history.pop();\n if (this.history.length > 0) {\n this.location.back();\n } else {\n this.router.navigateByUrl('/').then();\n }\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalContainerComponent } from '../modals/modal-container/modal-container.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private components: any[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n prepareModal(type: 'error' | 'info' | 'success' | string, message): void {\n const length = this.components.push(\n this.componentFactoryResolver.resolveComponentFactory(ModalContainerComponent).create(this.injector)\n );\n\n this.components[length - 1].instance['type'] = type;\n this.components[length - 1].instance['message'] = message.length ? this.translate.instant(message) : '';\n this.components[length - 1].instance['eventClose']?.subscribe({\n next: () => {\n this.ngZone.run(() => {\n this.removeModal(length - 1);\n });\n },\n });\n\n this.ngZone.run(() => {\n this.appendModal(length - 1);\n });\n }\n\n appendModal(index): void {\n setTimeout(() => {\n this.appRef.attachView(this.components[index].hostView);\n const domElem = (this.components[index].hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n });\n }\n\n removeModal(index): void {\n if (this.components[index]) {\n this.appRef.detachView(this.components[index].hostView);\n this.components[index].destroy();\n this.components.splice(index, 1);\n } else {\n const last = this.components.length - 1;\n this.appRef.detachView(this.components[last].hostView);\n this.components[last].destroy();\n this.components.splice(last, 1);\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { DeeplinkParams, Wallet } from '@api/models/wallet.model';\nimport { Contact } from '@api/models/contact.model';\nimport { BehaviorSubject } from 'rxjs';\nimport { Idle } from 'idlejs/dist';\nimport { Router } from '@angular/router';\nimport { ContextMenuComponent, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { BigNumber } from 'bignumber.js';\nimport { Aliases } from '@api/models/alias.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VariablesService {\n disable_price_fetch$ = new BehaviorSubject(false);\n\n use_debug_mode$ = new BehaviorSubject(false);\n\n stop_paginate = {};\n\n sync_started = false;\n\n digits = 12;\n\n appPass = '';\n\n appLogin = false;\n\n moneyEquivalent = 0;\n\n moneyEquivalentPercent = 0;\n\n defaultCurrency = 'ZANO';\n\n opening_wallet: Wallet;\n\n exp_med_ts = 0;\n\n net_time_delta_median = 0;\n\n height_app = 0;\n\n height_max = 0;\n\n downloaded = 0;\n\n total = 0;\n\n last_build_available = '';\n\n last_build_displaymode = 0;\n\n daemon_state = 3;\n\n deeplink$ = new BehaviorSubject(null);\n\n sendActionData$ = new BehaviorSubject({});\n\n sync = {\n progress_value: 0,\n progress_value_text: '0',\n };\n\n public sync_wallets: { [wallet_id: number]: boolean } = {};\n\n get isCurrentWalletSync(): boolean {\n if (this.currentWallet) {\n const { wallet_id } = this.currentWallet;\n return this.sync_wallets[wallet_id] || false;\n }\n return false;\n }\n\n get isCurrentWalletLoaded(): boolean {\n if (this.currentWallet) {\n const { loaded } = this.currentWallet;\n return loaded;\n }\n return false;\n }\n\n download = {\n progress_value: 0,\n progress_value_text: '0',\n };\n\n get_recent_transfers = false; // avoid of execute function before callback complete\n\n default_fee = '0.010000000000';\n\n default_fee_big = new BigNumber('10000000000');\n\n settings = {\n appLockTime: 15,\n appLog: 0,\n scale: '10px',\n appUseTor: false,\n language: 'en',\n default_path: '/',\n viewedContracts: [],\n notViewedContracts: [],\n wallets: [],\n };\n\n count = 40;\n\n maxPages = 5;\n\n testnet = false;\n\n networkType = ''; // testnet of mainnet\n\n wallets: Array = [];\n\n get walletNamesForComparisons(): string[] {\n return this.wallets.map(({ name }) => name) ?? [];\n }\n\n currentWallet: Wallet;\n\n aliases: Aliases = [];\n\n aliasesChecked: any = {};\n\n enableAliasSearch = false;\n\n maxWalletNameLength = 25;\n\n maxCommentLength = 255;\n\n dataIsLoaded = false;\n\n contacts: Array = [];\n\n pattern = '^[a-zA-Z0-9_.\\\\]*|~!?@#$%^&+{}()<>:;\"\\'-=/,[\\\\\\\\]*$';\n\n after_sync_request: any = {};\n\n getExpMedTsEvent = new BehaviorSubject(null);\n\n getHeightAppEvent = new BehaviorSubject(null);\n\n getHeightMaxEvent = new BehaviorSubject(null);\n\n getDownloadedAppEvent = new BehaviorSubject(null);\n\n getTotalEvent = new BehaviorSubject(null);\n\n getRefreshStackingEvent = new BehaviorSubject(null);\n\n getAliasChangedEvent = new BehaviorSubject(null);\n\n getWalletChangedEvent = new BehaviorSubject(null);\n\n idle = new Idle().whenNotInteractive().do(async () => {\n if (this.appPass === '') {\n this.stopCountdown();\n } else {\n await this.ngZone.run(async () => {\n this.stopCountdown();\n this.appPass = '';\n this.appLogin = false;\n await this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n }\n });\n\n allContextMenu: ContextMenuComponent;\n\n onlyCopyContextMenu: ContextMenuComponent;\n\n pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(private router: Router, private ngZone: NgZone, private contextMenuService: ContextMenuService) {}\n\n setExpMedTs(timestamp: number): void {\n if (timestamp !== this.exp_med_ts) {\n this.exp_med_ts = timestamp;\n this.getExpMedTsEvent.next(timestamp);\n }\n }\n\n setHeightApp(height: number): void {\n if (height !== this.height_app) {\n this.height_app = height;\n this.getHeightAppEvent.next(height);\n }\n }\n\n setHeightMax(height: number): void {\n if (height !== this.height_max) {\n this.height_max = height;\n this.getHeightMaxEvent.next(height);\n }\n }\n\n setDownloadedBytes(bytes: number): void {\n if (bytes !== this.downloaded) {\n this.downloaded = this.bytesToMb(bytes);\n this.getDownloadedAppEvent.next(bytes);\n }\n }\n\n setTotalBytes(bytes: number): void {\n if (bytes !== this.total) {\n this.total = this.bytesToMb(bytes);\n this.getTotalEvent.next(bytes);\n }\n }\n\n setRefreshStacking(wallet_id: number): void {\n this.getHeightAppEvent.next(wallet_id);\n }\n\n changeAliases(): void {\n this.getAliasChangedEvent.next(true);\n }\n\n setCurrentWallet(id): void {\n this.wallets.forEach(wallet => {\n if (wallet.wallet_id === id) {\n this.currentWallet = wallet;\n this.getWalletChangedEvent.next(wallet);\n }\n });\n }\n\n getWallet(id): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (this.wallets[i].wallet_id === id) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n getNotLoadedWallet(): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (!this.wallets[i].loaded) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n startCountdown(): void {\n this.idle.within(this.settings.appLockTime).start();\n }\n\n stopCountdown(): void {\n this.idle.stop();\n }\n\n restartCountdown(): void {\n if (Boolean(this.settings.appLockTime)) {\n this.idle.within(this.settings.appLockTime).restart();\n } else {\n this.stopCountdown();\n }\n }\n\n bytesToMb(bytes): number {\n return Number((bytes / Math.pow(1024, 2)).toFixed(1));\n }\n\n onContextMenu($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.allContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n\n onContextMenuOnlyCopy($event: MouseEvent, copyText?: string): void {\n $event.preventDefault();\n $event.stopPropagation();\n this.contextMenuService.show(this.onlyCopyContextMenu, {\n value: copyText,\n x: $event.x,\n y: $event.y,\n });\n }\n\n onContextMenuPasteSelect($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n\n console.warn($event.target);\n console.warn($event.target['disabled']);\n\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.pasteSelectContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ResponseGetWalletInfo, Wallet } from '@api/models/wallet.model';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WalletsService {\n get wallets(): Wallet[] | null | undefined {\n return this.variablesService.wallets;\n }\n\n set wallets(value) {\n this.variablesService.wallets = value;\n }\n\n get currentWallet(): Wallet | null | undefined {\n return this.variablesService.currentWallet;\n }\n\n set currentWallet(value) {\n this.variablesService.currentWallet = value;\n }\n\n constructor(\n private backendService: BackendService,\n private variablesService: VariablesService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n addWallet(wallet: Wallet): void {\n const { wallet_id } = wallet;\n this.variablesService.wallets.push(wallet);\n this.updateWalletInfo(wallet_id);\n }\n\n getWalletById(wallet_id: number): Wallet | undefined {\n const { wallets } = this.variablesService;\n return wallets.find(w => w.wallet_id === wallet_id);\n }\n\n updateWalletInfo(wallet_id: number): void {\n const wallet = this.getWalletById(wallet_id);\n\n if (!wallet) {\n console.warn(`You want update walletInfo by wallet_id: (${wallet_id}). But this wallet not uploaded.`);\n return;\n }\n const callback: (status: boolean, response_data: ResponseGetWalletInfo) => void = (status, response_data) => {\n this.ngZone.run(() => {\n if (status) {\n const { balances } = response_data;\n wallet.balances = balances;\n }\n });\n };\n\n this.backendService.getWalletInfo(wallet_id, callback);\n }\n\n closeWallet(wallet_id): void {\n const callback = async (): Promise => {\n this.wallets = this.wallets.filter(w => w.wallet_id !== wallet_id);\n\n await this.ngZone.run(async () => {\n let url = '/';\n if (this.wallets.length > 0) {\n this.currentWallet = this.wallets[0];\n url = '/wallet/';\n }\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData();\n }\n await this.router.navigate([url]);\n });\n };\n\n this.backendService.closeWallet(wallet_id, callback);\n }\n}\n","export const MIMETypes: string[] = [\n '.rar',\n '.txt',\n '.xls',\n '.xlsx',\n '.zip',\n '.png',\n '.pdf',\n '.csv',\n '.doc',\n '.docx',\n '.jar',\n '.jpeg',\n '.jpg',\n '.js',\n '.json',\n '.mp3',\n '.mp4',\n '.mpeg',\n '.aac',\n '.abw',\n '.arc',\n '.avif',\n '.avi',\n '.azw',\n '.bin',\n '.bmp',\n '.bz',\n '.bz2',\n '.cda',\n '.csh',\n '.css',\n '.dll',\n '.exe',\n '.eot',\n '.epub',\n '.gz',\n '.gif',\n '.htm',\n '.html',\n '.ico',\n '.ics',\n '.jsonld',\n '.mid',\n '.midi',\n '.mjs',\n '.mpkg',\n '.odp',\n '.ods',\n '.odt',\n '.oga',\n '.ogv',\n '.ogx',\n '.opus',\n '.otf',\n '.php',\n '.ppt',\n '.pptx',\n '.pdb',\n '.dat',\n '.rtf',\n '.sh',\n '.svg',\n '.tar',\n '.tif',\n '.tiff',\n '.ts',\n '.ttf',\n '.vsd',\n '.wav',\n '.weba',\n '.webm',\n '.webp',\n '.woff',\n '.woff2',\n '.xhtml',\n '.xml',\n '.xul',\n '.3gp',\n '.3g2',\n '.7z',\n];\n","import { ValidationErrors } from '@angular/forms';\n\nexport interface ZanoValidationErrors extends ValidationErrors {\n errorText: string;\n}\n\nexport const wrongAssetId: ZanoValidationErrors = {\n errorText: 'ASSETS.FORM.ERRORS.WRONG_ASSET_ID',\n};\n\nexport const wrongPassword: ZanoValidationErrors = {\n errorText: 'Wrong password',\n};\n\nexport const insuficcientFunds: ZanoValidationErrors = {\n errorText: 'ASSETS.FORM.ERRORS.INSUFICCIENT_FUNDS',\n};\n\nexport const notFileZanoWallet: ZanoValidationErrors = {\n errorText: 'ERRORS.NOT_FILE_ZANO_WALLET',\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { notFileZanoWallet, ZanoValidationErrors } from '@parts/utils/zano-errors';\nimport { MIMETypes } from '@parts/utils/MIME-types';\n\nexport const regExpHash = /^[a-f0-9]{64}$/i;\nexport const regExpAliasName = /^@?[a-z\\d.-]{2,25}$/;\nexport const regExpPassword = /^[a-zA-Z0-9_.\\]*|~!?@#$%^&+{}()<>:;\"'-=,/[\\\\]*$/;\n\nexport class ZanoValidators {\n static hash({ value }: AbstractControl): ValidationErrors | null {\n return regExpHash.test(value) ? null : { invalidHash: true };\n }\n\n static formMatch(firstControlName: string, secondControlName: string, nameErrorKey = 'mismatch'): ValidatorFn {\n return (abstractControl: AbstractControl): ValidationErrors | null =>\n abstractControl.get(firstControlName).value === abstractControl.get(secondControlName).value ? null : { [nameErrorKey]: true };\n }\n\n static duplicate(valuesForComparisons: string | string[]): ValidatorFn {\n return ({ value }: AbstractControl): ValidationErrors | null => {\n const errorObject = { duplicate: true };\n let error = null;\n\n if (typeof value === 'string' && value === valuesForComparisons) {\n error = errorObject;\n }\n\n if (Array.isArray(valuesForComparisons) && valuesForComparisons.includes(value)) {\n error = errorObject;\n }\n\n return error;\n };\n }\n}\n\nexport const filePathWalletValidator = (path: string): ZanoValidationErrors | null => {\n if (!(path && path.trim().length)) {\n return null;\n }\n\n const positionLastSlash = path.lastIndexOf('/');\n const fileName = path.slice(positionLastSlash + 1);\n\n if (!(fileName && fileName.trim().length)) {\n return null;\n }\n\n if (fileName) {\n let index = 0;\n while (index < MIMETypes.length) {\n if (fileName.includes(MIMETypes[index])) {\n return notFileZanoWallet;\n }\n index++;\n }\n }\n\n return null;\n};\n","import { Injectable } from '@angular/core';\nimport { StateKeys, Store } from '@store/store';\nimport { AssetsService } from '@api/services/assets.service';\nimport { BehaviorSubject, Observable, take } from 'rxjs';\nimport { ResponseAssetsWhiteList, WhiteAssetInfo } from '@api/models/assets.model';\nimport { map } from 'rxjs/operators';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AssetsFacade {\n loading$ = new BehaviorSubject(false);\n\n constructor(private store: Store, private assetsService: AssetsService) {}\n\n loadWhitelist(): void {\n this.loading$.next(true);\n this.assetsService\n .assetsWhitelist()\n .pipe(take(1))\n .subscribe({\n next: response => {\n this.store.set(StateKeys.responseAssetsWhiteList, response);\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n\n getWhitelist(): Observable {\n return this.store.select(StateKeys.responseAssetsWhiteList).pipe(\n map(({ assets }) => {\n return [zanoAssetInfo, ...assets];\n })\n );\n }\n\n getAssetByIdFromWhitelist(asset_id: string): Observable {\n return this.getWhitelist().pipe(map(arr => arr.find(i => i.asset_id === asset_id)));\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { PaginationStore } from './pagination.store';\nimport * as _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationService {\n constructor(private variables: VariablesService, private ngZone: NgZone, private paginationStore: PaginationStore) {}\n\n paginate(currentPage = 1): void {\n if (currentPage < 1) {\n currentPage = 1;\n } else if (currentPage > this.variables.currentWallet.totalPages) {\n currentPage = this.variables.currentWallet.totalPages;\n }\n let startPage: number, endPage: number;\n if (this.variables.currentWallet.totalPages <= this.variables.maxPages) {\n startPage = 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n const maxPagesBeforeCurrentPage = Math.floor(this.variables.maxPages / 2);\n const maxPagesAfterCurrentPage = Math.ceil(this.variables.maxPages / 2) - 1;\n if (currentPage <= maxPagesBeforeCurrentPage) {\n startPage = 1;\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (endPage = this.variables.maxPages)\n : (endPage = this.variables.currentWallet.totalPages);\n } else if (currentPage + maxPagesAfterCurrentPage >= this.variables.currentWallet.totalPages) {\n startPage = this.variables.currentWallet.totalPages - this.variables.maxPages + 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n startPage = currentPage - maxPagesBeforeCurrentPage;\n endPage = currentPage + maxPagesAfterCurrentPage;\n }\n }\n this.ngZone.run(() => {\n this.variables.currentWallet.pages = Array.from(Array(endPage + 1 - startPage).keys()).map(i => startPage + i);\n });\n }\n\n getOffset(walletID): number {\n const mining = this.variables.currentWallet.exclude_mining_txs;\n const currentPage = this.variables.currentWallet.currentPage;\n let offset = (currentPage - 1) * this.variables.count;\n if (!mining) {\n return offset || 0;\n }\n const value = this.paginationStore.value;\n const pages = value.filter(item => item.walletID === walletID);\n if (pages && pages.length > 0) {\n const max = _.maxBy(pages, 'page');\n const isForward = this.paginationStore.isForward(pages, currentPage);\n if (isForward) {\n offset = max.offset || 0;\n } else {\n const index = pages.findIndex(item => item.page === currentPage);\n offset = pages[index].offset || 0;\n }\n }\n return offset;\n }\n\n calcPages(data): void {\n if (data.total_history_items && data && data.history) {\n this.variables.currentWallet.totalPages = Math.ceil(data.total_history_items / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n } else if (this.variables.currentWallet.restore) {\n this.variables.currentWallet.totalPages = Math.ceil(data.history.length / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n }\n }\n\n prepareHistory(data, status): void {\n if (status && data && data.total_history_items) {\n this.variables.currentWallet.history.splice(0, this.variables.currentWallet.history.length);\n this.ngZone.run(() => {\n this.paginate(this.variables.currentWallet.currentPage);\n if (data.history.length !== 0) {\n this.variables.currentWallet.restore = false;\n this.variables.currentWallet.total_history_item = data.total_history_items;\n this.variables.currentWallet.prepareHistory(data.history);\n if (this.variables.currentWallet.currentPage === 1 && data.unconfirmed) {\n this.variables.currentWallet.prepareHistory(data.unconfirmed.sort((a, b) => a.timestamp - b.timestamp));\n }\n }\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as _ from 'lodash';\n\nexport interface Pages {\n page: number;\n offset: number;\n walletID: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationStore {\n private subject = new BehaviorSubject(null);\n\n get value(): Pages[] | null {\n return this.subject.value;\n }\n\n isForward(pages, currentPage): boolean {\n const max = _.maxBy(pages, 'page');\n return !max || max.page < currentPage || max.page === currentPage;\n }\n\n setPage(pageNumber: number, offset: number, walletID: number): void {\n let newPages: Pages[] = [];\n const pages = this.subject.getValue();\n if (pages && pages.length > 0) {\n newPages = pages.slice(0);\n }\n newPages.push({ page: pageNumber, offset, walletID });\n this.subject.next(newPages);\n }\n}\n","import { distinctUntilChanged, map } from 'rxjs/operators';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Injectable } from '@angular/core';\nimport { ResponseAssetsWhiteList } from '@api/models/assets.model';\n\nexport interface Sync {\n sync: boolean;\n wallet_id: number;\n}\n\nexport enum StateKeys {\n wallets = 'wallets',\n sync = 'sync',\n responseAssetsWhiteList = 'responseAssetsWhiteList',\n}\n\nexport interface State {\n [StateKeys.wallets]: Wallet[] | null | undefined;\n [StateKeys.sync]: Sync[] | null | undefined;\n [StateKeys.responseAssetsWhiteList]: ResponseAssetsWhiteList | null | undefined;\n}\n\nconst initialState: State = {\n wallets: undefined,\n sync: undefined,\n responseAssetsWhiteList: undefined,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Store {\n private subject = new BehaviorSubject(initialState);\n private store = this.subject.asObservable().pipe(distinctUntilChanged());\n\n get state(): State {\n return this.subject.value;\n }\n\n select(name: StateKeys): Observable {\n return this.store.pipe(map(state => state[name])) as unknown as Observable;\n }\n\n set(name: StateKeys, value: any): void {\n this.subject.next({ ...this.state, [name]: value });\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport 'lodash';\n\nexport const buildTime = '2023-10-06T14:33:14.279Z';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["NgZone","Observable","Subject","JSONBigNumber","BigNumber","ParamsType","getParamsType","value","array","Array","isArray","object","Object","keys","includes","convertersObjectForTypes","string","stringify","map","v","convertorParams","type","StatusCurrentActionState","Commands","BackendService","constructor","translate","variablesService","modalService","moneyToIntPipe","ngZone","bigNumberParser","key","val","name","indexOf","toNumber","i","length","Debug","message","console","error","warn","log","eventSubscribe","command","callback","on_core_event","backendObject","connect","str","parse","initService","observer","backendLoaded","window","QWebChannel","qt","webChannelTransport","channel","objects","mediator_object","next","webkitLaunchedScript","runCommand","webkit_launched_script","quitRequest","on_request_quit","getAppData","get_app_data","storeAppData","wallets","settings","forEach","wallet","push","path","store_app_data","getSecureAppData","pass","get_secure_app_data","setMasterPassword","set_master_password","checkMasterPassword","check_master_password","getIsDisabledNotifications","params","get_is_disabled_notifications","setIsDisabledNotifications","state","set_is_disabled_notifications","storeSecureAppData","contacts","staking","contact","address","notes","data","store_secure_app_data","JSON","appPass","dataStore","backendCallback","dropSecureAppData","drop_secure_app_data","haveSecureAppData","have_secure_app_data","saveFileDialog","caption","fileMask","default_path","dir","filemask","default_dir","show_savefile_dialog","openFileDialog","show_openfile_dialog","storeFile","buff","store_to_file","loadFile","load_from_file","push_offer","generateWallet","generate_wallet","exportWalletHistory","json_string","export_wallet_history","openWallet","txs_to_return","testEmpty","open_wallet","closeWallet","wallet_id","close_wallet","getSmartWalletInfo","seed_password","get_smart_wallet_info","getSeedPhraseInfo","param","get_seed_phrase_info","runWallet","run_wallet","isValidRestoreWalletText","is_valid_restore_wallet_text","restoreWallet","seed_phrase","seed_pass","restore_wallet","sendMoney","amount","fee","mixin","comment","hide","asset_id","destinations","mixin_count","lock_time","transform","push_payer","asyncCall","transfer","validateAddress","validate_address","setClipboard","set_clipboard","getClipboard","get_clipboard","createProposal","title","a_addr","b_addr","to_pay","a_pledge","b_pledge","time","payment_id","parseInt","details","t","c","expiration_period","default_fee_big","b_fee","create_proposal","getContracts","get_contracts","acceptProposal","contract_id","accept_proposal","releaseProposal","release_type","release_contract","requestCancelContract","request_cancel_contract","acceptCancelContract","accept_cancel_contract","getMiningHistory","get_mining_history","startPosMining","start_pos_mining","stopPosMining","stop_pos_mining","openUrlInBrowser","url","open_url_in_browser","start_backend","node","host","port","configure_for_remote_node","remote_node_host","remote_node_port","getDefaultFee","get_default_fee","setBackendLocalization","stringsArray","strings","language_title","set_localization_strings","registerAlias","alias","reward","tracking_key","request_alias_registration","updateAlias","replace","request_alias_update","getAllAliases","get_all_aliases","getAliasInfoByName","get_alias_info_by_name","getAliasByAddress","get_alias_info_by_address","getAliasCoast","get_alias_coast","resyncWallet","id","resync_wallet","getWalletAlias","daemon_state","aliasesChecked","aliases","status","getContactAlias","getRecentTransfers","offset","count","exclude_mining_txs","get_recent_transfers","getPoolInfo","get_tx_pool_info","getVersion","get_version","version","errorVersion","get_network_type","status_network","errorType","setLogLevel","level","set_log_level","async_call","job_id","dispatchAsyncCallResult","dispatch_async_call_result","json_resp","asyncCommandResults","response","run","dispatchAsyncCallResult$","handleCurrentActionState","handle_current_action_state","currentActionState","handleCurrentActionState$","setEnableTor","set_enable_tor","getOptions","get_options","disable_price_fetch","use_debug_mode","disable_price_fetch$","use_debug_mode$","addCustomAssetId","add_custom_asset_id","removeCustomAssetId","remove_custom_asset_id","getWalletInfo","get_wallet_info","call_rpc","informerRun","error_translate","instant","default_fee","currency","defaultCurrency","prepareModal","commandDebug","result","debug","_send_params","_result","e","response_data","error_code","resultStr","Result","core_busy","Status","undefined","res_error_code","setTimeout","current_wallet_id","currentWallet","Action","i0","factory","providedIn","Renderer2","StateKeys","take","takeUntil","paths","pathsChildrenAuth","hasOwnProperty","AppComponent","http","renderer","backendService","router","intToMoneyPipe","store","dialog","assetsFacade","addLangs","setDefaultLang","use","subscribe","translateUsed","language","ngOnInit","initMessage","st2","dd2","quit_requested","onQuitRequest","navigate","closeAll","needOpenWallets","saveFunction","recursionCloseWallets","lastIndex","splice","update_wallet_status","wallet_state","is_mining","getWallet","loaded","balances","mined_total","minied_total","alias_available","is_alias_operations_available","wallet_sync_progress","progress","sync_started","sync_wallets","addToStore","update_daemon_state","daemon_network_state","setExpMedTs","net_time_delta_median","last_build_available","last_build_displaymode","setHeightApp","height","setHeightMax","max_net_seen_height","setDownloadedBytes","downloaded_bytes","setTotalBytes","download_total_data_size","max","current","return_val","Math","floor","sync","progress_value","progress_value_text","toFixed","download","firstOnlineState","getAliases","status_fee","data_fee","money_transfer","ti","tr_info","history","tx_type","setRefreshStacking","tr_exists","excluded_history","some","elem","tx_hash","currentPage","prepareHistory","restore","total_history_item","totalPages","ceil","maxPages","pages","fill","index","exp_med_ts","height_app","contract","contracts","is_a","cancel_expiration_time","expiration_time","timestamp","searchResult2","notViewedContracts","find","j","viewedContracts","searchResult3","searchResult4","searchResult","is_new","findContract","prop","handle_deeplink_click","deeplink$","money_transfer_cancel","removeFromHistory","error_tr","events","method","enableAliasSearch","newAlias","concat","changeAliases","CurrentAlias","element","intervalUpdateContractsState","setInterval","expMedTsEvent","getExpMedTsEvent","newTimestamp","appUseTor","scale","setStyle","document","documentElement","appLog","auth","noWallet","then","statusPass","queryParams","appLogin","pipe","destroy$","updateMoneyEquivalent","intervalUpdatePriceState","clearInterval","loadWhitelist","ngOnDestroy","unsubscribe","get","moneyEquivalent","moneyEquivalentPercent","sort","a","b","boolean","filter","item","set","testnet","networkType","selectors","decls","vars","consts","template","inject","TranslateService","CREATE_NEW_WALLET_HELP_PAGE","filePathWalletValidator","AddWalletComponent","translateService","file_status","file_data","positionLastSlash","lastIndexOf","new_default_path","slice","text","errorText","openInBrowser","ctx","FormBuilder","Validators","regExpAliasName","AssignAliasComponent","backend","intToMoney","routerLink","fb","group","nonNullable","control","required","pattern","maxLength","maxCommentLength","price","rewardOriginal","exists","assignForm","valueChanges","canRegister","newName","toLowerCase","controls","errors","statusPrice","dataPrice","sum","unlocked_balance","getBalanceByTicker","_a","unlocked","notEnoughMoney","isGreaterThan","complete","assignAlias","wakeAlias","NonNullableFormBuilder","VariablesService","ModalService","Router","Wallet","regExpPassword","ZanoValidators","WalletsService","CreateWalletComponent","duplicate","walletNamesForComparisons","password","confirm","validators","formMatch","savedWalletName","createForm","substr","createWallet","selectedPath","getRawValue","generate_status","generate_data","errorCode","balance","tracking_hey","run_status","run_data","walletsService","addWallet","setCurrentWallet","errorTranslationKey","selectWalletLocation","patchValue","delay","BehaviorSubject","DeeplinkComponent","AssetDetailsComponent","ConfirmModalComponent","LOCKED_BALANCE_HELP_PAGE","price_r10","$event","ctx_r4","asset_r5","_r7","ctx_r0","ctx_r1","AssetsComponent","paginatePipeArgs","paginationId","itemsPerPage","isShowPagination","listenChangeWallet","toggleDropDownMenu","trigger","asset","isOpenDropDownMenu","triggerOrigin","currentAsset","trackByAssets","asset_info","trackByPages","assetDetails","dialogConfig","open","beforeRemoveAsset","full_name","closed","confirmed","removeAsset","updateWalletInfo","getBalanceTooltip","tooltip","createElement","scrollWrapper","classList","add","total","ticker","available","setAttribute","innerHTML","appendChild","locked","minus","link","addEventListener","getWalletChangedEvent","collapseOnLeaveAnimation","expandOnEnterAnimation","zanoAssetInfo","subtransfer_r13","_r24","_r60","alias_r74","transaction_r3","_r8","HistoryComponent","route","pagination","paginationStore","parent","openedDetails","init","w","mining","after_sync_request","String","getNotLoadedWallet","tick","stop_paginate","isVisibleFee","transaction","subtransfers","is_income","strokeSize","rem","resetPaginationValues","setPage","pageNumber","open_from_exist","updated","toggleMiningTransactions","walletID","getOffset","isForward","page","last_item_index","calcPages","walletInterval","getHeight","openDetails","now","Date","getTime","unlock_time","height_max","isLocked","ElementRef","EventEmitter","successfulStatuses","STATE_SENDING","STATE_SENT_SUCCESS","STATE_INITIALIZING","STATE_DOWNLOADING_CONSENSUS","STATE_MAKING_TUNNEL_A","STATE_MAKING_TUNNEL_B","STATE_CREATING_STREAM","STATE_SUCCESS","failedStatuses","STATE_SEND_FAILED","STATE_FAILED","SendDetailsModalComponent","currentActionState$","currentActionStates","currentActionStates$","isSentSuccess","isSentFailed","isDetailsNotEmpty","responseData$","addClass","body","actionState","success","removeClass","toggleDetails","stateDetails$","scrollToBottomDetailsList","trackBy","isSuccess","action","isFailed","elDetailsList","nativeElement","scrollTop","scrollHeight","viewQuery","ChangeDetectorRef","SendModalComponent","confirmForm","emitEvent","setValidators","updateValueAndValidity","beforeSubmit","invalid","markAsTouched","cdr","detectChanges","submit","emit","onClose","hostVars","hostBindings","MIXIN","debounceTime","retry","tap","of","IntToMoneyPipe","insuficcientFunds","defaultSendMoneyParams","WrapInfoService","alias_r18","_r15","asset_r36","ctx_r11","SendComponent","moneyToInt","isVisibleDropdownAliases$","aliasAddress","valid_status","isWrapShown","setErrors","assign","address_not_valid","hasError","test","alias_not_valid","alias_status","alias_data","alias_not_found","min","zero","bigAmount","wrapInfo","wrap_info_null","unwraped_coins_left","great_than_unwraped_coins","isLessThan","tx_cost","zano_needed_for_erc20","less_than_zano_needed","sendMoneyParamsForm","_b","g","less_min","sendMoneyParams","aliases$","getWrapInfo","listenSendActionData","patchSendMoneyParamsByCurrentWallet","saveSendMoneyParams","setAssetFromHistoryState","showDialog","isModalDialogVisible","onSend","valid","aliasName","isModalDetailsDialogVisible","getReceivedValue","needed","handeCloseDetailsModal","reset","markAllAsTouched","is_auditable","is_watch_only","disable","fillDeepLinkData","additionalOptions","comments","mixins","hide_sender","wrapInfoService","loading$","pasteListenAddressField","event","preventDefault","clipboardData","getData","lowerCaseDisabled$","inputListenAddressField","target","filteredAliases","sendActionData$","CommonModule","FlexModule","GetWhiteAssetPipe","IntToMoneyPipeModule","ReactiveFormsModule","TranslateModule","DIALOG_DATA","DialogRef","SwapConfirmMasterPasswordComponent","standalone","features","i1","i2","i3","i4","i5","styles","BreadcrumbsComponent","RouterLinkWithHref","InputValidateModule","distinctUntilChanged","Dialog","ConfirmSwapComponent","hex_raw_proposal","form","getProposalDetails","swapConfirmMasterPasswordDialog","proposalDetails","config","disableClose","width","maxHeight","Boolean","params1","jsonrpc","params2","status1","response_data1","status2","response_data2","errorRpc","proposal","DefaultImgModule","LowerCaseDirective","FormsModule","GetWhiteAssetInfoModule","MoneyToIntPipe","MoneyToIntPipeModule","ShortStringPipeModule","NgSelectModule","LoaderComponent","asset_r19","asset_r22","alias_r32","_r29","CreateSwapComponent","sending","receiving","receiverAddress","condition","sameAssetsId","setSendingAssetIdFromHistoryState","reverse","inputListenReceiverAddressField","pasteListenReceiverAddressField","to_bob","to_alice","fee_paid_by_a","navigateByUrl","i6","i7","i8","i9","wrongAssetId","AddCustomTokenComponent","dialogRef","compose","hash","formGroup","asset_descriptor","awaiting_in","awaiting_out","close","_r2","changeDetection","OpenWalletModalComponent","notFound","emptyPass","open_status","open_data","open_error","isWrongPassword$","new_wallet","recent_history","total_history_items","skipWallet","Idle","contextMenuService","appLockTime","whenNotInteractive","do","stopCountdown","isCurrentWalletSync","isCurrentWalletLoaded","getHeightAppEvent","getHeightMaxEvent","bytes","downloaded","bytesToMb","getDownloadedAppEvent","getTotalEvent","getAliasChangedEvent","startCountdown","idle","within","start","stop","restartCountdown","restart","Number","pow","onContextMenu","toUpperCase","show","allContextMenu","x","y","stopPropagation","onContextMenuOnlyCopy","copyText","onlyCopyContextMenu","onContextMenuPasteSelect","pasteSelectContextMenu","getWalletById"],"sourceRoot":"webpack:///","x_google_ignoreList":[]} \ No newline at end of file diff --git a/html/polyfills.js b/html/polyfills.js index 4d1d7647..f8d080c3 100644 --- a/html/polyfills.js +++ b/html/polyfills.js @@ -4567,9 +4567,8 @@ module.exports = // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || - check(typeof this == 'object' && this) || // eslint-disable-next-line no-new-func -- fallback - (function () { return this; })() || Function('return this')(); + (function () { return this; })() || this || Function('return this')(); /***/ }), @@ -6151,10 +6150,10 @@ var store = __webpack_require__(/*! ../internals/shared-store */ 5111); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.33.3', + version: '3.33.2', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.33.2/LICENSE', source: 'https://github.com/zloirock/core-js' }); diff --git a/html/polyfills.js.map b/html/polyfills.js.map index 8547d493..ae70cc0d 100644 --- a/html/polyfills.js.map +++ b/html/polyfills.js.map @@ -1 +1 @@ -{"version":3,"file":"polyfills.js","mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtEa;AACb,sBAAsB,mBAAO,CAAC,0CAAgC;AAC9D,gBAAgB,mBAAO,CAAC,kCAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACVa;AACb,cAAc,mBAAO,CAAC,oCAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRa;AACb,mBAAmB,mBAAO,CAAC,qCAA2B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;;;;;;;;;;ACXa;AACb,kBAAkB,mBAAO,CAAC,8CAAoC;AAC9D,YAAY,mBAAO,CAAC,8BAAoB;AACxC,iBAAiB,mBAAO,CAAC,mCAA0B;AACnD,cAAc,mBAAO,CAAC,gCAAsB;AAC5C,iBAAiB,mBAAO,CAAC,qCAA2B;AACpD,oBAAoB,mBAAO,CAAC,uCAA6B;;AAEzD,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA,CAAC;;;;;;;;;;;ACpDY;AACb,YAAY,mBAAO,CAAC,8BAAoB;AACxC,iBAAiB,mBAAO,CAAC,mCAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtBa;AACb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLa;AACb,iBAAiB,mBAAO,CAAC,mCAA0B;AACnD,mBAAmB,mBAAO,CAAC,qCAA2B;;AAEtD;;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","sources":["./src/polyfills.ts","./node_modules/zone.js/fesm2015/zone.js","./node_modules/core-js/es/object/index.js","./node_modules/core-js/internals/a-callable.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-buffer-non-extensible.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/array-iteration.js","./node_modules/core-js/internals/array-slice-simple.js","./node_modules/core-js/internals/array-slice.js","./node_modules/core-js/internals/array-species-constructor.js","./node_modules/core-js/internals/array-species-create.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/classof.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/create-property.js","./node_modules/core-js/internals/define-built-in-accessor.js","./node_modules/core-js/internals/define-built-in.js","./node_modules/core-js/internals/define-global-property.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-all.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/core-js/internals/engine-v8-version.js","./node_modules/core-js/internals/engine-webkit-version.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/internals/function-apply.js","./node_modules/core-js/internals/function-bind-context.js","./node_modules/core-js/internals/function-bind-native.js","./node_modules/core-js/internals/function-call.js","./node_modules/core-js/internals/function-name.js","./node_modules/core-js/internals/function-uncurry-this-accessor.js","./node_modules/core-js/internals/function-uncurry-this-clause.js","./node_modules/core-js/internals/function-uncurry-this.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/get-iterator-method.js","./node_modules/core-js/internals/get-iterator.js","./node_modules/core-js/internals/get-json-replacer-function.js","./node_modules/core-js/internals/get-method.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has-own-property.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-metadata.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/core-js/internals/is-array.js","./node_modules/core-js/internals/is-callable.js","./node_modules/core-js/internals/is-constructor.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-null-or-undefined.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/is-symbol.js","./node_modules/core-js/internals/iterate.js","./node_modules/core-js/internals/iterator-close.js","./node_modules/core-js/internals/iterators.js","./node_modules/core-js/internals/length-of-array-like.js","./node_modules/core-js/internals/make-built-in.js","./node_modules/core-js/internals/math-trunc.js","./node_modules/core-js/internals/object-assign.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names-external.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-is-extensible.js","./node_modules/core-js/internals/object-is-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-prototype-accessors-forced.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/object-to-array.js","./node_modules/core-js/internals/object-to-string.js","./node_modules/core-js/internals/ordinary-to-primitive.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/path.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/same-value.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/symbol-constructor-detection.js","./node_modules/core-js/internals/symbol-define-to-primitive.js","./node_modules/core-js/internals/symbol-registry-detection.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer-or-infinity.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/to-property-key.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/internals/to-string.js","./node_modules/core-js/internals/try-to-string.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/v8-prototype-define-bug.js","./node_modules/core-js/internals/weak-map-basic-detection.js","./node_modules/core-js/internals/well-known-symbol-define.js","./node_modules/core-js/internals/well-known-symbol-wrapped.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.json.stringify.js","./node_modules/core-js/modules/es.json.to-string-tag.js","./node_modules/core-js/modules/es.math.to-string-tag.js","./node_modules/core-js/modules/es.object.assign.js","./node_modules/core-js/modules/es.object.create.js","./node_modules/core-js/modules/es.object.define-getter.js","./node_modules/core-js/modules/es.object.define-properties.js","./node_modules/core-js/modules/es.object.define-property.js","./node_modules/core-js/modules/es.object.define-setter.js","./node_modules/core-js/modules/es.object.entries.js","./node_modules/core-js/modules/es.object.freeze.js","./node_modules/core-js/modules/es.object.from-entries.js","./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","./node_modules/core-js/modules/es.object.get-own-property-names.js","./node_modules/core-js/modules/es.object.get-own-property-symbols.js","./node_modules/core-js/modules/es.object.get-prototype-of.js","./node_modules/core-js/modules/es.object.has-own.js","./node_modules/core-js/modules/es.object.is-extensible.js","./node_modules/core-js/modules/es.object.is-frozen.js","./node_modules/core-js/modules/es.object.is-sealed.js","./node_modules/core-js/modules/es.object.is.js","./node_modules/core-js/modules/es.object.keys.js","./node_modules/core-js/modules/es.object.lookup-getter.js","./node_modules/core-js/modules/es.object.lookup-setter.js","./node_modules/core-js/modules/es.object.prevent-extensions.js","./node_modules/core-js/modules/es.object.proto.js","./node_modules/core-js/modules/es.object.seal.js","./node_modules/core-js/modules/es.object.set-prototype-of.js","./node_modules/core-js/modules/es.object.to-string.js","./node_modules/core-js/modules/es.object.values.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","./node_modules/core-js/modules/es.symbol.constructor.js","./node_modules/core-js/modules/es.symbol.for.js","./node_modules/core-js/modules/es.symbol.js","./node_modules/core-js/modules/es.symbol.key-for.js"],"sourcesContent":["/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your add-wallet\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es/symbol';\nimport 'core-js/es/object';\n// import 'core-js/es/function';\n// import 'core-js/es/parse-int';\n// import 'core-js/es/parse-float';\n// import 'core-js/es/number';\n// import 'core-js/es/math';\n// import 'core-js/es/string';\n// import 'core-js/es/date';\n// import 'core-js/es/array';\n// import 'core-js/es/regexp';\n// import 'core-js/es/map';\n// import 'core-js/es/weak-map';\n// import 'core-js/es/set';\n\n/**\n * If the application will be indexed by Google Search, the following is required.\n * Googlebot uses a renderer based on Chrome 41.\n * https://developers.google.com/search/docs/guides/rendering\n **/\n// import 'core-js/es6/array';\n\n/** IE10 and IE11 requires the following for the Reflect API. */\n// import 'core-js/es6/reflect';\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n */\n\n// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n\n/*\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n */\n// (window as any).__Zone_enable_cross_context_check = true;\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js'; // Included with Angular CLI.\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","'use strict';\n/**\n * @license Angular v15.1.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n((function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n}))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n/// \n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n ;\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(name => name.startsWith('on') && name.length > 2)\n .map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n","'use strict';\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.object.assign');\nrequire('../../modules/es.object.create');\nrequire('../../modules/es.object.define-property');\nrequire('../../modules/es.object.define-properties');\nrequire('../../modules/es.object.entries');\nrequire('../../modules/es.object.freeze');\nrequire('../../modules/es.object.from-entries');\nrequire('../../modules/es.object.get-own-property-descriptor');\nrequire('../../modules/es.object.get-own-property-descriptors');\nrequire('../../modules/es.object.get-own-property-names');\nrequire('../../modules/es.object.get-prototype-of');\nrequire('../../modules/es.object.has-own');\nrequire('../../modules/es.object.is');\nrequire('../../modules/es.object.is-extensible');\nrequire('../../modules/es.object.is-frozen');\nrequire('../../modules/es.object.is-sealed');\nrequire('../../modules/es.object.keys');\nrequire('../../modules/es.object.prevent-extensions');\nrequire('../../modules/es.object.proto');\nrequire('../../modules/es.object.seal');\nrequire('../../modules/es.object.set-prototype-of');\nrequire('../../modules/es.object.values');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.object.define-getter');\nrequire('../../modules/es.object.define-setter');\nrequire('../../modules/es.object.lookup-getter');\nrequire('../../modules/es.object.lookup-setter');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n // This feature detection crashes old WebKit\n // https://github.com/zloirock/core-js/issues/232\n if (WEBKIT && WEBKIT < 535) return;\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call, es/no-legacy-object-prototype-accessor-methods -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.33.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://tc39.es/ecma262/#sec-object.hasown\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n// eslint-disable-next-line es/no-object-isextensible -- safe\n$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, {\n isExtensible: $isExtensible\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isFrozen: function isFrozen(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isFrozen ? $isFrozen(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isSealed: function isSealed(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isSealed ? $isSealed(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-preventextensions -- safe\nvar $preventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar getPrototypeOf = Object.getPrototypeOf;\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar setPrototypeOf = Object.setPrototypeOf;\nvar ObjectPrototype = Object.prototype;\nvar PROTO = '__proto__';\n\n// `Object.prototype.__proto__` accessor\n// https://tc39.es/ecma262/#sec-object.prototype.__proto__\nif (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try {\n defineBuiltInAccessor(ObjectPrototype, PROTO, {\n configurable: true,\n get: function __proto__() {\n return getPrototypeOf(toObject(this));\n },\n set: function __proto__(proto) {\n var O = requireObjectCoercible(this);\n if (!isObject(proto) && proto !== null || !isObject(O)) return;\n setPrototypeOf(O, proto);\n }\n });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-seal -- safe\nvar $seal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return $seal && isObject(it) ? $seal(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = global.RangeError;\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? global : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n"],"names":["global","performance","mark","name","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","constructor","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","_ZoneDelegate","assertZonePatched","patches","root","zone","current","_currentZoneFrame","currentTask","_currentTask","__load_patch","fn","ignoreDuplicate","hasOwnProperty","perfName","_api","get","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","Object","prototype","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","func","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","getOwnPropertyDescriptor","defineProperty","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","patchPrototype","fnNames","prototypeDesc","isPropertyWritable","patched","propertyDesc","writable","set","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","result","errorEvent","message","filename","lineno","colno","preventDefault","patchProperty","obj","prop","desc","enumerable","configurable","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","proto","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","api","readableObjectToString","JSON","stringify","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","e","rejection","console","stack","uncaughtPromiseError","shift","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","AggregateError","any","values","Symbol","iterator","Promise","promises","finished","errors","race","res","rej","onResolve","onReject","all","allWithCallback","allSettled","P","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","_a","C","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","zoneify","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","globalCallback","context","isCapture","tasks","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","assign","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","concat","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","getOwnPropertyNames","startsWith","map","substring","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","eventNames","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","timer","handle","ref","unref","bind","id","patchCustomElements","customElements","eventTargetPatch","EVENT_TARGET","patchEvent","legacyPatch","clear","blockingMethods","s","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt"],"sourceRoot":"webpack:///","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]} \ No newline at end of file +{"version":3,"file":"polyfills.js","mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtEa;AACb,sBAAsB,mBAAO,CAAC,0CAAgC;AAC9D,gBAAgB,mBAAO,CAAC,kCAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACVa;AACb,cAAc,mBAAO,CAAC,oCAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRa;AACb,mBAAmB,mBAAO,CAAC,qCAA2B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;;;;;;;;;;ACXa;AACb,kBAAkB,mBAAO,CAAC,8CAAoC;AAC9D,YAAY,mBAAO,CAAC,8BAAoB;AACxC,iBAAiB,mBAAO,CAAC,mCAA0B;AACnD,cAAc,mBAAO,CAAC,gCAAsB;AAC5C,iBAAiB,mBAAO,CAAC,qCAA2B;AACpD,oBAAoB,mBAAO,CAAC,uCAA6B;;AAEzD,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA,CAAC;;;;;;;;;;;ACpDY;AACb,YAAY,mBAAO,CAAC,8BAAoB;AACxC,iBAAiB,mBAAO,CAAC,mCAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtBa;AACb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLa;AACb,iBAAiB,mBAAO,CAAC,mCAA0B;AACnD,mBAAmB,mBAAO,CAAC,qCAA2B;;AAEtD;;AAEA;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","sources":["./src/polyfills.ts","./node_modules/zone.js/fesm2015/zone.js","./node_modules/core-js/es/object/index.js","./node_modules/core-js/internals/a-callable.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-buffer-non-extensible.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/array-iteration.js","./node_modules/core-js/internals/array-slice-simple.js","./node_modules/core-js/internals/array-slice.js","./node_modules/core-js/internals/array-species-constructor.js","./node_modules/core-js/internals/array-species-create.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/classof.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/create-property.js","./node_modules/core-js/internals/define-built-in-accessor.js","./node_modules/core-js/internals/define-built-in.js","./node_modules/core-js/internals/define-global-property.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-all.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/core-js/internals/engine-v8-version.js","./node_modules/core-js/internals/engine-webkit-version.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/internals/function-apply.js","./node_modules/core-js/internals/function-bind-context.js","./node_modules/core-js/internals/function-bind-native.js","./node_modules/core-js/internals/function-call.js","./node_modules/core-js/internals/function-name.js","./node_modules/core-js/internals/function-uncurry-this-accessor.js","./node_modules/core-js/internals/function-uncurry-this-clause.js","./node_modules/core-js/internals/function-uncurry-this.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/get-iterator-method.js","./node_modules/core-js/internals/get-iterator.js","./node_modules/core-js/internals/get-json-replacer-function.js","./node_modules/core-js/internals/get-method.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has-own-property.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-metadata.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/core-js/internals/is-array.js","./node_modules/core-js/internals/is-callable.js","./node_modules/core-js/internals/is-constructor.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-null-or-undefined.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/is-symbol.js","./node_modules/core-js/internals/iterate.js","./node_modules/core-js/internals/iterator-close.js","./node_modules/core-js/internals/iterators.js","./node_modules/core-js/internals/length-of-array-like.js","./node_modules/core-js/internals/make-built-in.js","./node_modules/core-js/internals/math-trunc.js","./node_modules/core-js/internals/object-assign.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names-external.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-is-extensible.js","./node_modules/core-js/internals/object-is-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-prototype-accessors-forced.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/object-to-array.js","./node_modules/core-js/internals/object-to-string.js","./node_modules/core-js/internals/ordinary-to-primitive.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/path.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/same-value.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/symbol-constructor-detection.js","./node_modules/core-js/internals/symbol-define-to-primitive.js","./node_modules/core-js/internals/symbol-registry-detection.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer-or-infinity.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/to-property-key.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/internals/to-string.js","./node_modules/core-js/internals/try-to-string.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/v8-prototype-define-bug.js","./node_modules/core-js/internals/weak-map-basic-detection.js","./node_modules/core-js/internals/well-known-symbol-define.js","./node_modules/core-js/internals/well-known-symbol-wrapped.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.json.stringify.js","./node_modules/core-js/modules/es.json.to-string-tag.js","./node_modules/core-js/modules/es.math.to-string-tag.js","./node_modules/core-js/modules/es.object.assign.js","./node_modules/core-js/modules/es.object.create.js","./node_modules/core-js/modules/es.object.define-getter.js","./node_modules/core-js/modules/es.object.define-properties.js","./node_modules/core-js/modules/es.object.define-property.js","./node_modules/core-js/modules/es.object.define-setter.js","./node_modules/core-js/modules/es.object.entries.js","./node_modules/core-js/modules/es.object.freeze.js","./node_modules/core-js/modules/es.object.from-entries.js","./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","./node_modules/core-js/modules/es.object.get-own-property-names.js","./node_modules/core-js/modules/es.object.get-own-property-symbols.js","./node_modules/core-js/modules/es.object.get-prototype-of.js","./node_modules/core-js/modules/es.object.has-own.js","./node_modules/core-js/modules/es.object.is-extensible.js","./node_modules/core-js/modules/es.object.is-frozen.js","./node_modules/core-js/modules/es.object.is-sealed.js","./node_modules/core-js/modules/es.object.is.js","./node_modules/core-js/modules/es.object.keys.js","./node_modules/core-js/modules/es.object.lookup-getter.js","./node_modules/core-js/modules/es.object.lookup-setter.js","./node_modules/core-js/modules/es.object.prevent-extensions.js","./node_modules/core-js/modules/es.object.proto.js","./node_modules/core-js/modules/es.object.seal.js","./node_modules/core-js/modules/es.object.set-prototype-of.js","./node_modules/core-js/modules/es.object.to-string.js","./node_modules/core-js/modules/es.object.values.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","./node_modules/core-js/modules/es.symbol.constructor.js","./node_modules/core-js/modules/es.symbol.for.js","./node_modules/core-js/modules/es.symbol.js","./node_modules/core-js/modules/es.symbol.key-for.js"],"sourcesContent":["/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your add-wallet\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es/symbol';\nimport 'core-js/es/object';\n// import 'core-js/es/function';\n// import 'core-js/es/parse-int';\n// import 'core-js/es/parse-float';\n// import 'core-js/es/number';\n// import 'core-js/es/math';\n// import 'core-js/es/string';\n// import 'core-js/es/date';\n// import 'core-js/es/array';\n// import 'core-js/es/regexp';\n// import 'core-js/es/map';\n// import 'core-js/es/weak-map';\n// import 'core-js/es/set';\n\n/**\n * If the application will be indexed by Google Search, the following is required.\n * Googlebot uses a renderer based on Chrome 41.\n * https://developers.google.com/search/docs/guides/rendering\n **/\n// import 'core-js/es6/array';\n\n/** IE10 and IE11 requires the following for the Reflect API. */\n// import 'core-js/es6/reflect';\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n */\n\n// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n\n/*\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n */\n// (window as any).__Zone_enable_cross_context_check = true;\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js'; // Included with Angular CLI.\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","'use strict';\n/**\n * @license Angular v15.1.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n((function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n}))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n/// \n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n ;\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(name => name.startsWith('on') && name.length > 2)\n .map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n","'use strict';\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.object.assign');\nrequire('../../modules/es.object.create');\nrequire('../../modules/es.object.define-property');\nrequire('../../modules/es.object.define-properties');\nrequire('../../modules/es.object.entries');\nrequire('../../modules/es.object.freeze');\nrequire('../../modules/es.object.from-entries');\nrequire('../../modules/es.object.get-own-property-descriptor');\nrequire('../../modules/es.object.get-own-property-descriptors');\nrequire('../../modules/es.object.get-own-property-names');\nrequire('../../modules/es.object.get-prototype-of');\nrequire('../../modules/es.object.has-own');\nrequire('../../modules/es.object.is');\nrequire('../../modules/es.object.is-extensible');\nrequire('../../modules/es.object.is-frozen');\nrequire('../../modules/es.object.is-sealed');\nrequire('../../modules/es.object.keys');\nrequire('../../modules/es.object.prevent-extensions');\nrequire('../../modules/es.object.proto');\nrequire('../../modules/es.object.seal');\nrequire('../../modules/es.object.set-prototype-of');\nrequire('../../modules/es.object.values');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.object.define-getter');\nrequire('../../modules/es.object.define-setter');\nrequire('../../modules/es.object.lookup-getter');\nrequire('../../modules/es.object.lookup-setter');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n // This feature detection crashes old WebKit\n // https://github.com/zloirock/core-js/issues/232\n if (WEBKIT && WEBKIT < 535) return;\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call, es/no-legacy-object-prototype-accessor-methods -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.33.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://tc39.es/ecma262/#sec-object.hasown\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n// eslint-disable-next-line es/no-object-isextensible -- safe\n$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, {\n isExtensible: $isExtensible\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isFrozen: function isFrozen(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isFrozen ? $isFrozen(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isSealed: function isSealed(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isSealed ? $isSealed(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-preventextensions -- safe\nvar $preventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar getPrototypeOf = Object.getPrototypeOf;\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar setPrototypeOf = Object.setPrototypeOf;\nvar ObjectPrototype = Object.prototype;\nvar PROTO = '__proto__';\n\n// `Object.prototype.__proto__` accessor\n// https://tc39.es/ecma262/#sec-object.prototype.__proto__\nif (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try {\n defineBuiltInAccessor(ObjectPrototype, PROTO, {\n configurable: true,\n get: function __proto__() {\n return getPrototypeOf(toObject(this));\n },\n set: function __proto__(proto) {\n var O = requireObjectCoercible(this);\n if (!isObject(proto) && proto !== null || !isObject(O)) return;\n setPrototypeOf(O, proto);\n }\n });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-seal -- safe\nvar $seal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return $seal && isObject(it) ? $seal(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = global.RangeError;\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? global : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n"],"names":["global","performance","mark","name","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","constructor","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","_ZoneDelegate","assertZonePatched","patches","root","zone","current","_currentZoneFrame","currentTask","_currentTask","__load_patch","fn","ignoreDuplicate","hasOwnProperty","perfName","_api","get","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","Object","prototype","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","func","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","getOwnPropertyDescriptor","defineProperty","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","patchPrototype","fnNames","prototypeDesc","isPropertyWritable","patched","propertyDesc","writable","set","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","result","errorEvent","message","filename","lineno","colno","preventDefault","patchProperty","obj","prop","desc","enumerable","configurable","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","proto","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","api","readableObjectToString","JSON","stringify","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","e","rejection","console","stack","uncaughtPromiseError","shift","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","AggregateError","any","values","Symbol","iterator","Promise","promises","finished","errors","race","res","rej","onResolve","onReject","all","allWithCallback","allSettled","P","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","_a","C","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","zoneify","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","globalCallback","context","isCapture","tasks","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","assign","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","concat","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","getOwnPropertyNames","startsWith","map","substring","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","eventNames","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","timer","handle","ref","unref","bind","id","patchCustomElements","customElements","eventTargetPatch","EVENT_TARGET","patchEvent","legacyPatch","clear","blockingMethods","s","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt"],"sourceRoot":"webpack:///","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]} \ No newline at end of file