From b8425cc0595ece473ee01875ceb99afb9a87c788 Mon Sep 17 00:00:00 2001 From: Nexus Agent Date: Mon, 8 Jun 2026 07:38:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(servers):=20=E7=8A=B6=E6=80=81/=E5=BF=83?= =?UTF-8?q?=E8=B7=B3/Agent=20=E5=88=97=20overlay=20=E5=90=8E=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- .../audit/2026-06-08-servers-live-sort-fix.md | 25 + .../2026-06-08-servers-live-sort-fix.md | 28 + .../2026-06-08-servers-live-sort-design.md | 36 + .../src/composables/useServerPagination.ts | 17 +- frontend/src/pages/DashboardPage.vue | 3 +- frontend/src/pages/ServersPage.vue | 10 +- server/api/servers.py | 101 +- .../application/services/server_list_sort.py | 76 ++ server/infrastructure/database/server_repo.py | 37 + tests/test_server_list_sort.py | 83 ++ web/app/assets/AlertsPage-BQ26slXA.js | 1 + web/app/assets/AuditPage-CtSuHRge.js | 1 + web/app/assets/CommandsPage-DSMJBQOT.js | 1 + web/app/assets/CredentialsPage-BjZD7bot.js | 1 + web/app/assets/DashboardPage-CA2jAe10.js | 1 + web/app/assets/DashboardPage-CmPZFaNy.css | 1 + web/app/assets/FilesPage-C45eqjeG.js | 5 + web/app/assets/LoginPage-s5chNIa7.js | 1 + web/app/assets/PushPage-oiokaBkp.js | 1 + web/app/assets/RetriesPage-Ccx3is-O.js | 1 + web/app/assets/SchedulesPage-D3XY0xis.js | 1 + web/app/assets/ScriptRunsPage-CWBYk1C1.js | 4 + web/app/assets/ScriptsPage-CBNlu4H0.js | 4 + web/app/assets/ServersPage-LVgDB3Rh.js | 7 + web/app/assets/SettingsPage-DLeYyeUc.js | 4 + web/app/assets/StatCardsRow-Cd1utvc9.js | 1 + web/app/assets/TerminalPage-Dkm2aFA7.js | 40 + web/app/assets/VCheckbox-Nzkf754R.js | 1 + web/app/assets/VDataTable-B6PKw1TS.js | 1 + web/app/assets/VDataTableServer-Dh4BHVrk.js | 1 + web/app/assets/VDialog-P-nMQayc.js | 1 + web/app/assets/VExpansionPanels-RdQ6j6OE.js | 1 + web/app/assets/VRow-CamZ4OJs.js | 1 + web/app/assets/VSelect-Dy1HeCdk.js | 1 + web/app/assets/VSwitch-XZYCP_Om.js | 1 + web/app/assets/VTabs-BcjxNt4c.js | 1 + web/app/assets/VTextarea-Dnh3HyOO.js | 1 + web/app/assets/apiError-DukIeo5O.js | 1 + web/app/assets/cssMode-iDw0e5LA.js | 1 + web/app/assets/execDetailGrouping-MKCzvGo4.js | 2 + web/app/assets/freemarker2-b1ssc0FN.js | 3 + web/app/assets/handlebars-vrLqQ089.js | 1 + web/app/assets/html-BW5USfmm.js | 1 + web/app/assets/htmlMode-_P0Ii-St.js | 1 + web/app/assets/index-C6qJAv49.js | 15 + web/app/assets/initMonaco-CbTFLcUb.js | 877 ++++++++++++++++++ web/app/assets/javascript-H5zk57M_.js | 1 + web/app/assets/jsonMode-BD7q89Sm.js | 7 + web/app/assets/liquid-24LwxgJS.js | 1 + .../assets/lspLanguageFeatures-CrPR27dq.js | 4 + web/app/assets/mdx-C2tCzvlx.js | 1 + web/app/assets/paginatedFetch-CPtIdw6B.js | 1 + web/app/assets/python-vNTNvqZo.js | 1 + web/app/assets/razor-D0WOaJuU.js | 1 + web/app/assets/tsMode-BgH5F8yN.js | 11 + web/app/assets/typescript-D5WOfyfO.js | 1 + web/app/assets/usePageAutoRefresh-qyIz2rJd.js | 1 + .../assets/useServerCategories-WSJPDvJY.js | 1 + web/app/assets/useServerList-DgZFamx0.js | 1 + .../useTerminalQuickCommands-E80oyzaI.js | 2 + web/app/assets/xml-CUihUSct.js | 1 + web/app/assets/yaml-DDt1aTWD.js | 1 + web/app/index.html | 2 +- 63 files changed, 1394 insertions(+), 47 deletions(-) create mode 100644 docs/audit/2026-06-08-servers-live-sort-fix.md create mode 100644 docs/changelog/2026-06-08-servers-live-sort-fix.md create mode 100644 docs/design/specs/2026-06-08-servers-live-sort-design.md create mode 100644 server/application/services/server_list_sort.py create mode 100644 tests/test_server_list_sort.py create mode 100644 web/app/assets/AlertsPage-BQ26slXA.js create mode 100644 web/app/assets/AuditPage-CtSuHRge.js create mode 100644 web/app/assets/CommandsPage-DSMJBQOT.js create mode 100644 web/app/assets/CredentialsPage-BjZD7bot.js create mode 100644 web/app/assets/DashboardPage-CA2jAe10.js create mode 100644 web/app/assets/DashboardPage-CmPZFaNy.css create mode 100644 web/app/assets/FilesPage-C45eqjeG.js create mode 100644 web/app/assets/LoginPage-s5chNIa7.js create mode 100644 web/app/assets/PushPage-oiokaBkp.js create mode 100644 web/app/assets/RetriesPage-Ccx3is-O.js create mode 100644 web/app/assets/SchedulesPage-D3XY0xis.js create mode 100644 web/app/assets/ScriptRunsPage-CWBYk1C1.js create mode 100644 web/app/assets/ScriptsPage-CBNlu4H0.js create mode 100644 web/app/assets/ServersPage-LVgDB3Rh.js create mode 100644 web/app/assets/SettingsPage-DLeYyeUc.js create mode 100644 web/app/assets/StatCardsRow-Cd1utvc9.js create mode 100644 web/app/assets/TerminalPage-Dkm2aFA7.js create mode 100644 web/app/assets/VCheckbox-Nzkf754R.js create mode 100644 web/app/assets/VDataTable-B6PKw1TS.js create mode 100644 web/app/assets/VDataTableServer-Dh4BHVrk.js create mode 100644 web/app/assets/VDialog-P-nMQayc.js create mode 100644 web/app/assets/VExpansionPanels-RdQ6j6OE.js create mode 100644 web/app/assets/VRow-CamZ4OJs.js create mode 100644 web/app/assets/VSelect-Dy1HeCdk.js create mode 100644 web/app/assets/VSwitch-XZYCP_Om.js create mode 100644 web/app/assets/VTabs-BcjxNt4c.js create mode 100644 web/app/assets/VTextarea-Dnh3HyOO.js create mode 100644 web/app/assets/apiError-DukIeo5O.js create mode 100644 web/app/assets/cssMode-iDw0e5LA.js create mode 100644 web/app/assets/execDetailGrouping-MKCzvGo4.js create mode 100644 web/app/assets/freemarker2-b1ssc0FN.js create mode 100644 web/app/assets/handlebars-vrLqQ089.js create mode 100644 web/app/assets/html-BW5USfmm.js create mode 100644 web/app/assets/htmlMode-_P0Ii-St.js create mode 100644 web/app/assets/index-C6qJAv49.js create mode 100644 web/app/assets/initMonaco-CbTFLcUb.js create mode 100644 web/app/assets/javascript-H5zk57M_.js create mode 100644 web/app/assets/jsonMode-BD7q89Sm.js create mode 100644 web/app/assets/liquid-24LwxgJS.js create mode 100644 web/app/assets/lspLanguageFeatures-CrPR27dq.js create mode 100644 web/app/assets/mdx-C2tCzvlx.js create mode 100644 web/app/assets/paginatedFetch-CPtIdw6B.js create mode 100644 web/app/assets/python-vNTNvqZo.js create mode 100644 web/app/assets/razor-D0WOaJuU.js create mode 100644 web/app/assets/tsMode-BgH5F8yN.js create mode 100644 web/app/assets/typescript-D5WOfyfO.js create mode 100644 web/app/assets/usePageAutoRefresh-qyIz2rJd.js create mode 100644 web/app/assets/useServerCategories-WSJPDvJY.js create mode 100644 web/app/assets/useServerList-DgZFamx0.js create mode 100644 web/app/assets/useTerminalQuickCommands-E80oyzaI.js create mode 100644 web/app/assets/xml-CUihUSct.js create mode 100644 web/app/assets/yaml-DDt1aTWD.js diff --git a/docs/audit/2026-06-08-servers-live-sort-fix.md b/docs/audit/2026-06-08-servers-live-sort-fix.md new file mode 100644 index 00000000..aae9dbcf --- /dev/null +++ b/docs/audit/2026-06-08-servers-live-sort-fix.md @@ -0,0 +1,25 @@ +# 审计 — 服务器列表实时字段排序 + +**Changelog**: `docs/changelog/2026-06-08-servers-live-sort-fix.md` + +## 变更文件 + +`server_list_sort.py` · `server_repo.py` · `servers.py` · `ServersPage.vue` · `useServerPagination.ts` · `DashboardPage.vue` · `tests/test_server_list_sort.py` · `web/app/index.html` · `web/app/assets/*` + +## Step 3 + +| 项 | 结论 | +|----|------| +| sort_by 白名单 | PASS(live 字段独立模块) | +| Redis pipeline | PASS | +| 上限 5000 | PASS | + +## Closure + +Gate 7/7 PASS · 生产部署后更新 commit hash。 + +## DoD + +- [x] 实时三列 overlay 后排序 +- [x] 分类视图组内顺序 +- [x] 单测 diff --git a/docs/changelog/2026-06-08-servers-live-sort-fix.md b/docs/changelog/2026-06-08-servers-live-sort-fix.md new file mode 100644 index 00000000..d830525c --- /dev/null +++ b/docs/changelog/2026-06-08-servers-live-sort-fix.md @@ -0,0 +1,28 @@ +# Changelog — 服务器列表实时字段排序修复(2026-06-08) + +## 摘要 + +状态 / 心跳 / Agent 列在 Redis overlay 后内存排序;分类视图组内顺序跟随 API。 + +## 动机 + +DB `ORDER BY` 先于 Redis 覆盖,展示值与排序键不一致,用户点列头排序无感。 + +## 涉及文件 + +| 文件 | 说明 | +|------|------| +| `server/application/services/server_list_sort.py` | overlay 后排序 | +| `server/infrastructure/database/server_repo.py` | `get_filtered()` | +| `server/api/servers.py` | live sort 分支 + pipeline overlay | +| `frontend/src/pages/ServersPage.vue` | 分组视图保留 API 顺序 | +| `frontend/src/composables/useServerPagination.ts` | `watch(sortBy)` 触发加载 | +| `tests/test_server_list_sort.py` | 单测 | + +## 迁移 / 重启 + +需重启 API;前端需 build。 + +## 验证 + +`pytest tests/test_server_list_sort.py` · `#/servers` 心跳/状态/Agent 列排序 diff --git a/docs/design/specs/2026-06-08-servers-live-sort-design.md b/docs/design/specs/2026-06-08-servers-live-sort-design.md new file mode 100644 index 00000000..bea674f6 --- /dev/null +++ b/docs/design/specs/2026-06-08-servers-live-sort-design.md @@ -0,0 +1,36 @@ +# 服务器列表实时字段排序设计 + +**日期**: 2026-06-08 + +## 背景 + +`GET /api/servers/` 在 MySQL 层 `ORDER BY` 后分页,再用 Redis heartbeat 覆盖 `is_online`、`last_heartbeat`、`agent_version`、`status`。展示值与排序键不一致,导致状态/心跳/Agent 列排序无效。 + +## 目标 + +对 `sort_by ∈ {status, heartbeat, agent_version}`:overlay 全量筛选结果后内存排序,再分页返回。 + +## 方案 + +1. `server_repo.get_filtered()` 拉取筛选后全量(上限 5000) +2. Redis pipeline 批量 `HGETALL heartbeat:{id}` +3. `server_list_sort.sort_server_items()` 按 UI 语义排序 +4. `slice[offset:offset+per_page]` + +静态列(name/domain/category/target_path/id)仍 DB 排序。 + +## 排序语义 + +| 字段 | 键 | +|------|-----| +| status | online(0) → offline(1) → unknown(2),tiebreaker name | +| heartbeat | ISO 时间;缺失置后(升序/降序均置后) | +| agent_version | 字符串;空置后 | + +## 性能 + +≤5000 台 × 一次 pipeline + 内存 sort;运维列表低频可接受。 + +## 验收 + +见 `docs/changelog/2026-06-08-servers-live-sort-fix.md` diff --git a/frontend/src/composables/useServerPagination.ts b/frontend/src/composables/useServerPagination.ts index c8d0adbe..5918f06c 100644 --- a/frontend/src/composables/useServerPagination.ts +++ b/frontend/src/composables/useServerPagination.ts @@ -4,7 +4,7 @@ * Paginated server table with search debounce, page/perPage handlers. * Eliminates the identical pattern in ServersPage and DashboardPage. */ -import { ref, onUnmounted } from 'vue' +import { ref, watch, onUnmounted } from 'vue' import type { ServerApiItem } from '@/types/api' import { fetchPagePerPage } from '@/utils/paginatedFetch' import { toServerApiSort, type TableSortItem } from '@/utils/serverTableSort' @@ -71,11 +71,14 @@ export function useServerPagination() { loadServers() } - function onSortByChange(next: TableSortItem[]) { - sortBy.value = next - page.value = 1 - loadServers() - } + watch( + sortBy, + () => { + page.value = 1 + void loadServers() + }, + { deep: true }, + ) async function loadAllServers(): Promise { const res = await fetchPagePerPage( @@ -93,7 +96,7 @@ export function useServerPagination() { return { servers, loading, page, itemsPerPage, total, search, categoryFilter, sortBy, - loadServers, onSearch, onPageChange, onItemsPerPageChange, onCategoryChange, onSortByChange, + loadServers, onSearch, onPageChange, onItemsPerPageChange, onCategoryChange, loadAllServers, } } diff --git a/frontend/src/pages/DashboardPage.vue b/frontend/src/pages/DashboardPage.vue index 7ff4af52..ac6af77a 100644 --- a/frontend/src/pages/DashboardPage.vue +++ b/frontend/src/pages/DashboardPage.vue @@ -25,7 +25,6 @@ :items-per-page="itemsPerPage" :items-per-page-options="dataTablePageOptions" v-model:sort-by="sortBy" - @update:sort-by="onSortByChange" hover item-value="id" @update:page="onPageChange" @@ -264,7 +263,7 @@ const statItems = ref([ // ── Server Table (composable) ── const { servers, loading, page, itemsPerPage, total, search, sortBy, - loadServers: _loadServers, onSearch, onPageChange, onItemsPerPageChange, onSortByChange, + loadServers: _loadServers, onSearch, onPageChange, onItemsPerPageChange, } = useServerPagination() async function loadServers() { diff --git a/frontend/src/pages/ServersPage.vue b/frontend/src/pages/ServersPage.vue index 96fdd07d..8fe16639 100644 --- a/frontend/src/pages/ServersPage.vue +++ b/frontend/src/pages/ServersPage.vue @@ -115,7 +115,6 @@ show-select v-model="selectedItems" v-model:sort-by="sortBy" - @update:sort-by="onSortByChange" @update:page="onPageChange" @update:items-per-page="onItemsPerPageChange" @click:row="(_e: Event, { item }: { item: ServerApiItem }) => showDetail(item)" @@ -630,7 +629,7 @@ const router = useRouter() // ── Paginated server list (composable) ── const { servers, loading, page, itemsPerPage, total, search, categoryFilter, sortBy, - loadServers: _load, onSearch, onPageChange, onItemsPerPageChange, onCategoryChange, onSortByChange, + loadServers: _load, onSearch, onPageChange, onItemsPerPageChange, onCategoryChange, loadAllServers, } = useServerPagination() @@ -694,7 +693,7 @@ const groupedServers = computed(() => { .map(([category, list]) => ({ category, label: categoryDisplayLabel(category), - servers: list.sort((a, b) => a.name.localeCompare(b.name, 'zh')), + servers: list, })) .sort((a, b) => { if (a.category === 'uncategorized') return 1 @@ -748,7 +747,10 @@ function toggleGroupAll(groupServers: ServerApiItem[]) { } watch(categoryFilter, () => { selectedItems.value = [] }) -watch(sortBy, () => { selectedItems.value = [] }, { deep: true }) +watch(sortBy, () => { + selectedItems.value = [] + if (viewMode.value === 'group') void loadGroupServers() +}, { deep: true }) watch(search, () => { selectedItems.value = [] }) watch(viewMode, mode => { diff --git a/server/api/servers.py b/server/api/servers.py index 084627e0..961d7c99 100644 --- a/server/api/servers.py +++ b/server/api/servers.py @@ -148,49 +148,62 @@ async def list_servers( service: ServerService = Depends(get_server_service), db: AsyncSession = Depends(get_db), ): - """List servers with live status from Redis (DB-level pagination) + """List servers with live status from Redis. - Base info (name/IP/category) from MySQL with DB-level pagination, - real-time status from Redis. If Redis heartbeat key exists, - override is_online/system_info/last_heartbeat. - - Supports: text search, multi-column sorting, online status filter. - When is_online filter is active, over-fetches from DB then post-filters - after Redis overlay to ensure accurate results. + Static columns sort in MySQL; status/heartbeat/agent_version sort after + Redis overlay so order matches displayed values. """ + from server.application.services.server_list_sort import ( + LIVE_SORT_FIELDS, + MAX_LIVE_SORT_ROWS, + sort_server_items, + ) from server.infrastructure.database.server_repo import ServerRepositoryImpl offset = (page - 1) * per_page repo = ServerRepositoryImpl(db) - page_servers, total = await repo.get_paginated( - category, platform_id, node_id, offset, per_page, - search=search, sort_by=sort_by, sort_order=sort_order, is_online=is_online, - ) redis = get_redis() + order = sort_order if sort_order in ("asc", "desc") else "asc" - result = [] - for server in page_servers: - server_data = _server_to_dict(server) - - try: - heartbeat = await redis.hgetall(f"{REDIS_KEY_PREFIX}{server.id}") - _apply_heartbeat_overlay(server_data, server, heartbeat or None) - except Exception as e: - logger.warning(f"Redis read failed for server {server.id}: {e}") - server_data["status"] = _derive_server_status( - server_data.get("is_online"), server.agent_version + if sort_by in LIVE_SORT_FIELDS: + db_online_filter = None if is_online is not None else is_online + all_servers, db_total = await repo.get_filtered( + category, + platform_id, + node_id, + search=search, + is_online=db_online_filter, + max_rows=MAX_LIVE_SORT_ROWS, + ) + if db_total > MAX_LIVE_SORT_ROWS: + logger.warning( + "Live sort capped at %s servers (total matching=%s)", + MAX_LIVE_SORT_ROWS, + db_total, ) - - result.append(server_data) - - # Post-filter: when is_online filter is active, Redis overlay may have - # changed a server's status vs what MySQL reported. Remove mismatches. - if is_online is not None: - result = [s for s in result if s.get("is_online") == is_online] - # Recalculate total/pages to reflect actual filtered count + result = await _build_server_list_with_overlay(redis, all_servers) + if is_online is not None: + result = [s for s in result if s.get("is_online") == is_online] total = len(result) - # Trim to per_page (we over-fetched from DB to compensate) - result = result[:per_page] + result = sort_server_items(result, sort_by, order) + result = result[offset : offset + per_page] + else: + page_servers, total = await repo.get_paginated( + category, + platform_id, + node_id, + offset, + per_page, + search=search, + sort_by=sort_by, + sort_order=order, + is_online=is_online, + ) + result = await _build_server_list_with_overlay(redis, page_servers) + if is_online is not None: + result = [s for s in result if s.get("is_online") == is_online] + total = len(result) + result = result[:per_page] return { "items": result, @@ -2137,6 +2150,28 @@ async def get_server_logs( # ── Helper functions ── +async def _build_server_list_with_overlay(redis, servers: list) -> list[dict]: + """Batch Redis heartbeat overlay for server list rows.""" + if not servers: + return [] + pipe = redis.pipeline() + for server in servers: + pipe.hgetall(f"{REDIS_KEY_PREFIX}{server.id}") + heartbeats = await pipe.execute() + result: list[dict] = [] + for server, heartbeat in zip(servers, heartbeats): + server_data = _server_to_dict(server) + try: + _apply_heartbeat_overlay(server_data, server, heartbeat or None) + except Exception as e: + logger.warning(f"Redis read failed for server {server.id}: {e}") + server_data["status"] = _derive_server_status( + server_data.get("is_online"), server.agent_version + ) + result.append(server_data) + return result + + def _derive_server_status(is_online: bool | None, agent_version: str | None) -> str: """Map live/DB fields to frontend status: online | offline | unknown.""" has_agent = bool(agent_version and str(agent_version).strip()) diff --git a/server/application/services/server_list_sort.py b/server/application/services/server_list_sort.py new file mode 100644 index 00000000..30f2238f --- /dev/null +++ b/server/application/services/server_list_sort.py @@ -0,0 +1,76 @@ +"""In-memory sort for server list items after Redis heartbeat overlay.""" + +from __future__ import annotations + +from datetime import datetime, timezone +from typing import Any, Callable + +LIVE_SORT_FIELDS = frozenset({"status", "heartbeat", "agent_version"}) +MAX_LIVE_SORT_ROWS = 5000 + +_STATUS_ORDER = {"online": 0, "offline": 1, "unknown": 2} + + +def _parse_heartbeat(raw: Any) -> datetime | None: + if not raw: + return None + text = str(raw).strip() + if not text: + return None + try: + if text.endswith("Z"): + text = f"{text[:-1]}+00:00" + dt = datetime.fromisoformat(text) + if dt.tzinfo is None: + dt = dt.replace(tzinfo=timezone.utc) + return dt + except (TypeError, ValueError): + return None + + +def _status_key(item: dict[str, Any]) -> tuple[int, str]: + status = item.get("status") or "unknown" + rank = _STATUS_ORDER.get(status, 3) + return rank, (item.get("name") or "").casefold() + + +def _heartbeat_key(item: dict[str, Any]) -> datetime | None: + return _parse_heartbeat(item.get("last_heartbeat")) + + +def _agent_version_key(item: dict[str, Any]) -> str | None: + ver = (item.get("agent_version") or "").strip() + return ver or None + + +def _sort_with_nulls_last( + items: list[dict[str, Any]], + key_func: Callable[[dict[str, Any]], Any], + *, + reverse: bool, +) -> list[dict[str, Any]]: + with_value: list[dict[str, Any]] = [] + without_value: list[dict[str, Any]] = [] + for item in items: + if key_func(item) is None: + without_value.append(item) + else: + with_value.append(item) + with_value.sort(key=key_func, reverse=reverse) + return with_value + without_value + + +def sort_server_items( + items: list[dict[str, Any]], + sort_by: str, + sort_order: str = "asc", +) -> list[dict[str, Any]]: + """Sort server dicts using live overlay fields (post-Redis).""" + reverse = sort_order == "desc" + if sort_by == "status": + return sorted(items, key=_status_key, reverse=reverse) + if sort_by == "heartbeat": + return _sort_with_nulls_last(items, _heartbeat_key, reverse=reverse) + if sort_by == "agent_version": + return _sort_with_nulls_last(items, _agent_version_key, reverse=reverse) + return items diff --git a/server/infrastructure/database/server_repo.py b/server/infrastructure/database/server_repo.py index 821d9d1e..fe262219 100644 --- a/server/infrastructure/database/server_repo.py +++ b/server/infrastructure/database/server_repo.py @@ -111,6 +111,43 @@ class ServerRepositoryImpl: return servers, total + async def get_filtered( + self, + category: Optional[str] = None, + platform_id: Optional[int] = None, + node_id: Optional[int] = None, + search: Optional[str] = None, + is_online: Optional[bool] = None, + max_rows: int = 5000, + ) -> Tuple[List[Server], int]: + """All servers matching filters (no sort/pagination), capped at *max_rows*.""" + filters = [] + if category: + filters.append(_category_filter(category)) + if platform_id: + filters.append(Server.platform_id == platform_id) + if node_id: + filters.append(Server.node_id == node_id) + if search: + term = f"%{search}%" + filters.append(Server.name.ilike(term) | Server.domain.ilike(term)) + if is_online is not None: + filters.append(Server.is_online == is_online) + + count_query = select(func.count(Server.id)) + for f in filters: + count_query = count_query.where(f) + count_result = await self.session.execute(count_query) + total = count_result.scalar_one() or 0 + + data_query = select(Server) + for f in filters: + data_query = data_query.where(f) + data_query = data_query.order_by(Server.id).limit(max_rows) + result = await self.session.execute(data_query) + servers = list(result.scalars().all()) + return servers, total + async def get_by_category(self, category: str) -> List[Server]: result = await self.session.execute( select(Server).where(Server.category == category).order_by(Server.id) diff --git a/tests/test_server_list_sort.py b/tests/test_server_list_sort.py new file mode 100644 index 00000000..b90c0421 --- /dev/null +++ b/tests/test_server_list_sort.py @@ -0,0 +1,83 @@ +"""Server list in-memory sort after Redis overlay.""" +from datetime import datetime, timezone + +from server.application.services.server_list_sort import sort_server_items + + +def _item( + *, + name: str = "srv", + status: str = "unknown", + last_heartbeat: str | None = None, + agent_version: str | None = None, +) -> dict: + return { + "name": name, + "status": status, + "last_heartbeat": last_heartbeat, + "agent_version": agent_version, + } + + +def test_status_sort_asc(): + items = [ + _item(name="c", status="unknown"), + _item(name="a", status="online"), + _item(name="b", status="offline"), + ] + sorted_items = sort_server_items(items, "status", "asc") + assert [i["status"] for i in sorted_items] == ["online", "offline", "unknown"] + + +def test_status_sort_desc(): + items = [ + _item(name="a", status="online"), + _item(name="b", status="offline"), + _item(name="c", status="unknown"), + ] + sorted_items = sort_server_items(items, "status", "desc") + assert [i["status"] for i in sorted_items] == ["unknown", "offline", "online"] + + +def test_heartbeat_sort_uses_overlay_not_db_order(): + old = _item(name="old", last_heartbeat="2026-01-01T00:00:00+00:00") + new = _item(name="new", last_heartbeat="2026-06-08T12:00:00+00:00") + items = [old, new] + sorted_items = sort_server_items(items, "heartbeat", "desc") + assert sorted_items[0]["name"] == "new" + assert sorted_items[1]["name"] == "old" + + +def test_heartbeat_nulls_last_asc_and_desc(): + items = [ + _item(name="with", last_heartbeat="2026-06-01T00:00:00+00:00"), + _item(name="empty", last_heartbeat=None), + ] + asc = sort_server_items(items, "heartbeat", "asc") + assert asc[0]["name"] == "with" + assert asc[-1]["name"] == "empty" + desc = sort_server_items(items, "heartbeat", "desc") + assert desc[0]["name"] == "with" + assert desc[-1]["name"] == "empty" + + +def test_agent_version_empty_last(): + items = [ + _item(name="b", agent_version="2.1.0"), + _item(name="a", agent_version=""), + _item(name="c", agent_version="1.0.0"), + ] + asc = sort_server_items(items, "agent_version", "asc") + assert asc[0]["name"] == "c" + assert asc[1]["name"] == "b" + assert asc[-1]["name"] == "a" + + +def test_heartbeat_parse_z_suffix(): + ts = datetime(2026, 6, 8, 12, 0, tzinfo=timezone.utc).isoformat().replace("+00:00", "Z") + items = [ + _item(name="early", last_heartbeat="2026-01-01T00:00:00+00:00"), + _item(name="late", last_heartbeat=ts), + ] + sorted_items = sort_server_items(items, "heartbeat", "desc") + assert sorted_items[0]["name"] == "late" diff --git a/web/app/assets/AlertsPage-BQ26slXA.js b/web/app/assets/AlertsPage-BQ26slXA.js new file mode 100644 index 00000000..08d190c3 --- /dev/null +++ b/web/app/assets/AlertsPage-BQ26slXA.js @@ -0,0 +1 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{n as r,t as i}from"./VRow-CamZ4OJs.js";import{$r as a,A as o,B as s,Dr as c,F as l,Ir as u,N as d,R as f,T as p,Tr as m,Ur as h,Yr as g,Zt as _,_r as v,dr as y,gr as b,hr as x,j as S,kr as C,pr as w,sr as T,ur as E,ut as D}from"./index-C6qJAv49.js";import{n as O}from"./dataTable-esDY4cOk.js";import{t as k}from"./VDataTableServer-Dh4BHVrk.js";var A={class:`font-weight-medium`},j={class:`text-body-2`},M={class:`text-caption text-medium-emphasis`},N=v({__name:`AlertsPage`,setup(v){let N=e(),P=h(!1),F=h([]),I=h(0),L=h(1),R=h(null),z=h(null),B=h([{label:`今日告警`,value:`0`,color:`blue`,icon:`mdi-alert`},{label:`活跃告警`,value:`0`,color:`orange`,icon:`mdi-bell-ring`},{label:`已恢复`,value:`0`,color:`green`,icon:`mdi-check-circle`},{label:`Top 服务器`,value:`—`,color:`red`,icon:`mdi-server`}]),V=[{label:`CPU`,value:`cpu`},{label:`内存`,value:`memory`},{label:`磁盘`,value:`disk`},{label:`连接`,value:`connection`}],H=[{label:`活跃`,value:`active`},{label:`已恢复`,value:`recovered`}],U=O([{title:`类型`,key:`alert_type`,width:100},{title:`服务器`,key:`server_name`},{title:`详情`,key:`value`},{title:`状态`,key:`is_recovery`,width:100},{title:`时间`,key:`created_at`,width:160}]);async function W(){try{let e=await _.get(`/alert-history/stats`);B.value[0].value=String(e.today||0),B.value[1].value=String(e.active||0),B.value[2].value=String(e.recovered||0),B.value[3].value=e.top_server||`—`}catch{N(`加载统计失败`,`error`)}}async function G(){P.value=!0;try{let e=await _.get(`/alert-history/`,{page:L.value,per_page:20,type:R.value||void 0,status:z.value||void 0});F.value=e.items||[],I.value=e.total||0}catch{F.value=[]}finally{P.value=!1}}function K(e){return e===`cpu`||e===`CPU`?`error`:e===`memory`||e===`内存`?`warning`:e===`disk`||e===`磁盘`?`info`:`primary`}function q(e){return e===`cpu`||e===`CPU`?`mdi-chip`:e===`memory`||e===`内存`?`mdi-memory`:e===`disk`||e===`磁盘`?`mdi-harddisk`:`mdi-lan-disconnect`}return m(()=>{W(),G()}),(e,m)=>(c(),y(n,{fluid:``,class:`pa-6`},{default:u(()=>[b(i,{class:`mb-4`},{default:u(()=>[(c(!0),w(T,null,C(B.value,e=>(c(),y(r,{cols:`12`,sm:`6`,lg:`3`,key:e.label},{default:u(()=>[b(p,{elevation:`0`,lines:`two`,rounded:`lg`,border:``},{default:u(()=>[b(o,null,{append:u(()=>[b(D,{color:e.color,size:`30`},{default:u(()=>[x(a(e.icon),1)]),_:2},1032,[`color`])]),default:u(()=>[b(S,{class:`text-body-small`},{default:u(()=>[x(a(e.label),1)]),_:2},1024),b(S,null,{default:u(()=>[x(a(e.value),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),b(f,{elevation:`0`,border:``,rounded:`lg`},{default:u(()=>[b(s,{class:`d-flex align-center`},{default:u(()=>[m[5]||=x(` 告警历史 `,-1),b(d),b(t,{modelValue:R.value,"onUpdate:modelValue":[m[0]||=e=>R.value=e,m[1]||=e=>{L.value=1,G()}],items:V,"item-title":`label`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},clearable:``},null,8,[`modelValue`]),b(t,{modelValue:z.value,"onUpdate:modelValue":[m[2]||=e=>z.value=e,m[3]||=e=>{L.value=1,G()}],items:H,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`])]),_:1}),b(k,{items:F.value,headers:g(U),"items-length":I.value,loading:P.value,page:L.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":m[4]||=e=>{L.value=e,G()}},{"item.alert_type":u(({item:e})=>[b(l,{color:K(e.alert_type),size:`small`,variant:`tonal`,label:``},{prepend:u(()=>[b(D,{size:`12`},{default:u(()=>[x(a(q(e.alert_type)),1)]),_:2},1024)]),default:u(()=>[x(` `+a(e.alert_type),1)]),_:2},1032,[`color`])]),"item.server_name":u(({item:e})=>[E(`span`,A,a(e.server_name),1)]),"item.value":u(({item:e})=>[E(`span`,j,a(e.value),1)]),"item.is_recovery":u(({item:e})=>[e.is_recovery?(c(),y(l,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:u(()=>[...m[6]||=[x(`已恢复`,-1)]]),_:1})):(c(),y(l,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:u(()=>[...m[7]||=[x(`告警中`,-1)]]),_:1}))]),"item.created_at":u(({item:e})=>[E(`span`,M,a(e.created_at),1)]),"no-data":u(()=>[...m[8]||=[E(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{N as default}; \ No newline at end of file diff --git a/web/app/assets/AuditPage-CtSuHRge.js b/web/app/assets/AuditPage-CtSuHRge.js new file mode 100644 index 00000000..d633d006 --- /dev/null +++ b/web/app/assets/AuditPage-CtSuHRge.js @@ -0,0 +1 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{$r as r,B as i,Dr as a,F as o,Ir as s,N as c,R as l,Tr as u,Ur as d,Yr as f,Zt as p,_r as m,dr as h,gr as g,hr as _,t as v,ur as y}from"./index-C6qJAv49.js";import{n as b}from"./dataTable-esDY4cOk.js";import{t as x}from"./VDataTableServer-Dh4BHVrk.js";import{a as S,n as C,r as w,t as T}from"./auditNormalize-bmSA0RyN.js";var E={class:`font-weight-medium`},D={class:`text-body-2`},O={class:`text-body-2 text-medium-emphasis text-truncate`,style:{"max-width":`300px`,display:`inline-block`}},k={class:`text-caption text-medium-emphasis`},A={class:`text-caption text-medium-emphasis`},j=m({__name:`AuditPage`,setup(m){let j=e(),M=d(!1),N=d([]),P=d(0),F=d(1),I=d(null),L=d(``),R=d(``),z=C,B=b([{title:`操作`,key:`action`,width:100},{title:`用户`,key:`admin_username`,width:100},{title:`目标`,key:`target`,width:140},{title:`详情`,key:`detail`},{title:`IP`,key:`ip_address`,width:120},{title:`时间`,key:`created_at`,width:160}]);async function V(){M.value=!0;try{let e=(F.value-1)*50,t=await p.get(`/audit/`,{limit:50,offset:e,action:I.value||void 0,admin_username:L.value||void 0,date_from:R.value||void 0});N.value=T(t.items||[]),P.value=t.total||0}catch{N.value=[],j(`加载审计日志失败`,`error`)}finally{M.value=!1}}function H(e){return e.startsWith(`create`)||e===`login`?`success`:e.startsWith(`update`)?`info`:e.startsWith(`delete`)||e===`logout`?`error`:e.includes(`execute`)||e.includes(`push`)||e.includes(`retry`)?`warning`:`primary`}return u(()=>V()),(e,u)=>(a(),h(n,{fluid:``,class:`pa-6`},{default:s(()=>[g(l,{elevation:`0`,border:``,rounded:`lg`},{default:s(()=>[g(i,{class:`d-flex align-center`},{default:s(()=>[u[7]||=_(` 审计日志 `,-1),g(c),g(t,{modelValue:I.value,"onUpdate:modelValue":[u[0]||=e=>I.value=e,u[1]||=e=>{F.value=1,V()}],items:f(z),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),g(v,{modelValue:L.value,"onUpdate:modelValue":[u[2]||=e=>L.value=e,u[3]||=e=>{F.value=1,V()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),g(v,{modelValue:R.value,"onUpdate:modelValue":[u[4]||=e=>R.value=e,u[5]||=e=>{F.value=1,V()}],"prepend-inner-icon":`mdi-calendar`,label:`日期`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},class:`ml-3`,type:`date`,clearable:``},null,8,[`modelValue`])]),_:1}),g(x,{items:N.value,headers:f(B),"items-length":P.value,loading:M.value,page:F.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":u[6]||=e=>{F.value=e,V()}},{"item.action":s(({item:e})=>[g(o,{color:H(e.action),size:`small`,variant:`tonal`,label:``},{default:s(()=>[_(r(f(w)(e.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":s(({item:e})=>[y(`span`,E,r(e.admin_username),1)]),"item.target":s(({item:e})=>[y(`span`,D,r(f(S)(e.resource_type))+r(e.resource_id?` #${e.resource_id}`:``),1)]),"item.detail":s(({item:e})=>[y(`span`,O,r(e.detail||`—`),1)]),"item.ip_address":s(({item:e})=>[y(`span`,k,r(e.ip_address||`—`),1)]),"item.created_at":s(({item:e})=>[y(`span`,A,r(e.created_at),1)]),"no-data":s(()=>[...u[8]||=[y(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{j as default}; \ No newline at end of file diff --git a/web/app/assets/CommandsPage-DSMJBQOT.js b/web/app/assets/CommandsPage-DSMJBQOT.js new file mode 100644 index 00000000..9b00545a --- /dev/null +++ b/web/app/assets/CommandsPage-DSMJBQOT.js @@ -0,0 +1 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{$r as r,B as i,Dr as a,F as o,Ir as s,N as c,P as l,R as ee,Tr as u,Ur as d,Yr as f,Zr as p,_r as m,dr as h,fr as g,gr as _,hr as v,pr as y,ur as b}from"./index-C6qJAv49.js";import{n as x,t as S}from"./dataTable-esDY4cOk.js";import{t as C}from"./VDataTableServer-Dh4BHVrk.js";import{t as te}from"./apiError-DukIeo5O.js";import{t as ne}from"./useServerList-DgZFamx0.js";import{n as re}from"./labels-CzOhyWto.js";import{n as w}from"./paginatedFetch-CPtIdw6B.js";var ie={class:`text-body-2`},ae={class:`text-medium-emphasis`},oe={class:`text-medium-emphasis`},se={class:`text-caption text-medium-emphasis`},ce={class:`font-weight-medium`},le={class:`text-caption text-medium-emphasis`},ue={class:`text-caption text-medium-emphasis`},de={class:`text-medium-emphasis`},fe={class:`text-caption`},pe={class:`text-caption`},me=[`title`],T=[`title`],E=[`title`],D=[`title`],O={key:1,class:`text-caption text-medium-emphasis`},k=m({__name:`CommandsPage`,setup(m){let k=[...S],A=e(),{servers:j,loadServers:M}=ne(),N=[{title:`命令视图`,value:`commands`},{title:`会话视图`,value:`sessions`},{title:`推送日志`,value:`push`}],P=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],F=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`覆盖`,value:`overwrite`},{label:`校验和`,value:`checksum`}],I=[{label:`手动`,value:`manual`},{label:`调度`,value:`schedule`},{label:`重试`,value:`retry`},{label:`批量`,value:`batch`}],L=d(!1),R=d(`commands`),z=d(1),B=d(0),V=d(30),H=d(null),U=d(null),W=d(null),G=d(null),K=d([]),q=d([]),J=d([]),he=x([{title:`命令`,key:`command`},{title:`服务器`,key:`server_name`},{title:`用户`,key:`admin_username`,width:100},{title:`时间`,key:`created_at`,width:160}]),ge=x([{title:`服务器`,key:`server_name`},{title:`状态`,key:`status`,width:80},{title:`来源`,key:`remote_addr`,width:120},{title:`开始时间`,key:`started_at`,width:160}]),_e=x([{title:`时间`,key:`started_at`,width:160},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:80},{title:`触发`,key:`trigger_type`,width:72},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:130},{title:`错误`,key:`error_message`,width:180}]);function ve(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function ye(e){return P.find(t=>t.value===e)?.label||e}function be(e){return F.find(t=>t.value===e)?.label||e||`—`}function Y(e){return I.find(t=>t.value===e)?.label||e||`—`}function xe(){z.value=1,$()}function Se(){z.value=1,$()}function X(){z.value=1,$()}function Z(e){z.value=e,$()}function Q(e){V.value=e,z.value=1,$()}async function $(){L.value=!0;try{if(R.value===`commands`){let e=await w(`/assets/command-logs`,{server_id:H.value||void 0},z.value,V.value);K.value=e.items,B.value=e.total}else if(R.value===`sessions`){let e=await w(`/assets/ssh-sessions`,{server_id:H.value||void 0},z.value,V.value);q.value=e.items,B.value=e.total}else{let e={};H.value!=null&&(e.server_id=H.value),U.value&&(e.status=U.value),W.value&&(e.sync_mode=W.value),G.value&&(e.trigger_type=G.value);let t=await w(`/servers/logs`,e,z.value,V.value);J.value=t.items,B.value=t.total}V.value===-1&&(z.value=1)}catch(e){K.value=[],q.value=[],J.value=[],B.value=0,A(te(e,`加载失败`),`error`)}finally{L.value=!1}}return u(()=>{M(),$()}),(e,u)=>(a(),h(n,{fluid:``,class:`pa-6`},{default:s(()=>[_(ee,{elevation:`0`,border:``,rounded:`lg`},{default:s(()=>[_(i,{class:`d-flex align-center flex-wrap ga-2`},{default:s(()=>[u[5]||=v(` 命令日志 `,-1),_(c),_(t,{modelValue:R.value,"onUpdate:modelValue":[u[0]||=e=>R.value=e,xe],items:N,"item-title":`title`,"item-value":`value`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`}},null,8,[`modelValue`]),R.value===`push`?(a(),h(t,{key:0,modelValue:U.value,"onUpdate:modelValue":[u[1]||=e=>U.value=e,X],items:P,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):g(``,!0),R.value===`push`?(a(),h(t,{key:1,modelValue:W.value,"onUpdate:modelValue":[u[2]||=e=>W.value=e,X],items:F,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):g(``,!0),R.value===`push`?(a(),h(t,{key:2,modelValue:G.value,"onUpdate:modelValue":[u[3]||=e=>G.value=e,X],items:I,"item-title":`label`,"item-value":`value`,label:`触发`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):g(``,!0),_(t,{modelValue:H.value,"onUpdate:modelValue":[u[4]||=e=>H.value=e,Se],items:f(j),"item-title":`name`,"item-value":`id`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`180px`},clearable:``},null,8,[`modelValue`,`items`])]),_:1}),_(l),R.value===`commands`?(a(),h(C,{key:0,items:K.value,headers:f(he),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.command":s(({item:e})=>[b(`code`,ie,r(e.command),1)]),"item.server_name":s(({item:e})=>[b(`span`,ae,r(e.server_name||`—`),1)]),"item.admin_username":s(({item:e})=>[b(`span`,oe,r(e.admin_username||`—`),1)]),"item.created_at":s(({item:e})=>[b(`span`,se,r(e.created_at),1)]),"no-data":s(()=>[...u[6]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):R.value===`sessions`?(a(),h(C,{key:1,items:q.value,headers:f(ge),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.server_name":s(({item:e})=>[b(`span`,ce,r(e.server_name||`—`),1)]),"item.status":s(({item:e})=>[_(o,{color:e.status===`closed`?`grey`:`success`,size:`small`,variant:`tonal`,label:``},{default:s(()=>[v(r(e.status),1)]),_:2},1032,[`color`])]),"item.started_at":s(({item:e})=>[b(`span`,le,r(e.started_at),1)]),"no-data":s(()=>[...u[7]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(a(),h(C,{key:2,items:J.value,headers:f(_e),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.started_at":s(({item:e})=>[b(`span`,ue,r(e.started_at||`—`),1)]),"item.server_name":s(({item:e})=>[b(`span`,de,r(e.server_name||`—`),1)]),"item.status":s(({item:e})=>[_(o,{color:ve(e.status),size:`small`,variant:`tonal`,label:``},{default:s(()=>[v(r(ye(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":s(({item:e})=>[b(`span`,fe,r(be(e.sync_mode)),1)]),"item.trigger_type":s(({item:e})=>[b(`span`,pe,r(Y(e.trigger_type)),1)]),"item.source_path":s(({item:e})=>[b(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`200px`},title:e.source_path},r(e.source_path),9,me)]),"item.target_path":s(({item:e})=>[b(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`160px`},title:e.target_path},r(e.target_path),9,T)]),"item.push_permission":s(({item:e})=>[b(`span`,{class:p([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`未配置 rsync 属主/权限修正`},r(f(re)(e.push_permission)),11,E)]),"item.error_message":s(({item:e})=>[e.error_message?(a(),y(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`180px`},title:e.error_message},r(e.error_message),9,D)):(a(),y(`span`,O,`—`))]),"no-data":s(()=>[...u[8]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无推送记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`]))]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file diff --git a/web/app/assets/CredentialsPage-BjZD7bot.js b/web/app/assets/CredentialsPage-BjZD7bot.js new file mode 100644 index 00000000..f3676970 --- /dev/null +++ b/web/app/assets/CredentialsPage-BjZD7bot.js @@ -0,0 +1 @@ +import{t as e}from"./VDataTable-B6PKw1TS.js";import{_ as t,v as n}from"./VSelect-Dy1HeCdk.js";import{$r as r,B as i,Dr as a,F as ee,H as o,Ir as s,N as c,P as te,Pr as l,Q as u,R as d,Tr as ne,Ur as f,Yr as p,Zt as m,_r as re,dr as h,fr as g,gr as _,hr as v,pr as ie,pt as ae,sr as oe,t as y,ur as b,z as x}from"./index-C6qJAv49.js";import{n as S,t as se}from"./dataTable-esDY4cOk.js";import{t as C}from"./VDataTableServer-Dh4BHVrk.js";import{t as w}from"./apiError-DukIeo5O.js";import{n as T}from"./paginatedFetch-CPtIdw6B.js";import{i as E}from"./validation-DMwOxx4a.js";import{t as D}from"./VDialog-P-nMQayc.js";import{t as ce}from"./VTextarea-Dnh3HyOO.js";var le={class:`text-caption text-medium-emphasis`},O=re({__name:`CredentialsPage`,setup(re){let O=[...se],k=t();function A(e){I.value=e,P.value=1,M.value===`sshkeys`?X():M.value===`db`&&Z()}function ue(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(`zh-CN`,{hour12:!1})}let j=f(!1),M=f(`passwords`),N=f(null),P=f(1),F=f(0),I=f(20),L=f([]),R=f(!1),z=f({name:``,username:`root`,password:``}),de=S([{title:`预设名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`创建时间`,key:`created_at`,width:180},{title:`操作`,key:`actions`,width:150,align:`end`}]),B=f([]),V=f(!1),H=f({name:``,username:`root`,public_key:``,private_key:``}),fe=S([{title:`名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`私钥`,key:`private_key_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}]),U=f([]),W=f(!1),G=f({name:``,host:``,port:3306,username:``,password:``,database:``}),pe=S([{title:`名称`,key:`name`},{title:`主机`,key:`host`},{title:`端口`,key:`port`,width:80},{title:`用户名`,key:`username`},{title:`数据库`,key:`database`},{title:`操作`,key:`actions`,width:150,align:`end`}]),K=f(!1),q=f(``),J=f(null);async function Y(){j.value=!0;try{let e=await m.getList(`/presets/`);L.value=e.items,F.value=e.total}catch(e){L.value=[],k(w(e,`加载密码预设失败`),`error`)}finally{j.value=!1}}async function X(){j.value=!0;try{let e=await T(`/ssh-key-presets/`,{},P.value,I.value);B.value=e.items,F.value=e.total,I.value===-1&&(P.value=1)}catch(e){B.value=[],k(w(e,`加载 SSH 密钥失败`),`error`)}finally{j.value=!1}}async function Z(){j.value=!0;try{let e=await T(`/scripts/credentials`,{},P.value,I.value);U.value=e.items,F.value=e.total,I.value===-1&&(P.value=1)}catch(e){U.value=[],k(w(e,`加载数据库凭据失败`),`error`)}finally{j.value=!1}}function Q(){switch(M.value){case`passwords`:Y();break;case`sshkeys`:X();break;case`db`:Z();break}}l(M,()=>{P.value=1,Q()});function me(e){N.value=e.id,z.value={name:e.name,username:e.username||`root`,password:``},R.value=!0}async function he(){let e=z.value.name.trim(),t=z.value.password;if(!e){k(`请填写预设名称`,`error`);return}if(!N.value&&!t){k(`请填写 SSH 密码`,`error`);return}try{let n=z.value.username.trim()||`root`;if(N.value){let r={name:e,username:n};t&&(r.encrypted_pw=t),await m.put(`/presets/${N.value}`,r)}else await m.post(`/presets/`,{name:e,username:n,encrypted_pw:t});R.value=!1,Y(),k(`保存成功`)}catch(e){k(e instanceof Error?e.message:`保存失败`,`error`)}}function ge(e){N.value=e.id,H.value={name:e.name,username:e.username||`root`,public_key:e.public_key||``,private_key:``},V.value=!0}async function _e(){try{N.value?await m.put(`/ssh-key-presets/${N.value}`,H.value):await m.post(`/ssh-key-presets/`,H.value),V.value=!1,X(),k(`保存成功`)}catch(e){k(e.message||`保存失败`,`error`)}}function ve(e){N.value=e.id,G.value={name:e.name,host:e.host||``,port:e.port||3306,username:e.username||``,password:``,database:e.database||``},W.value=!0}async function ye(){try{N.value?await m.put(`/scripts/credentials/${N.value}`,G.value):await m.post(`/scripts/credentials`,G.value),W.value=!1,Z(),k(`保存成功`)}catch(e){k(e.message||`保存失败`,`error`)}}function be(){N.value=null,M.value===`passwords`?(z.value={name:``,username:`root`,password:``},R.value=!0):M.value===`sshkeys`?(H.value={name:``,username:`root`,public_key:``,private_key:``},V.value=!0):(G.value={name:``,host:``,port:3306,username:``,password:``,database:``},W.value=!0)}function $(e,t){q.value=e,J.value=t.id,K.value=!0}async function xe(){try{q.value===`password`?await m.delete(`/presets/${J.value}`):q.value===`sshkey`?await m.delete(`/ssh-key-presets/${J.value}`):await m.delete(`/scripts/credentials/${J.value}`),K.value=!1,Q(),k(`已删除`)}catch(e){k(e.message||`删除失败`,`error`)}}return ne(()=>{Q()}),(t,l)=>(a(),h(n,{fluid:``,class:`pa-6`},{default:s(()=>[_(d,{elevation:`0`,border:``,rounded:`lg`},{default:s(()=>[_(i,{class:`d-flex align-center`},{default:s(()=>[l[28]||=v(` 凭据管理 `,-1),_(c),_(ae,{modelValue:M.value,"onUpdate:modelValue":l[0]||=e=>M.value=e,mandatory:``,density:`compact`,variant:`outlined`,class:`mr-3`},{default:s(()=>[_(u,{size:`small`,value:`passwords`},{default:s(()=>[...l[24]||=[v(`密码预设`,-1)]]),_:1}),_(u,{size:`small`,value:`sshkeys`},{default:s(()=>[...l[25]||=[v(`SSH 密钥`,-1)]]),_:1}),_(u,{size:`small`,value:`db`},{default:s(()=>[...l[26]||=[v(`数据库凭据`,-1)]]),_:1})]),_:1},8,[`modelValue`]),_(u,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:be},{default:s(()=>[...l[27]||=[v(`添加`,-1)]]),_:1})]),_:1}),_(te),M.value===`passwords`?(a(),ie(oe,{key:0},[_(x,{class:`text-body-2 text-medium-emphasis pt-0 pb-2`},{default:s(()=>[...l[29]||=[v(` 保存常用 SSH 账号+密码模板;快速添加服务器时将按顺序轮询所有预设尝试登录。 `,-1)]]),_:1}),_(e,{items:L.value,headers:p(de),loading:j.value,hover:``,density:`comfortable`,"items-per-page":20,"items-per-page-options":O},{"item.created_at":s(({item:e})=>[b(`span`,le,r(ue(e.created_at)),1)]),"item.actions":s(({item:e})=>[_(u,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>me(e)},{default:s(()=>[...l[30]||=[v(`编辑`,-1)]]),_:1},8,[`onClick`]),_(u,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>$(`password`,e)},{default:s(()=>[...l[31]||=[v(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":s(()=>[...l[32]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无密码预设`,-1)]]),_:1},8,[`items`,`headers`,`loading`])],64)):g(``,!0),M.value===`sshkeys`?(a(),h(C,{key:1,items:B.value,headers:p(fe),"items-length":F.value,loading:j.value,page:P.value,"items-per-page":I.value,"items-per-page-options":O,hover:``,density:`comfortable`,"onUpdate:page":l[1]||=e=>{P.value=e,X()},"onUpdate:itemsPerPage":A},{"item.private_key_set":s(({item:e})=>[_(ee,{color:e.private_key_set?`success`:`grey`,size:`small`,variant:`tonal`,label:``},{default:s(()=>[v(r(e.private_key_set?`已设置`:`未设置`),1)]),_:2},1032,[`color`])]),"item.actions":s(({item:e})=>[_(u,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>ge(e)},{default:s(()=>[...l[33]||=[v(`编辑`,-1)]]),_:1},8,[`onClick`]),_(u,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>$(`sshkey`,e)},{default:s(()=>[...l[34]||=[v(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":s(()=>[...l[35]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):g(``,!0),M.value===`db`?(a(),h(C,{key:2,items:U.value,headers:p(pe),"items-length":F.value,loading:j.value,page:P.value,"items-per-page":I.value,"items-per-page-options":O,hover:``,density:`comfortable`,"onUpdate:page":l[2]||=e=>{P.value=e,Z()},"onUpdate:itemsPerPage":A},{"item.actions":s(({item:e})=>[_(u,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>ve(e)},{default:s(()=>[...l[36]||=[v(`编辑`,-1)]]),_:1},8,[`onClick`]),_(u,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>$(`db`,e)},{default:s(()=>[...l[37]||=[v(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":s(()=>[...l[38]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):g(``,!0)]),_:1}),_(D,{modelValue:R.value,"onUpdate:modelValue":l[7]||=e=>R.value=e,"max-width":`500`},{default:s(()=>[_(d,{border:``},{default:s(()=>[_(i,null,{default:s(()=>[v(r(N.value?`编辑密码预设`:`新建密码预设`),1)]),_:1}),_(x,null,{default:s(()=>[_(y,{modelValue:z.value.name,"onUpdate:modelValue":l[3]||=e=>z.value.name=e,label:`预设名称`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`如:生产环境 root 密码`,rules:[p(E)(`预设名称`)]},null,8,[`modelValue`,`rules`]),_(y,{modelValue:z.value.username,"onUpdate:modelValue":l[4]||=e=>z.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`,rules:[p(E)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`]),_(y,{modelValue:z.value.password,"onUpdate:modelValue":l[5]||=e=>z.value.password=e,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:N.value?`留空表示不修改`:`必填`,rules:N.value?[]:[p(E)(`SSH 密码`)]},null,8,[`modelValue`,`placeholder`,`rules`])]),_:1}),_(o,null,{default:s(()=>[_(c),_(u,{variant:`text`,onClick:l[6]||=e=>R.value=!1},{default:s(()=>[...l[39]||=[v(`取消`,-1)]]),_:1}),_(u,{color:`primary`,variant:`flat`,onClick:he},{default:s(()=>[...l[40]||=[v(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),_(D,{modelValue:V.value,"onUpdate:modelValue":l[13]||=e=>V.value=e,"max-width":`500`},{default:s(()=>[_(d,{border:``},{default:s(()=>[_(i,null,{default:s(()=>[v(r(N.value?`编辑 SSH 密钥`:`新建 SSH 密钥`),1)]),_:1}),_(x,null,{default:s(()=>[_(y,{modelValue:H.value.name,"onUpdate:modelValue":l[8]||=e=>H.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),_(y,{modelValue:H.value.username,"onUpdate:modelValue":l[9]||=e=>H.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`},null,8,[`modelValue`]),_(ce,{modelValue:H.value.public_key,"onUpdate:modelValue":l[10]||=e=>H.value.public_key=e,label:`公钥`,variant:`outlined`,density:`compact`,rows:`3`,class:`mb-2`},null,8,[`modelValue`]),_(ce,{modelValue:H.value.private_key,"onUpdate:modelValue":l[11]||=e=>H.value.private_key=e,label:`私钥`,variant:`outlined`,density:`compact`,rows:`5`},null,8,[`modelValue`])]),_:1}),_(o,null,{default:s(()=>[_(c),_(u,{variant:`text`,onClick:l[12]||=e=>V.value=!1},{default:s(()=>[...l[41]||=[v(`取消`,-1)]]),_:1}),_(u,{color:`primary`,variant:`flat`,onClick:_e},{default:s(()=>[...l[42]||=[v(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),_(D,{modelValue:W.value,"onUpdate:modelValue":l[21]||=e=>W.value=e,"max-width":`500`},{default:s(()=>[_(d,{border:``},{default:s(()=>[_(i,null,{default:s(()=>[v(r(N.value?`编辑数据库凭据`:`新建数据库凭据`),1)]),_:1}),_(x,null,{default:s(()=>[_(y,{modelValue:G.value.name,"onUpdate:modelValue":l[14]||=e=>G.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),_(y,{modelValue:G.value.host,"onUpdate:modelValue":l[15]||=e=>G.value.host=e,label:`主机`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),_(y,{modelValue:G.value.port,"onUpdate:modelValue":l[16]||=e=>G.value.port=e,label:`端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),_(y,{modelValue:G.value.username,"onUpdate:modelValue":l[17]||=e=>G.value.username=e,label:`用户名`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),_(y,{modelValue:G.value.password,"onUpdate:modelValue":l[18]||=e=>G.value.password=e,label:`密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`},null,8,[`modelValue`]),_(y,{modelValue:G.value.database,"onUpdate:modelValue":l[19]||=e=>G.value.database=e,label:`数据库`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),_(o,null,{default:s(()=>[_(c),_(u,{variant:`text`,onClick:l[20]||=e=>W.value=!1},{default:s(()=>[...l[43]||=[v(`取消`,-1)]]),_:1}),_(u,{color:`primary`,variant:`flat`,onClick:ye},{default:s(()=>[...l[44]||=[v(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),_(D,{modelValue:K.value,"onUpdate:modelValue":l[23]||=e=>K.value=e,"max-width":`400`},{default:s(()=>[_(d,{border:``},{default:s(()=>[_(i,null,{default:s(()=>[...l[45]||=[v(`确认删除`,-1)]]),_:1}),_(x,null,{default:s(()=>[...l[46]||=[v(`确定要删除此凭据吗?`,-1)]]),_:1}),_(o,null,{default:s(()=>[_(c),_(u,{variant:`text`,onClick:l[22]||=e=>K.value=!1},{default:s(()=>[...l[47]||=[v(`取消`,-1)]]),_:1}),_(u,{color:`error`,variant:`flat`,onClick:xe},{default:s(()=>[...l[48]||=[v(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{O as default}; \ No newline at end of file diff --git a/web/app/assets/DashboardPage-CA2jAe10.js b/web/app/assets/DashboardPage-CA2jAe10.js new file mode 100644 index 00000000..a18eab64 --- /dev/null +++ b/web/app/assets/DashboardPage-CA2jAe10.js @@ -0,0 +1 @@ +import{_ as e,v as t}from"./VSelect-Dy1HeCdk.js";import{n,t as r}from"./VRow-CamZ4OJs.js";import{$r as i,A as a,Dr as o,F as s,Ir as c,Pr as l,Pt as ee,Q as u,R as d,Rr as f,Tr as te,U as p,Ur as m,Yr as h,Zr as g,Zt as _,_r as ne,dr as v,fr as y,gr as b,hr as x,kr as S,ot as C,pr as w,sr as T,t as re,tn as ie,ur as E}from"./index-C6qJAv49.js";import{t as D}from"./dataTable-esDY4cOk.js";import{t as ae}from"./VDataTableServer-Dh4BHVrk.js";import{i as oe,t as se}from"./auditNormalize-bmSA0RyN.js";import{a as ce,i as le,n as O,r as ue,t as de}from"./StatCardsRow-Cd1utvc9.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";var fe={class:`font-weight-medium`},A={class:`text-medium-emphasis`},j={class:`text-medium-emphasis`},M={class:`text-medium-emphasis`},N={class:`text-caption text-medium-emphasis`},P={class:`d-flex ga-1`},F={key:0,class:`text-center text-medium-emphasis py-4`},I={class:`text-body-large font-weight-regular`},L={class:`d-flex justify-space-between align-center text-medium-emphasis`},R={class:`py-1`},z={key:0,class:`text-center text-medium-emphasis py-4`},B={class:`text-caption`},V={class:`d-flex justify-space-between align-center`},pe={class:`text-medium-emphasis`},me={class:`text-body-2 font-weight-medium`},he={key:0,class:`text-center text-medium-emphasis py-4`},H=k(ne({__name:`DashboardPage`,setup(ne){let k=[...D],H=e(),U=ie(),W=m([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]),{servers:ge,loading:_e,page:ve,itemsPerPage:ye,total:be,search:G,sortBy:K,loadServers:xe,onSearch:Se,onPageChange:Ce,onItemsPerPageChange:we}=ce();async function Te(){try{await xe()}catch{H(`加载服务器列表失败`,`error`)}}let Ee=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:140},{title:`操作`,key:`actions`,width:140,align:`end`,sortable:!1}],q=m([]),J=m([{title:`在线率`,progress:0,text:`在`,value:`0%`},{title:`Agent 覆盖`,progress:0,text:`A`,value:`0%`},{title:`CPU 平均`,progress:0,text:`C`,value:`0%`},{title:`内存平均`,progress:0,text:`M`,value:`0%`}]),Y=m({}),X=m(0),Z=m([]);async function Q(){try{let e=await _.get(`/servers/stats`);W.value[0].title=String(e.total),W.value[1].title=String(e.online),W.value[2].title=String(e.offline),W.value[3].title=String(e.alerts??0),Y.value=e.categories||{},X.value=e.total;let t=e.total?Math.round(e.online/e.total*100):0;J.value[0].progress=t,J.value[0].value=`${t}%`}catch{H(`加载统计数据失败`,`error`)}}async function $(){try{q.value=((await _.get(`/alert-history/`,{limit:5})).items||[]).map(e=>({title:e.server_name,subtitle:`${e.alert_type} ${e.is_recovery?`(已恢复)`:``} · ${O(e.created_at)}`,value:e.value,color:e.is_recovery?`green`:`red`,icon:e.is_recovery?`mdi-check-circle`:`mdi-alert-circle`}))}catch{q.value=[],H(`加载告警记录失败`,`error`)}}async function De(){try{Z.value=se((await _.get(`/audit/`,{limit:10})).items||[]).slice(0,10)}catch{Z.value=[],H(`加载审计记录失败`,`error`)}}async function Oe(){try{let e=await _.get(`/servers/`,{per_page:200}),t=e.items||[],n=e.total||t.length;if(n===0)return;let r=t.filter(e=>e.agent_version).length,i=Math.round(r/n*100);J.value[1].progress=i,J.value[1].value=`${i}%`;let a=t.filter(e=>e.system_info?.cpu_usage!=null),o=t.filter(e=>e.system_info?.mem_usage!=null);if(a.length>0){let e=Math.round(a.reduce((e,t)=>e+(t.system_info.cpu_usage||0),0)/a.length);J.value[2].progress=e,J.value[2].value=`${e}%`}if(o.length>0){let e=Math.round(o.reduce((e,t)=>e+(t.system_info.mem_usage||0),0)/o.length);J.value[3].progress=e,J.value[3].value=`${e}%`}}catch{}}function ke(e){U.push({path:`/terminal`,query:{server_id:String(e.id)}})}function Ae(e){U.push({path:`/files`,query:{server_id:String(e.id)}})}return l(ee().alerts,()=>{Q(),$()}),te(()=>{Q(),Te(),$(),Oe(),De(),_.post(`/settings/bing-wallpapers/sync`).catch(()=>{})}),(e,l)=>(o(),v(t,{fluid:``,class:`pa-4 pa-md-6 dashboard-root`},{default:c(()=>[b(de,{items:W.value},null,8,[`items`]),b(d,{class:`my-5`,elevation:`0`,rounded:`lg`,title:`服务器列表`,border:``},{text:c(()=>[b(re,{modelValue:h(G),"onUpdate:modelValue":l[0]||=e=>f(G)?G.value=e:null,autocomplete:`off`,placeholder:`搜索...`,"prepend-inner-icon":`mdi-magnify`,variant:`outlined`,"hide-details":``,rounded:``,class:`mb-4`},null,8,[`modelValue`]),b(ae,{items:h(ge),headers:Ee,"items-length":h(be),loading:h(_e),page:h(ve),"items-per-page":h(ye),"items-per-page-options":k,"sort-by":h(K),"onUpdate:sortBy":l[1]||=e=>f(K)?K.value=e:null,hover:``,"item-value":`id`,"onUpdate:page":h(Ce),"onUpdate:itemsPerPage":h(we)},{"item.status":c(({item:e})=>[b(s,{color:h(ue)(e.status),text:h(le)(e.status),border:`sm`,size:`x-small`,label:``},null,8,[`color`,`text`])]),"item.name":c(({item:e})=>[E(`span`,fe,i(e.name),1)]),"item.domain":c(({item:e})=>[E(`span`,A,i(e.domain),1)]),"item.category":c(({item:e})=>[E(`span`,j,i(e.category||`—`),1)]),"item.agent_version":c(({item:e})=>[E(`span`,M,i(e.agent_version||`—`),1)]),"item.last_heartbeat":c(({item:e})=>[E(`span`,N,i(h(O)(e.last_heartbeat)),1)]),"item.actions":c(({item:e})=>[E(`div`,P,[b(u,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>ke(e)},{default:c(()=>[...l[2]||=[x(`终端`,-1)]]),_:1},8,[`onClick`]),b(u,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>Ae(e)},{default:c(()=>[...l[3]||=[x(`文件`,-1)]]),_:1},8,[`onClick`])])]),"no-data":c(()=>[...l[4]||=[E(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无服务器数据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`sort-by`,`onUpdate:page`,`onUpdate:itemsPerPage`])]),_:1}),b(r,null,{default:c(()=>[b(n,{cols:`12`,md:`6`},{default:c(()=>[b(d,{elevation:`0`,rounded:`lg`,title:`告警历史`,border:``},{append:c(()=>[...l[5]||=[E(`div`,{class:`my-5`},null,-1)]]),text:c(()=>[q.value.length===0?(o(),w(`div`,F,` 暂无告警 `)):y(``,!0),(o(!0),w(T,null,S(q.value,(e,t)=>(o(),v(a,{key:t,class:g([t!==0&&`mt-4`,`px-0`]),subtitle:e.subtitle,title:e.title,lines:`one`},{prepend:c(()=>[b(p,{color:e.color,icon:e.icon,variant:`tonal`,rounded:``},null,8,[`color`,`icon`])]),append:c(()=>[E(`span`,I,i(e.value),1)]),_:2},1032,[`class`,`subtitle`,`title`]))),128))]),_:1})]),_:1}),b(n,{cols:`12`,md:`6`},{default:c(()=>[b(d,{elevation:`0`,rounded:`lg`,title:`资源概览`,border:``},{append:c(()=>[...l[6]||=[E(`div`,{class:`my-5`},null,-1)]]),text:c(()=>[(o(!0),w(T,null,S(J.value,(e,t)=>(o(),v(a,{key:t,class:g([t!==0&&`mt-4`,`px-0`])},{prepend:c(()=>[b(p,{text:e.text,color:`primary`,size:`large`,variant:`tonal`},null,8,[`text`])]),title:c(()=>[E(`div`,L,[E(`span`,null,i(e.title),1),E(`span`,null,i(e.value),1)])]),subtitle:c(()=>[E(`div`,R,[b(C,{"model-value":e.progress,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`8`,rounded:``},null,8,[`model-value`])])]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),_:1}),b(r,null,{default:c(()=>[b(n,{cols:`12`,md:`6`},{default:c(()=>[b(d,{elevation:`0`,rounded:`lg`,title:`分类分布`,border:``},{text:c(()=>[Object.keys(Y.value).length===0?(o(),w(`div`,z,` 暂无分类数据 `)):y(``,!0),(o(!0),w(T,null,S(Y.value,(e,t)=>(o(),v(a,{key:t,class:`px-0`},{prepend:c(()=>[b(p,{color:`primary`,variant:`tonal`,size:`small`},{default:c(()=>[E(`span`,B,i(t[0]?.toUpperCase()),1)]),_:2},1024)]),title:c(()=>[E(`div`,V,[E(`span`,pe,i(t===`uncategorized`?`未分类`:t),1),E(`span`,me,i(e)+` 台`,1)])]),subtitle:c(()=>[b(C,{"model-value":X.value>0?e/X.value*100:0,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`6`,rounded:``},null,8,[`model-value`])]),_:2},1024))),128))]),_:1})]),_:1}),b(n,{cols:`12`,md:`6`},{default:c(()=>[b(d,{elevation:`0`,rounded:`lg`,title:`最近操作`,border:``},{append:c(()=>[b(u,{size:`small`,variant:`text`,to:`/audit`},{default:c(()=>[...l[7]||=[x(`查看全部`,-1)]]),_:1})]),text:c(()=>[Z.value.length===0?(o(),w(`div`,he,` 暂无操作记录 `)):y(``,!0),(o(!0),w(T,null,S(Z.value,e=>(o(),v(a,{key:e.id,title:h(oe)(e),subtitle:`${e.admin_username} · ${h(O)(e.created_at)}`,class:`px-0`,lines:`two`},{append:c(()=>[b(s,{size:`x-small`,variant:`tonal`,label:``},{default:c(()=>[x(i(e.ip_address||`—`),1)]),_:2},1024)]),_:2},1032,[`title`,`subtitle`]))),128))]),_:1})]),_:1})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-a2855e8c`]]);export{H as default}; \ No newline at end of file diff --git a/web/app/assets/DashboardPage-CmPZFaNy.css b/web/app/assets/DashboardPage-CmPZFaNy.css new file mode 100644 index 00000000..bcf2647f --- /dev/null +++ b/web/app/assets/DashboardPage-CmPZFaNy.css @@ -0,0 +1 @@ +.dashboard-root[data-v-a2855e8c]{min-width:0;max-width:100%}.dashboard-root[data-v-a2855e8c] .v-table{overflow-x:auto} diff --git a/web/app/assets/FilesPage-C45eqjeG.js b/web/app/assets/FilesPage-C45eqjeG.js new file mode 100644 index 00000000..05acb457 --- /dev/null +++ b/web/app/assets/FilesPage-C45eqjeG.js @@ -0,0 +1,5 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/initMonaco-CbTFLcUb.js","assets/index-C6qJAv49.js","assets/index-CtMY4M9Y.css","assets/initMonaco-DX2BVZF3.css"])))=>i.map(i=>d[i]); +import{a as e,i as t,n,t as r}from"./initMonaco-CbTFLcUb.js";import{t as i}from"./VDataTable-B6PKw1TS.js";import{_ as a,t as o,v as s}from"./VSelect-Dy1HeCdk.js";import{n as c,t as l}from"./VRow-CamZ4OJs.js";import{$r as u,$t as d,A as f,B as p,Cn as m,Cr as h,Ct as g,Dr as _,Dt as v,En as y,Et as b,F as x,Fn as ee,H as S,Ir as C,Jt as w,Kr as T,Kt as E,Mr as D,N as O,Or as k,P as A,Pr as j,Q as M,Qr as te,Qt as ne,R as N,S as re,Sn as P,Sr as ie,St as ae,T as oe,Tr as se,Ur as F,Vr as ce,Wr as le,Xn as ue,Xt as de,Yn as fe,Yr as I,Z as pe,Zn as L,Zr as me,Zt as R,_r as z,ar as he,b as ge,bn as _e,bt as B,cr as ve,ct as ye,d as V,dn as be,dr as H,en as xe,f as Se,fr as U,ft as Ce,g as we,gr as W,hr as G,j as K,kr as Te,ln as Ee,lr as q,lt as De,mn as Oe,nt as ke,o as Ae,or as J,ot as je,p as Me,pn as Ne,pr as Y,s as Pe,sr as Fe,st as Ie,t as X,tn as Le,tt as Re,ur as Z,ut as ze,v as Be,x as Ve,xr as He,xt as Ue,y as We,yn as Ge,yr as Ke,yt as qe,z as Je,zn as Ye,zr as Xe}from"./index-C6qJAv49.js";import{t as Ze}from"./dataTable-esDY4cOk.js";import{t as Qe}from"./VCheckbox-Nzkf754R.js";import{t as $e}from"./apiError-DukIeo5O.js";import{t as et}from"./useServerList-DgZFamx0.js";import{i as tt}from"./validation-DMwOxx4a.js";import{t as nt}from"./VDialog-P-nMQayc.js";import{t as rt}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as it,t as at}from"./VTabs-BcjxNt4c.js";var ot=Symbol(`filesPage`);function st(e){k(ot,ce(e))}function ct(){let e=Ke(ot);if(!e)throw Error(`useFilesPageContext() must be used inside FilesPage`);return e}var lt=m({divider:[Number,String],...P()},`VBreadcrumbsDivider`),ut=Ge()({name:`VBreadcrumbsDivider`,props:lt(),setup(e,{slots:t}){return Oe(()=>Z(`li`,{"aria-hidden":`true`,class:me([`v-breadcrumbs-divider`,e.class]),style:te(e.style)},[t?.default?.()??e.divider])),{}}}),dt=m({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...P(),...ue(Ie(),[`width`,`maxWidth`]),...Re(),...Ue({tag:`li`})},`VBreadcrumbsItem`),ft=Ge()({name:`VBreadcrumbsItem`,props:dt(),setup(e,{slots:t,attrs:n}){let r=ke(e,n),i=q(()=>e.active||r.isActive?.value),{dimensionStyles:a}=ye(e),{textColorClasses:o,textColorStyles:s}=B(()=>i.value?e.activeColor:e.color);return Oe(()=>W(e.tag,{class:me([`v-breadcrumbs-item`,{"v-breadcrumbs-item--active":i.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:i.value&&e.activeClass},o.value,e.class]),style:te([s.value,a.value,e.style]),"aria-current":i.value?`page`:void 0},{default:()=>[r.isLink.value?Z(`a`,He({class:`v-breadcrumbs-item--link`,onClick:r.navigate.value},r.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),pt=m({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:`/`},icon:Ne,items:{type:Array,default:()=>[]},...P(),...b(),...ae(),...Ue({tag:`ul`})},`VBreadcrumbs`),mt=Ge()({name:`VBreadcrumbs`,props:pt(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=qe(()=>e.bgColor),{densityClasses:i}=v(e),{roundedClasses:a}=g(e);_e({VBreadcrumbsDivider:{divider:T(()=>e.divider)},VBreadcrumbsItem:{activeClass:T(()=>e.activeClass),activeColor:T(()=>e.activeColor),color:T(()=>e.color),disabled:T(()=>e.disabled)}});let o=q(()=>e.items.map(e=>typeof e==`string`?{item:{title:e},raw:e}:{item:e,raw:e}));return Oe(()=>{let s=!!(t.prepend||e.icon);return W(e.tag,{class:me([`v-breadcrumbs`,n.value,i.value,a.value,e.class]),style:te([r.value,e.style])},{default:()=>[s&&Z(`li`,{key:`prepend`,class:`v-breadcrumbs__prepend`},[t.prepend?W(Ce,{key:`prepend-defaults`,disabled:!e.icon,defaults:{VIcon:{icon:e.icon,start:!0}}},t.prepend):W(ze,{key:`prepend-icon`,start:!0,icon:e.icon},null)]),o.value.map(({item:e,raw:n},r,i)=>Z(Fe,null,[t.item?.({item:e,index:r})??W(ft,He({key:r,disabled:r>=i.length-1},typeof e==`string`?{title:e}:e),{default:t.title?()=>t.title?.({item:e,index:r}):void 0}),rt.divider?.({item:n,index:r}):void 0})])),t.default?.()]})}),{}}}),ht={class:`text-body-2 mr-4`},gt=z({__name:`FilesBreadcrumb`,setup(e){let t=ct();return(e,n)=>(_(),Y(Fe,null,[W(mt,{items:I(t).breadcrumbs,class:`pa-0 mb-2`},{item:C(({item:e,index:n})=>[W(ft,{disabled:e.disabled,class:me({"text-primary":!e.disabled,"cursor-pointer":!e.disabled}),onClick:e=>I(t).onBreadcrumbClick(n)},{default:C(()=>[G(u(e.title),1)]),_:2},1032,[`disabled`,`class`,`onClick`])]),divider:C(()=>[...n[1]||=[G(`/`,-1)]]),_:1},8,[`items`]),I(t).selectedFileCount>0?(_(),H(N,{key:0,class:`mb-4`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:C(()=>[W(Je,{class:`d-flex align-center py-2`},{default:C(()=>[Z(`span`,ht,`已选择 `+u(I(t).selectedFileCount)+` 个文件`,1),W(O),W(M,{size:`small`,variant:`text`,color:`error`,onClick:I(t).batchDelete},{default:C(()=>[...n[2]||=[G(`批量删除`,-1)]]),_:1},8,[`onClick`]),W(M,{size:`small`,variant:`text`,onClick:n[0]||=e=>I(t).selectedFiles=[]},{default:C(()=>[...n[3]||=[G(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):U(``,!0)],64))}});function _t(e){return e.filter(e=>e.name&&e.name!==`.`&&e.name!==`..`).map(e=>{let t=e.type===`directory`||!!e.is_dir,n=e.type===`symlink`||!!e.is_link,r=0;if(!t&&!n&&e.size!=null){let t=typeof e.size==`number`?e.size:parseInt(String(e.size),10);r=Number.isFinite(t)?t:0}let i=`file`;return t?i=`directory`:n&&(i=`symlink`),{name:e.name,type:i,size:r,modified:e.modified??``,permissions:e.permissions??e.perms??``,owner:e.owner??``,group:e.group??``,mode_octal:e.mode_octal??``,link_target:e.link_target??null}})}function vt(e){if(Array.isArray(e))return{items:e};let t=e;return Array.isArray(t.items)?{items:t.items,error:t.error}:t.entries?.length?{items:_t(t.entries),error:t.error}:{items:t.items??[],error:t.error}}var yt=`/www/wwwroot`;function bt(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`object`&&`value`in e){let t=e.value;if(typeof t==`string`)return t}return String(e)}function Q(e){let t=bt(e).trim().replace(/\\/g,`/`);if(!t||t===`.`)return`/`;let n=t.startsWith(`/`)?t:`/${t}`;return n=n.replace(/\/+/g,`/`),n.length>1&&n.endsWith(`/`)&&(n=n.slice(0,-1)),n}function xt(e){return Q(e).split(`/`).filter(Boolean)}function $(e,t){let n=Q(e),r=t.replace(/\/+/g,``).trim();if(!r||r===`.`)return n;if(r===`..`){let e=xt(n);return e.pop(),e.length?`/${e.join(`/`)}`:`/`}return n===`/`?`/${r}`:`${n}/${r}`}function St(e){let t=xt(e);return t.length?(t.pop(),t.length?`/${t.join(`/`)}`:`/`):null}function Ct(e){let t=e.trim();return t?t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)?`名称不能包含路径分隔符`:t===`.`||t===`..`?`非法名称`:!0:`名称不能为空`}function wt(e){let t=xt(Q(e)),n=[{title:`/`,path:`/`,disabled:t.length===0}],r=``;for(let e=0;eQ(n.rootPath||`/www/wwwroot`)),o=t,s=F(!1),c=F(null),l=F(new Set),d=F(new Map);function f(e){let t=new Set(l.value);e(t),l.value=t}function m(e){let t=new Map(d.value);e(t),d.value=t}function h(){l.value=new Set([i.value])}let g=q(()=>{let e=[],t=(n,r)=>{let i=d.value.get(n)??[];for(let n of i)e.push({...n,depth:r}),l.value.has(n.path)&&t(n.path,r+1)};return t(i.value,0),e});async function v(e){if(!n.serverId)return[];let{items:t}=vt(await R.post(`/sync/browse`,{server_id:n.serverId,path:Q(e)}));return t.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)).map(t=>({path:$(e,t.name),name:t.name,depth:0,hasChildren:!0,loaded:!1}))}async function y(e){if(n.serverId){c.value=e;try{let t=await v(e);m(n=>{n.set(e,t);for(let e of t)n.has(e.path)||n.set(e.path,[])})}catch(e){r(e instanceof Error?e.message:`加载目录失败`,`error`)}finally{c.value=null}}}async function b(){if(!n.serverId)return;s.value=!0,d.value=new Map,h();let e=i.value;try{await y(e),m(t=>{for(let n of t.get(e)??[])t.has(n.path)||t.set(n.path,[])})}finally{s.value=!1}}async function x(e){if(l.value.has(e.path)){f(t=>{t.delete(e.path)});return}d.value.has(e.path)||await y(e.path),f(t=>{t.add(e.path)})}function ee(e){let t=Q(e),n=i.value;t!==n&&f(e=>{if(e.add(n),!t.startsWith(n))return;let r=t.slice(n.length).replace(/^\//,``);if(!r)return;let i=n;for(let t of r.split(`/`).filter(Boolean))i=$(i,t),e.add(i)})}j(()=>[n.serverId,i.value],([e])=>{e?b():(d.value=new Map,l.value=new Set)},{immediate:!0});async function S(e){if(!n.serverId)return;let t=Q(e),r=i.value;if(ee(t),d.value.has(r)||await y(r),t===r||!t.startsWith(r))return;let a=t.slice(r.length).replace(/^\//,``).split(`/`).filter(Boolean),o=r;for(let e of a)d.value.has(o)||await y(o),o=$(o,e)}return j(()=>n.currentPath,e=>{e&&S(e)},{immediate:!0}),(t,n)=>(_(),H(N,{border:``,rounded:`lg`,class:me([`file-dir-tree d-flex flex-column`,{"file-dir-tree--embedded":e.embedded}])},{default:C(()=>[e.embedded?(_(),Y(`div`,Tt,[W(ze,{size:`16`,class:`mr-1 text-medium-emphasis`},{default:C(()=>[...n[2]||=[G(`mdi-file-tree`,-1)]]),_:1}),n[3]||=Z(`span`,{class:`text-caption text-medium-emphasis`},`目录`,-1),W(O),W(M,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:b},null,8,[`disabled`])])):(_(),H(p,{key:0,class:`text-subtitle-2 py-2 px-3 d-flex align-center`},{default:C(()=>[W(ze,{size:`18`,class:`mr-1`},{default:C(()=>[...n[0]||=[G(`mdi-file-tree`,-1)]]),_:1}),n[1]||=G(` 目录 `,-1),W(O),W(M,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:b},null,8,[`disabled`])]),_:1})),W(A),W(Je,{class:`file-dir-tree-body pa-0 flex-grow-1`},{default:C(()=>[e.serverId?s.value?(_(),H(je,{key:1,indeterminate:``})):g.value.length===0?(_(),Y(`div`,Dt,` 暂无子目录(可点刷新) `)):(_(),H(oe,{key:3,density:`compact`,nav:``,class:`py-0`},{default:C(()=>[(_(!0),Y(Fe,null,Te(g.value,t=>(_(),Y(`div`,{key:t.path,class:`file-dir-tree-row d-flex align-center`,style:te({paddingLeft:`${8+t.depth*14}px`})},[Z(`button`,{type:`button`,class:`file-dir-tree-toggle`,onClick:J(e=>x(t),[`stop`])},[c.value===t.path?(_(),H(De,{key:0,indeterminate:``,size:`14`,width:`2`})):(_(),H(ze,{key:1,size:`16`},{default:C(()=>[G(u(l.value.has(t.path)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024))],8,Ot),Z(`button`,{type:`button`,class:me([`file-dir-tree-label text-body-2 text-truncate`,{"file-dir-tree-label--active":I(Q)(e.currentPath)===t.path}]),onClick:e=>o(`navigate`,t.path),onContextmenu:J(e=>o(`paste-target`,t.path),[`prevent`])},[W(ze,{size:`14`,class:`mr-1`},{default:C(()=>[...n[4]||=[G(`mdi-folder-outline`,-1)]]),_:1}),G(` `+u(t.name),1)],42,kt)],4))),128))]),_:1})):(_(),Y(`div`,Et,`请先选择服务器`))]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-d76d91c6`]]);function jt(e,t){try{let n=localStorage.getItem(e);if(!n)return t;let r=JSON.parse(n);if(typeof r.x==`number`&&typeof r.y==`number`&&typeof r.w==`number`&&typeof r.h==`number`)return r}catch{}return t}function Mt(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Nt(e,t){let n=F(jt(e,t)),r={px:0,py:0,rx:0,ry:0},i=!1,a={px:0,py:0,rw:0,rh:0},o=q(()=>({left:`${n.value.x}px`,top:`${n.value.y}px`,width:`${n.value.w}px`,height:`${n.value.h}px`}));function s(){let e=Math.min(window.innerWidth-16,1400),t=Math.min(window.innerHeight-16,900);n.value.w=Math.max(480,Math.min(n.value.w,e)),n.value.h=Math.max(320,Math.min(n.value.h,t)),n.value.x=Math.max(8,Math.min(n.value.x,window.innerWidth-n.value.w-8)),n.value.y=Math.max(8,Math.min(n.value.y,window.innerHeight-n.value.h-8))}function c(e){if(i){n.value.w=Math.max(480,a.rw+e.clientX-a.px),n.value.h=Math.max(320,a.rh+e.clientY-a.py),s();return}n.value.x=r.rx+e.clientX-r.px,n.value.y=r.ry+e.clientY-r.py,s()}function l(){i=!1,window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l),Mt(e,n.value)}function u(e){e.button===0&&(r={px:e.clientX,py:e.clientY,rx:n.value.x,ry:n.value.y},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function d(e){e.button===0&&(e.stopPropagation(),i=!0,a={px:e.clientX,py:e.clientY,rw:n.value.w,rh:n.value.h},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function f(){n.value.x=Math.max(16,(window.innerWidth-n.value.w)/2),n.value.y=Math.max(16,(window.innerHeight-n.value.h)/2),Mt(e,n.value)}return h(()=>{window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l)}),{rect:n,panelStyle:o,startDrag:u,startResize:d,centerOnScreen:f,clampToViewport:s}}var Pt={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,vue:`html`,py:`python`,pyw:`python`,rb:`ruby`,sh:`shell`,bash:`shell`,zsh:`shell`,fish:`shell`,php:`php`,phtml:`php`,java:`java`,go:`go`,rs:`rust`,c:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,h:`c`,hpp:`cpp`,cs:`csharp`,swift:`swift`,kt:`kotlin`,kts:`kotlin`,html:`html`,htm:`html`,xhtml:`html`,css:`css`,scss:`scss`,sass:`scss`,less:`less`,json:`json`,jsonc:`json`,xml:`xml`,xsl:`xml`,xsd:`xml`,svg:`xml`,yaml:`yaml`,yml:`yaml`,toml:`toml`,md:`markdown`,mdx:`mdx`,sql:`sql`,graphql:`graphql`,gql:`graphql`,dockerfile:`dockerfile`,conf:`ini`,cfg:`ini`,cnf:`ini`,ini:`ini`,properties:`ini`,env:`ini`,tpl:`html`,twig:`twig`,blade:`php`,lua:`lua`,pl:`perl`,pm:`perl`,ps1:`powershell`,psm1:`powershell`,bat:`bat`,cmd:`bat`,r:`r`,dart:`dart`,scala:`scala`,clj:`clojure`,ex:`elixir`,exs:`elixir`,erl:`elixir`,hs:`haskell`,ml:`fsharp`,fs:`fsharp`,fsx:`fsharp`,vb:`vb`,pas:`pascal`,dockerignore:`plaintext`,gitignore:`plaintext`,gitattributes:`plaintext`,editorconfig:`ini`,htaccess:`shell`,service:`ini`,socket:`ini`,timer:`ini`,mount:`ini`,fstab:`ini`,crt:`plaintext`,pem:`plaintext`,key:`plaintext`,pub:`plaintext`,log:`plaintext`,lock:`json`},Ft={dockerfile:`dockerfile`,makefile:`makefile`,gnumakefile:`makefile`,"cmakelists.txt":`plaintext`,gemfile:`ruby`,rakefile:`ruby`,vagrantfile:`ruby`,nginx:`nginx`,"nginx.conf":`nginx`,".env":`ini`,".env.example":`ini`,".env.local":`ini`,".gitignore":`plaintext`,".dockerignore":`plaintext`,".htaccess":`shell`,hosts:`plaintext`,crontab:`shell`,"supervisord.conf":`ini`,"php.ini":`ini`,"my.cnf":`ini`},It=[{title:`自动`,value:`auto`},{title:`Plain Text`,value:`plaintext`},{title:`PHP`,value:`php`},{title:`JavaScript`,value:`javascript`},{title:`TypeScript`,value:`typescript`},{title:`JSON`,value:`json`},{title:`HTML`,value:`html`},{title:`CSS`,value:`css`},{title:`SCSS`,value:`scss`},{title:`Shell`,value:`shell`},{title:`Python`,value:`python`},{title:`Go`,value:`go`},{title:`Rust`,value:`rust`},{title:`Java`,value:`java`},{title:`C`,value:`c`},{title:`C++`,value:`cpp`},{title:`C#`,value:`csharp`},{title:`SQL`,value:`sql`},{title:`YAML`,value:`yaml`},{title:`TOML`,value:`toml`},{title:`INI / Config`,value:`ini`},{title:`Markdown`,value:`markdown`},{title:`Dockerfile`,value:`dockerfile`},{title:`Nginx`,value:`nginx`},{title:`XML`,value:`xml`},{title:`Vue (HTML)`,value:`html`},{title:`Ruby`,value:`ruby`},{title:`Perl`,value:`perl`},{title:`PowerShell`,value:`powershell`}];function Lt(e,t){let n=e.toLowerCase(),r=(t?.split(`/`).pop()??e).toLowerCase();if(Ft[r])return Ft[r];if(Ft[n])return Ft[n];if(n.endsWith(`.blade.php`))return`php`;let i=n.split(`.`);if(i.length>2&&i[i.length-1]===`php`&&i.slice(-2).join(`.`)===`blade.php`)return`php`;let a=n.includes(`.`)?n.split(`.`).pop()??``:``;return a&&Pt[a]?Pt[a]:r.includes(`nginx`)&&(r.endsWith(`.conf`)||r===`nginx.conf`)?`nginx`:`plaintext`}function Rt(e,t,n){return n&&n!==`auto`?n:Lt(e,t)}var zt={class:`text-truncate`,style:{"max-width":`130px`}},Bt={key:0,class:`text-warning ml-1`,style:{"font-size":`10px`}},Vt={class:`file-editor-main d-flex flex-grow-1 min-h-0`},Ht={class:`file-editor-content d-flex flex-column flex-grow-1 min-w-0 min-h-0`},Ut={class:`file-editor-body flex-grow-1 position-relative min-h-0`},Wt={class:`file-editor-status text-caption px-3 py-1 d-flex flex-wrap align-center ga-3`},Gt={class:`text-mono`},Kt={key:0,class:`text-primary`,style:{"font-size":`11px`}},qt={class:`text-truncate flex-grow-1 text-medium-emphasis`},Jt={key:2,class:`text-warning`},Yt={key:0,class:`text-warning ml-1`},Xt=`nexus_file_editor_float`,Zt=rt(z({__name:`FileEditorWorkbench`,props:{serverId:{},currentPath:{}},emits:[`saved`,`closed`,`path-change`,`paste-target`],setup(e,{expose:i,emit:s}){let c=n(),l=e,d=s,f=a(),m=Math.min(1120,Math.round(window.innerWidth*.88)),g=Math.min(760,Math.round(window.innerHeight*.82)),{panelStyle:v,startDrag:y,startResize:b,clampToViewport:ee}=Nt(Xt,{x:Math.max(24,(window.innerWidth-m)/2),y:Math.max(24,(window.innerHeight-g)/2),w:m,h:g}),T=le([]),E=F(null),D=F(!1),k=F(!1),ne=F(!1),re=F(!1),P=F(!1),ae=F(1),oe=F(1),se=F(l.currentPath||`/www/wwwroot`),ce=q(()=>{let e=Q(l.currentPath||`/www/wwwroot`);return e===`/`||e.startsWith(`/www/wwwroot`)?yt:e}),ue=F(!0),de=F(!1),fe=F(null),pe=F(),L=null,z=null,he=0;function ge(){T.value=T.value.slice()}function _e(e,t){e.modified!==t&&(e.modified=t,ge())}let B=F(null),ye=F(!1),V=q(()=>T.value.find(e=>e.id===E.value)??null),be=q(()=>V.value?Rt(V.value.name,V.value.path,V.value.languageId):`plaintext`),xe=q({get:()=>{let e=V.value?.languageId;return e==null||e===``?`auto`:String(e)},set:e=>{if(!V.value)return;let t=e==null?`auto`:String(e);V.value.languageId=t===`auto`?null:t}}),Se=q(()=>k.value?void 0:v.value),Ce=q(()=>ye.value?`关闭编辑器`:`关闭文件`),we=q(()=>{let e=(B.value?T.value.find(e=>e.id===B.value):T.value.find(e=>e.modified))?.name??`文件`;return ye.value?`「${e}」等未保存的更改将丢失,确定吗?`:`「${e}」已修改但未保存,确定要关闭吗?`}),K=q(()=>fe.value?T.value.find(e=>e.id===fe.value)?.name??``:``);function Ee(e){return e.replace(/\r\n/g,` +`).replace(/\r/g,` +`)}function De(e,t){let n=Ee(e);return t===`CRLF`?n.replace(/\n/g,`\r +`):n}function Oe(e){return Rt(e.name,e.path,e.languageId)}function ke(e){return`${l.serverId}:${Q(e)}`}function Ae(e){let t=St(Q(e));t&&(se.value=t)}function Me(e){se.value=Q(e),d(`path-change`,se.value)}function Ne(e){k.value||e.target.closest(`button, .v-tab, .v-btn, input, a`)||y(e)}function Pe(){if(!L)return;let e=L.getPosition();ae.value=e?.lineNumber??1,oe.value=e?.column??1}function Ie(e=!1){if(!L||!V.value)return;let t=V.value,n=L.saveViewState();t.viewState=n?Xe(n):null;let r=()=>{!L||V.value?.id!==t.id||(t.content=Ee(L.getValue()),_e(t,t.content!==t.originalContent))};if(e){z&&=(clearTimeout(z),null),r();return}z&&clearTimeout(z),z=setTimeout(r,250)}async function X(){let e=++he;if(await ie(),await ie(),e!==he||!V.value)return;He();let t=(n=0)=>{if(e!==he||!L)return;L.layout();let r=pe.value;r&&(r.clientWidth<2||r.clientHeight<2)&&n<12&&setTimeout(()=>t(n+1),50)};requestAnimationFrame(()=>t())}function Le(){he++,z&&=(clearTimeout(z),null),L?.dispose(),L=null,re.value=!1}function Re(){for(let e of T.value)e.model?.dispose();T.value=[],E.value=null,Le(),k.value=!1,D.value=!1}function Be(e){let t=V.value;!t||!t.model||(t.languageId=e===`auto`||!e?null:e,c.editor.setModelLanguage(t.model,Oe(t)))}function Ve(e){if(L){if(!e.model){let t=Oe(e),n=Ee(e.content);e.model=Xe(c.editor.createModel(n,t,c.Uri.parse(`nexus://${l.serverId}${e.path}`)))}L.setModel(e.model),e.viewState&&L.restoreViewState(e.viewState),c.editor.setModelLanguage(e.model,Oe(e)),Ae(e.path),Pe()}}function He(){if(!pe.value||!V.value)return;Le(),re.value=!1;let e=V.value;if(!e.model){let t=Oe(e),n=Ee(e.content);e.model=Xe(c.editor.createModel(n,t,c.Uri.parse(`nexus://${l.serverId}${e.path}`)))}L=c.editor.create(pe.value,{...r(),model:e.model,wordWrap:ue.value?`on`:`off`,automaticLayout:!0}),e.viewState&&L.restoreViewState(e.viewState),L.onDidChangeModelContent(()=>{Ie(),Pe()}),L.onDidChangeCursorPosition(()=>{Pe()}),L.addCommand(c.KeyMod.CtrlCmd|c.KeyCode.KeyS,()=>{tt()}),L.addCommand(c.KeyCode.Escape,()=>{k.value&&=!1}),L.addCommand(c.KeyMod.Alt|c.KeyCode.KeyZ,()=>{et()}),Ae(e.path),t(c),re.value=!0,Pe()}function Ue(e){if(typeof e!=`string`||!e)return;Ie(!0),E.value=e;let t=T.value.find(t=>t.id===e);t&&(L?Ve(t):X())}function We(e){E.value=e,D.value=!1,ie(()=>{ee();let t=T.value.find(t=>t.id===e);t&&(L?Ve(t):X())})}function Ge(e){let t=ke(e.path),n=T.value.find(e=>e.id===t);if(n){E.value=t,D.value=!1,X().then(()=>{L&&Ve(n)});return}try{let n=Ee(e.content),r=Rt(e.name,e.path,null),i=c.Uri.parse(`nexus://${l.serverId}${e.path}`),a=c.editor.getModel(i);a&&a.dispose();let o=Xe(c.editor.createModel(n,r,i));T.value=[...T.value,{id:t,path:e.path,name:e.name,content:n,originalContent:n,modified:!1,languageId:null,eol:e.eol,etag:e.etag,mtime:e.mtime,model:o,viewState:null}],E.value=t,D.value=!1,Ae(e.path),X()}catch(e){f(e instanceof Error?e.message:`无法打开编辑器`,`error`),console.error(`[FileEditorWorkbench] openFile failed`,e)}}function Ke(e){let t=T.value.findIndex(t=>t.id===e);if(!(t<0)){if(T.value[t].model?.dispose(),T.value=T.value.filter(t=>t.id!==e),T.value.length===0){E.value=null,Le(),k.value=!1,D.value=!1,d(`closed`);return}if(E.value===e){let e=T.value[Math.min(t,T.value.length-1)];E.value=e.id,X().then(()=>{let t=T.value.find(t=>t.id===e.id);t&&L&&Ve(t)})}}}function qe(e){let t=T.value.find(t=>t.id===e);if(!t)return;if(E.value===e&&Ie(!0),t.modified){B.value=e,ye.value=!1,P.value=!0;return}let n=E.value===e;n&&Le(),Ke(e),n&&E.value&&X()}function Ye(){if(Ie(!0),T.value.some(e=>e.modified)){B.value=null,ye.value=!0,P.value=!0;return}Re(),d(`closed`)}function Ze(){P.value=!1,B.value=null,ye.value=!1}function Qe(){if(P.value=!1,ye.value)Re(),d(`closed`);else if(B.value){let e=B.value,t=E.value===e;t&&Le(),Ke(e),t&&E.value&&X()}B.value=null,ye.value=!1}async function $e(){let e=ye.value,t=B.value;if(await tt(),P.value=!1,ye.value=!1,B.value=null,e){T.value.some(e=>e.modified)||(Re(),d(`closed`));return}if(t){let e=T.value.find(e=>e.id===t);if(e&&!e.modified){let e=E.value===t;e&&Le(),Ke(t),e&&E.value&&X()}}}function et(){ue.value=!ue.value,L?.updateOptions({wordWrap:ue.value?`on`:`off`})}async function tt(e=!1){if(!l.serverId){f(`请先选择服务器`,`error`);return}Ie(!0);let t=V.value;if(!t||!t.modified)return;let n=De(L?.getValue()??t.content,t.eol);ne.value=!0;try{let r=await R.post(`/sync/write-file`,{server_id:l.serverId,path:t.path,content:n,etag:e?null:t.etag}),i=Ee(n);t.content=i,t.originalContent=i,_e(t,!1),t.etag=r?.etag??null,ge(),f(`文件已保存`),d(`saved`,t.path)}catch(e){if(e instanceof w&&e.status===409){fe.value=t.id,de.value=!0;return}f(e instanceof w||e instanceof Error?e.message:`保存失败`,`error`)}finally{ne.value=!1}}function rt(){de.value=!1,fe.value=null}async function ot(){de.value=!1;let e=fe.value;fe.value=null,!(!e||E.value!==e)&&await tt(!0)}function st(){de.value=!1;let e=fe.value;if(fe.value=null,!e)return;let t=T.value.find(t=>t.id===e);if(t){if(t.content=t.originalContent,_e(t,!1),t.model){let e=De(t.originalContent,t.eol);t.model.setValue(Ee(e))}ge(),f(`已放弃本地修改`,`info`)}}j(()=>l.currentPath,e=>{e&&(se.value=Q(e))}),j(k,()=>{ie(()=>L?.layout())}),j(D,e=>{e||ie(()=>L?.layout())});function ct(){return T.value.length>0}return i({openFile:Ge,hasOpenTabs:ct}),h(()=>{for(let e of T.value)e.model?.dispose();Le()}),(t,n)=>(_(),Y(Fe,null,[(_(),H(ve,{to:`body`},[T.value.length>0&&!D.value&&V.value?(_(),Y(`div`,{key:0,class:me([`file-editor-float`,{"file-editor-float--maximized":k.value}]),style:te(Se.value)},[W(N,{border:``,rounded:`lg`,class:`file-editor-panel d-flex flex-column h-100`},{default:C(()=>[Z(`div`,{class:me([`file-editor-toolbar d-flex align-center flex-shrink-0`,{"file-editor-toolbar--draggable":!k.value}]),onMousedown:Ne},[k.value?U(``,!0):(_(),H(ze,{key:0,size:`16`,class:`ml-2 mr-1 text-disabled file-editor-drag-hint`,onMousedown:n[0]||=J(()=>{},[`stop`])},{default:C(()=>[...n[19]||=[G(` mdi-drag `,-1)]]),_:1})),W(at,{"model-value":E.value??void 0,density:`compact`,"show-arrows":``,class:`file-editor-tabs flex-grow-1 min-w-0`,"onUpdate:modelValue":Ue,onMousedown:n[1]||=J(()=>{},[`stop`])},{default:C(()=>[(_(!0),Y(Fe,null,Te(T.value,e=>(_(),H(it,{key:e.id,value:e.id,class:`text-none px-2`},{default:C(()=>[Z(`span`,zt,u(e.name),1),e.modified?(_(),Y(`span`,Bt,`●`)):U(``,!0),W(M,{icon:`mdi-close`,size:`x-small`,variant:`text`,class:`ml-1 opacity-60`,density:`compact`,onClick:J(t=>qe(e.id),[`stop`])},null,8,[`onClick`])]),_:2},1032,[`value`]))),128))]),_:1},8,[`model-value`]),W(A,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[2]||=J(()=>{},[`stop`])}),W(o,{modelValue:xe.value,"onUpdate:modelValue":[n[3]||=e=>xe.value=e,Be],items:I(It),"item-title":`title`,"item-value":`value`,density:`compact`,variant:`plain`,"hide-details":``,class:`file-editor-lang-select flex-shrink-0`,onMousedown:n[4]||=J(()=>{},[`stop`])},null,8,[`modelValue`,`items`]),W(M,{size:`small`,variant:`text`,color:ue.value?`primary`:void 0,title:ue.value?`关闭自动换行 (Alt+Z)`:`开启自动换行 (Alt+Z)`,density:`compact`,class:`flex-shrink-0 text-none px-2`,onMousedown:n[5]||=J(()=>{},[`stop`]),onClick:et},{default:C(()=>[...n[20]||=[G(` 自动换行 `,-1)]]),_:1},8,[`color`,`title`]),W(A,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[6]||=J(()=>{},[`stop`])}),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-save`,loading:ne.value,disabled:!V.value?.modified||!re.value,class:`flex-shrink-0 mr-1`,onMousedown:n[7]||=J(()=>{},[`stop`]),onClick:tt},{default:C(()=>[...n[21]||=[G(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`]),W(M,{size:`small`,variant:`text`,icon:k.value?`mdi-fullscreen-exit`:`mdi-fullscreen`,title:k.value?`退出全屏 (Esc)`:`全屏`,density:`compact`,onMousedown:n[8]||=J(()=>{},[`stop`]),onClick:n[9]||=e=>k.value=!k.value},null,8,[`icon`,`title`]),W(M,{size:`small`,variant:`text`,icon:`mdi-window-minimize`,title:`最小化`,density:`compact`,onMousedown:n[10]||=J(()=>{},[`stop`]),onClick:n[11]||=e=>D.value=!0}),W(M,{size:`small`,variant:`text`,icon:`mdi-close`,title:`关闭编辑器`,density:`compact`,class:`mr-1`,onMousedown:n[12]||=J(()=>{},[`stop`]),onClick:Ye})],34),Z(`div`,Vt,[Z(`aside`,{class:`file-editor-sidebar flex-shrink-0`,onMousedown:n[14]||=J(()=>{},[`stop`])},[W(At,{embedded:``,"server-id":e.serverId||null,"root-path":ce.value,"current-path":se.value,onNavigate:Me,onPasteTarget:n[13]||=e=>d(`paste-target`,e)},null,8,[`server-id`,`root-path`,`current-path`])],32),Z(`div`,Ht,[Z(`div`,Ut,[re.value?U(``,!0):(_(),H(je,{key:0,indeterminate:``,absolute:``,class:`file-editor-progress`})),Z(`div`,{ref_key:`editorHost`,ref:pe,class:`file-editor-host`},null,512)]),Z(`div`,Wt,[Z(`span`,Gt,u(ae.value)+`:`+u(oe.value),1),W(A,{vertical:``,style:{height:`12px`}}),Z(`span`,null,u(be.value),1),W(A,{vertical:``,style:{height:`12px`}}),ue.value?(_(),Y(`span`,Kt,`换行`)):U(``,!0),ue.value?(_(),H(A,{key:1,vertical:``,style:{height:`12px`}})):U(``,!0),Z(`span`,qt,u(V.value?.path??``),1),V.value?.modified?(_(),Y(`span`,Jt,`未保存`)):U(``,!0)])])]),k.value?U(``,!0):(_(),Y(`div`,{key:0,class:`file-editor-resize`,title:`拖动调整大小`,onMousedown:n[15]||=J((...e)=>I(b)&&I(b)(...e),[`stop`])},null,32))]),_:1})],6)):U(``,!0),T.value.length>0&&D.value?(_(),H(N,{key:1,border:``,rounded:`lg`,class:`file-editor-dock`},{default:C(()=>[n[22]||=Z(`span`,{class:`text-caption text-medium-emphasis mr-2`},`编辑器`,-1),(_(!0),Y(Fe,null,Te(T.value,e=>(_(),H(x,{key:e.id,size:`small`,color:e.id===E.value?`primary`:void 0,variant:`tonal`,class:`cursor-pointer`,onClick:t=>We(e.id)},{default:C(()=>[G(u(e.name)+` `,1),e.modified?(_(),Y(`span`,Yt,`●`)):U(``,!0)]),_:2},1032,[`color`,`onClick`]))),128)),W(O),W(M,{size:`x-small`,variant:`text`,icon:`mdi-dock-window`,title:`展开`,onClick:n[16]||=e=>D.value=!1}),W(M,{size:`x-small`,variant:`text`,icon:`mdi-close`,title:`关闭全部`,onClick:Ye})]),_:1})):U(``,!0)])),W(nt,{modelValue:P.value,"onUpdate:modelValue":n[17]||=e=>P.value=e,"max-width":`400`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[G(u(Ce.value),1)]),_:1}),W(Je,null,{default:C(()=>[G(u(we.value),1)]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:Ze},{default:C(()=>[...n[23]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`error`,variant:`flat`,onClick:Qe},{default:C(()=>[...n[24]||=[G(`不保存`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,onClick:$e},{default:C(()=>[...n[25]||=[G(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:de.value,"onUpdate:modelValue":n[18]||=e=>de.value=e,"max-width":`440`,persistent:``},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,{class:`text-warning`},{default:C(()=>[W(ze,{start:``},{default:C(()=>[...n[26]||=[G(`mdi-alert-outline`,-1)]]),_:1}),n[27]||=G(` 文件冲突 `,-1)]),_:1}),W(Je,null,{default:C(()=>[G(` 「`+u(K.value)+`」已被外部修改。`,1),n[28]||=Z(`br`,null,null,-1),n[29]||=Z(`strong`,null,`覆盖`,-1),n[30]||=G(`会以当前编辑内容覆盖服务器版本;`,-1),n[31]||=Z(`strong`,null,`放弃`,-1),n[32]||=G(`会丢弃本地修改。 `,-1)]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:rt},{default:C(()=>[...n[33]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`error`,variant:`flat`,onClick:st},{default:C(()=>[...n[34]||=[G(`放弃本地修改`,-1)]]),_:1}),W(M,{color:`warning`,variant:`flat`,onClick:ot},{default:C(()=>[...n[35]||=[G(`强制覆盖`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-509107ff`]]);function Qt(e){return e==null?``:String(e).trim()}function $t(e){if(e.type===`symlink`)return`—`;let t=Qt(e.owner),n=Qt(e.group);return t?!n||n===t?t:`${t}:${n}`:`—`}function en(e){if(e===`root`)return`warning`}function tn(e){let t=[];e.permissions&&t.push(e.permissions),e.mode_octal&&t.push(e.mode_octal);let n=Qt(e.owner),r=Qt(e.group);return n&&t.push(r&&r!==n?`${n}:${r}`:n),t.join(` · `)||`—`}var nn=[{label:`文件 644`,mode:`644`,for:`file`},{label:`目录 755`,mode:`755`,for:`directory`},{label:`私密 600`,mode:`600`,for:`file`},{label:`协作 775`,mode:`775`,for:`directory`},{label:`可执行 755`,mode:`755`,for:`file`}],rn=`docs/deploy/nexus-files-sudoers.example`;function an(e){let t=e.toLowerCase();return t.includes(`permission denied`)||t.includes(`operation not permitted`)||t.includes(`无法访问`)||t.includes(`无权限`)||t.includes(`无写入权限`)||t.includes(`读取失败`)||t.includes(`chmod 失败`)}function on(e,t){if(!t||t===`root`||e.type!==`file`)return!1;let n=e.permissions??``;if(n.length<10)return!1;let r=Qt(e.owner),i=Qt(e.group),a=n.slice(1,4),o=n.slice(4,7),s=n.slice(7,10);return r===t?!a.includes(`r`):(i&&i===t||!s.includes(`r`))&&!o.includes(`r`)}function sn(){return`目标机安装示例:${rn}(复制到 /etc/sudoers.d/nexus-files 后执行 visudo -cf 校验)`}function cn(e){if(e.isRootSsh)return null;let t=[],n=e.unreadableCount??0;if(e.lastReadDeniedPath&&t.push(`无法读取「${e.lastReadDeniedPath}」:当前 SSH 用户无权限。`),n>0&&e.sshUser&&t.push(`当前目录约 ${n} 个文件对 SSH 用户「${e.sshUser}」不可读。`),t.length>0&&(e.filesElevation===`off`?t.push(`此服务器「文件提权」已关闭,不会自动 sudo。`):e.canSudo?e.whitelistOk?t.push(`系统已自动尝试 sudo -n 提权,如仍失败请检查 sudoers 白名单。`):t.push(`已有 sudo 但白名单不完整(须含 bash、chmod、chown、tee、cat 等)。`):t.push(`请配置免密 sudo(NOPASSWD)或使用「一键配置」,或改用 root SSH 用户。`)),!t.length)return null;let r=e.filesElevation===`off`||!e.canSudo||!e.whitelistOk?` ${sn()}`:``;return{type:!e.canSudo||e.filesElevation===`off`?`error`:`warning`,text:`${t.join(` `)}${r}`}}var ln={key:0,class:`text-body-2 mb-3 text-medium-emphasis`},un={key:1,class:`text-caption mb-4`},dn={class:`d-flex flex-wrap ga-2 mb-4`},fn={class:`d-flex align-center flex-wrap ga-2 mb-2`},pn={class:`text-body-2`},mn={key:0,class:`text-caption mt-1`},hn={class:`text-caption text-medium-emphasis mb-0`},gn=z({__name:`FilePermissionDialog`,props:{modelValue:{type:Boolean},file:{},serverId:{},loading:{type:Boolean}},emits:[`update:modelValue`,`apply`],setup(e,{emit:t}){let n=e,r=t,i=F(``),a=F(``),o=F(``),s=F(null),c=F(!1),l=F(!1),d=q(()=>n.file?.type===`directory`),f=q(()=>n.file?.name??``),m=q(()=>n.file?tn(n.file):``),h=q(()=>{let e=n.file?.type===`directory`?`directory`:`file`;return nn.filter(t=>t.for===e||t.for===`file`)}),g=q(()=>s.value?s.value.is_root||s.value.can_sudo_nopasswd&&s.value.whitelist_ok?`success`:s.value.can_sudo_nopasswd?`warning`:`error`:`info`);j(()=>[n.modelValue,n.file],([e,t])=>{!e||!t||(i.value=t.mode_octal||``,a.value=t.owner||``,o.value=t.group&&t.group!==t.owner?t.group:``,l.value=!1,s.value=null,n.serverId&&y())});function v(e){return e===`off`?`关闭提权`:e===`always_sudo`?`始终 sudo`:`自动 sudo`}async function y(){if(n.serverId){c.value=!0;try{s.value=await R.get(`/servers/${n.serverId}/files-capability`)}catch(e){s.value={ssh_user:``,is_root:!1,files_elevation:`auto_sudo`,can_sudo_nopasswd:!1,whitelist_ok:!1,message:e instanceof Error?e.message:`检测失败`,docs_path:`docs/deploy/nexus-files-sudoers.example`}}finally{c.value=!1}}}function b(e){return t=>!!String(t||``).trim()||`${e}不能为空`}function ee(e){return/^[0-7]{3,4}$/.test(String(e||``).trim())||`格式: 3–4 位八进制`}let w=/^[a-zA-Z0-9_.-]+$/;function T(e){let t=String(e||``).trim();return t?w.test(t)||`仅允许字母、数字、._-`:!0}function E(e){let t=String(e||``).trim();return t?a.value.trim()?w.test(t)||`仅允许字母、数字、._-`:`请先填写属主`:!0}function D(e){i.value=e}function k(){let e=i.value.trim();if(!/^[0-7]{3,4}$/.test(e))return;let t=a.value.trim(),s=o.value.trim(),c=d.value&&l.value;if(c){let t=n.file?.name??`该目录`;if(!window.confirm(`确认对目录「${t}」及其全部子项递归应用权限 ${e}?此操作影响范围大且不可自动撤销。`))return}r(`apply`,{mode:e,owner:t||void 0,group:s||void 0,recursive:c||void 0})}return(t,n)=>(_(),H(nt,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[5]||=e=>r(`update:modelValue`,e)},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[6]||=[G(`修改权限`,-1)]]),_:1}),W(Je,null,{default:C(()=>[f.value?(_(),Y(`p`,ln,u(f.value),1)):U(``,!0),m.value?(_(),Y(`p`,un,` 当前:`+u(m.value),1)):U(``,!0),Z(`div`,dn,[(_(!0),Y(Fe,null,Te(h.value,e=>(_(),H(x,{key:e.mode+e.label,size:`small`,variant:`tonal`,color:`primary`,onClick:t=>D(e.mode)},{default:C(()=>[G(u(e.label),1)]),_:2},1032,[`onClick`]))),128))]),W(X,{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,label:`八进制权限`,variant:`outlined`,density:`compact`,placeholder:`644 / 755`,rules:[b(`权限`),ee],class:`mb-2`,onKeydown:he(k,[`enter`])},null,8,[`modelValue`,`rules`]),W(X,{modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,label:`属主(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[T],class:`mb-2`},null,8,[`modelValue`,`rules`]),W(X,{modelValue:o.value,"onUpdate:modelValue":n[2]||=e=>o.value=e,label:`属组(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[E],class:`mb-2`},null,8,[`modelValue`,`rules`]),d.value?(_(),H(Qe,{key:2,modelValue:l.value,"onUpdate:modelValue":n[3]||=e=>l.value=e,label:`同时修改子项(递归 chmod/chown)`,density:`compact`,"hide-details":``,color:`warning`,class:`mb-2`},null,8,[`modelValue`])):U(``,!0),W(A,{class:`my-4`}),Z(`div`,fn,[n[8]||=Z(`span`,{class:`text-caption text-medium-emphasis`},`提权能力`,-1),W(M,{size:`small`,variant:`tonal`,loading:c.value,disabled:!e.serverId,onClick:y},{default:C(()=>[...n[7]||=[G(` 检测提权能力 `,-1)]]),_:1},8,[`loading`,`disabled`])]),s.value?(_(),H(pe,{key:3,type:g.value,variant:`tonal`,density:`compact`,class:`mb-2`},{default:C(()=>[Z(`div`,pn,u(s.value.message),1),s.value.ssh_user?(_(),Y(`div`,mn,` SSH 用户:`+u(s.value.ssh_user)+` · 策略:`+u(v(s.value.files_elevation)),1)):U(``,!0)]),_:1},8,[`type`])):U(``,!0),Z(`p`,hn,[n[9]||=G(` 非 root 用户写/chmod 失败时将按服务器策略尝试 `,-1),n[10]||=Z(`code`,null,`sudo -n`,-1),G(`。 `+u(I(sn)()),1)])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[4]||=e=>r(`update:modelValue`,!1)},{default:C(()=>[...n[11]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,loading:e.loading,onClick:k},{default:C(()=>[...n[12]||=[G(`应用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function _n(){function e(e){return[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean).length>0||[...e.dataTransfer?.files??[]].length>0}async function t(e){let t=[],n=[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean);if(n.length)for(let e of n){let n=await vn(e,yn(`.`,e));t.push(...n.map(e=>e.file))}else t.push(...e.dataTransfer?.files??[]);return t}return{handleDrop:t,hasFilesOrFolders:e}}function vn(e,t=``){return new Promise((n,r)=>{e.isFile?e.file(e=>n([{file:e,path:t}]),r):e.isDirectory&&e.createReader().readEntries(async e=>{let r=[];for(let n of e)r.push(...await vn(n,yn(t,n)));n(r)})})}function yn(e,t){return t.isDirectory?`${e}/${t.name}`:e}var bn=m({filterByType:String},`file-accept`);function xn(e){let t=q(()=>e.filterByType?Sn(e.filterByType):null);function n(e){if(t.value){let n=e.filter(t.value);return{accepted:n,rejected:e.filter(e=>!n.includes(e))}}return{accepted:e,rejected:[]}}return{filterAccepted:n}}function Sn(e){let t=e.split(`,`).map(e=>e.trim().toLowerCase()),n=t.filter(e=>e.startsWith(`.`)),r=t.filter(e=>e.endsWith(`/*`)),i=t.filter(e=>!n.includes(e)&&!r.includes(e));return e=>{let t=e.name.split(`.`).at(-1)?.toLowerCase()??``,a=e.type.split(`/`).at(0)?.toLowerCase()??``;return i.includes(e.type)||n.includes(`.${t}`)||r.includes(`${a}/*`)}}var Cn=m({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:`$vuetify.fileInput.counterSize`},counterString:{type:String,default:`$vuetify.fileInput.counter`},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e==`boolean`||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...fe(Pe({prependIcon:`$file`}),[`direction`]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>L(e).every(e=>typeof e==`object`&&!!e)},...bn(),...Se({clearable:!0})},`VFileInput`),wn=Ge()({name:`VFileInput`,inheritAttrs:!1,props:Cn(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=Ee(),{filterAccepted:a}=xn(e),o=be(e,`modelValue`,e.modelValue,e=>L(e),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:s,focus:c,blur:l}=Me(e),u=q(()=>typeof e.showSize==`boolean`?void 0:e.showSize),d=q(()=>(o.value??[]).reduce((e,{size:t=0})=>e+t,0)),f=q(()=>Ye(d.value,u.value)),p=q(()=>(o.value??[]).map(t=>{let{name:n=``,size:r=0}=t,i=M(n);return e.showSize?`${i} (${Ye(r,u.value)})`:i})),m=q(()=>{let t=o.value?.length??0;return e.showSize?i(e.counterSizeString,t,f.value):i(e.counterString,t)}),h=F(),g=F(),_=F(),v=T(()=>s.value||e.active),b=q(()=>[`plain`,`underlined`].includes(e.variant)),S=le(!1),{handleDrop:C,hasFilesOrFolders:w}=_n();function E(){_.value!==document.activeElement&&_.value?.focus(),s.value||c()}function D(e){_.value?.click()}function O(e){n(`mousedown:control`,e)}function k(e){_.value?.click(),n(`click:control`,e)}function A(t){t.stopPropagation(),E(),ie(()=>{o.value=[],y(e[`onClick:clear`],t)})}function M(t){if(t.length{(!Array.isArray(e)||!e.length)&&_.value&&(_.value.value=``)}),Oe(()=>{let n=!!(r.counter||e.counter),i=!!(n||r.details),[a,c]=ee(t),{modelValue:u,...y}=Ae.filterProps(e),C={...V.filterProps(e),"onClick:clear":A},w=t.webkitdirectory!==void 0&&t.webkitdirectory!==!1,T=t.accept?String(t.accept):void 0,j=w?void 0:e.filterByType??T;return W(Ae,He({ref:h,modelValue:e.multiple?o.value:o.value[0],class:[`v-file-input`,{"v-file-input--chips":!!e.chips,"v-file-input--dragging":S.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":b.value},e.class],style:e.style,"onClick:prepend":D},a,y,{centerAffix:!b.value,focused:s.value,indentDetails:e.indentDetails??!b.value}),{...r,default:({id:t,isDisabled:n,isDirty:i,isReadonly:a,isValid:u,hasDetails:m})=>W(V,He({ref:g,prependIcon:e.prependIcon,onMousedown:O,onClick:k,"onClick:prependInner":e[`onClick:prependInner`],"onClick:appendInner":e[`onClick:appendInner`]},C,{id:t.value,active:v.value||i.value,dirty:i.value||e.dirty,disabled:n.value,focused:s.value,details:m.value,error:u.value===!1,onDragover:te,onDrop:N}),{...r,default:({props:{class:t,...i},controlRef:s})=>Z(Fe,null,[Z(`input`,He({ref:e=>_.value=s.value=e,type:`file`,accept:j,readonly:a.value,disabled:n.value,multiple:e.multiple,name:e.name,onClick:e=>{e.stopPropagation(),a.value&&e.preventDefault(),E()},onChange:re,onDragleave:ne,onFocus:E,onBlur:l},i,c),null),Z(`div`,{class:me(t)},[!!o.value?.length&&!e.hideInput&&(r.selection?r.selection({fileNames:p.value,totalBytes:d.value,totalBytesReadable:f.value}):e.chips?p.value.map(e=>W(x,{key:e,size:`small`,text:e},null)):p.value.join(`, `))])])}),details:i?t=>Z(Fe,null,[r.details?.(t),n&&Z(Fe,null,[Z(`span`,null,null),W(we,{active:!!o.value?.length,value:m.value,disabled:e.disabled},r.counter)])]):void 0})}),We({},h,g,_)}}),Tn={class:`text-body-2 mb-3`},En={class:`text-body-2 mb-2 text-truncate`},Dn={class:`text-truncate`},On={key:1,class:`files-preview-body text-body-2`},kn=rt(z({__name:`FilesDialogs`,setup(e){let t=ct();return(e,n)=>(_(),Y(Fe,null,[W(nt,{modelValue:I(t).showUpload,"onUpdate:modelValue":n[2]||=e=>I(t).showUpload=e,"max-width":`500`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[25]||=[G(`上传文件`,-1)]]),_:1}),W(Je,null,{default:C(()=>[W(wn,{modelValue:I(t).uploadFiles,"onUpdate:modelValue":n[0]||=e=>I(t).uploadFiles=e,label:`选择文件`,variant:`outlined`,multiple:``,"show-size":``},null,8,[`modelValue`])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[1]||=e=>I(t).showUpload=!1},{default:C(()=>[...n[26]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,loading:I(t).uploading,onClick:I(t).doUpload},{default:C(()=>[...n[27]||=[G(`上传`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:I(t).showNewFile,"onUpdate:modelValue":n[5]||=e=>I(t).showNewFile=e,"max-width":`400`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[28]||=[G(`新建文件`,-1)]]),_:1}),W(Je,null,{default:C(()=>[W(X,{modelValue:I(t).newFileName,"onUpdate:modelValue":n[3]||=e=>I(t).newFileName=e,label:`文件名`,variant:`outlined`,density:`compact`,rules:[I(t).validatePathSegment],placeholder:`example.conf`,autofocus:``,onKeydown:he(I(t).doNewFile,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[4]||=e=>I(t).showNewFile=!1},{default:C(()=>[...n[29]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,loading:I(t).actionLoading,onClick:I(t).doNewFile},{default:C(()=>[...n[30]||=[G(`创建`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:I(t).showMkdir,"onUpdate:modelValue":n[8]||=e=>I(t).showMkdir=e,"max-width":`400`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[31]||=[G(`新建目录`,-1)]]),_:1}),W(Je,null,{default:C(()=>[W(X,{modelValue:I(t).mkdirName,"onUpdate:modelValue":n[6]||=e=>I(t).mkdirName=e,label:`目录名`,variant:`outlined`,density:`compact`,rules:[I(t).validatePathSegment],onKeydown:he(I(t).doMkdir,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[7]||=e=>I(t).showMkdir=!1},{default:C(()=>[...n[32]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,onClick:I(t).doMkdir},{default:C(()=>[...n[33]||=[G(`创建`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:I(t).showFileDelete,"onUpdate:modelValue":n[10]||=e=>I(t).showFileDelete=e,"max-width":`400`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[34]||=[G(`确认删除`,-1)]]),_:1}),W(Je,null,{default:C(()=>[n[35]||=G(` 确定要删除 `,-1),Z(`strong`,null,u(I(t).deletingFile?.name),1),n[36]||=G(` 吗? `,-1)]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[9]||=e=>I(t).showFileDelete=!1},{default:C(()=>[...n[37]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`error`,variant:`flat`,onClick:I(t).doDeleteFile},{default:C(()=>[...n[38]||=[G(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:I(t).showRename,"onUpdate:modelValue":n[13]||=e=>I(t).showRename=e,"max-width":`400`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[39]||=[G(`重命名`,-1)]]),_:1}),W(Je,null,{default:C(()=>[W(X,{modelValue:I(t).newName,"onUpdate:modelValue":n[11]||=e=>I(t).newName=e,label:`新名称`,variant:`outlined`,density:`compact`,rules:[I(t).required(`名称`)],autofocus:``,onKeydown:he(I(t).doRename,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[12]||=e=>I(t).showRename=!1},{default:C(()=>[...n[40]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,onClick:I(t).doRename},{default:C(()=>[...n[41]||=[G(`确定`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(gn,{modelValue:I(t).showChmod,"onUpdate:modelValue":n[14]||=e=>I(t).showChmod=e,file:I(t).chmodFile,"server-id":I(t).selectedServer,loading:I(t).chmodLoading,onApply:I(t).doChmod},null,8,[`modelValue`,`file`,`server-id`,`loading`,`onApply`]),W(nt,{modelValue:I(t).showCompress,"onUpdate:modelValue":n[18]||=e=>I(t).showCompress=e,"max-width":`440`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[42]||=[G(`压缩`,-1)]]),_:1}),W(Je,null,{default:C(()=>[Z(`p`,Tn,`将压缩 `+u(I(t).compressPaths.length)+` 项到当前目录`,1),W(X,{modelValue:I(t).compressDest,"onUpdate:modelValue":n[15]||=e=>I(t).compressDest=e,label:`压缩包路径`,variant:`outlined`,density:`compact`},null,8,[`modelValue`]),W(o,{modelValue:I(t).compressFormat,"onUpdate:modelValue":n[16]||=e=>I(t).compressFormat=e,items:[{title:`tar.gz`,value:`tar.gz`},{title:`zip`,value:`zip`}],"item-title":`title`,"item-value":`value`,label:`格式`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[17]||=e=>I(t).showCompress=!1},{default:C(()=>[...n[43]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,loading:I(t).actionLoading,onClick:I(t).doCompress},{default:C(()=>[...n[44]||=[G(`压缩`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:I(t).showDecompress,"onUpdate:modelValue":n[21]||=e=>I(t).showDecompress=e,"max-width":`440`},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,null,{default:C(()=>[...n[45]||=[G(`解压`,-1)]]),_:1}),W(Je,null,{default:C(()=>[Z(`p`,En,u(I(t).decompressSource),1),W(X,{modelValue:I(t).decompressDest,"onUpdate:modelValue":n[19]||=e=>I(t).decompressDest=e,label:`解压到目录`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[20]||=e=>I(t).showDecompress=!1},{default:C(()=>[...n[46]||=[G(`取消`,-1)]]),_:1}),W(M,{color:`primary`,variant:`flat`,loading:I(t).actionLoading,onClick:I(t).doDecompress},{default:C(()=>[...n[47]||=[G(`解压`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),W(nt,{modelValue:I(t).showPreview,"onUpdate:modelValue":n[24]||=e=>I(t).showPreview=e,"max-width":`900`,scrollable:``},{default:C(()=>[W(N,{border:``},{default:C(()=>[W(p,{class:`d-flex align-center`},{default:C(()=>[Z(`span`,Dn,u(I(t).previewTitle),1),W(O),W(M,{icon:`mdi-close`,variant:`text`,onClick:n[22]||=e=>I(t).showPreview=!1})]),_:1}),W(A),W(Je,{style:{"max-height":`70vh`}},{default:C(()=>[I(t).previewLoading?(_(),H(je,{key:0,indeterminate:``,class:`mb-2`})):(_(),Y(`pre`,On,u(I(t).previewContent),1))]),_:1}),W(S,null,{default:C(()=>[W(O),W(M,{variant:`text`,onClick:n[23]||=e=>I(t).showPreview=!1},{default:C(()=>[...n[48]||=[G(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-110ea120`]]),An=`nexus:files:last_server_id`,jn=`nexus:files-hint-dismissed`,Mn=[{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:250,title:`250`},...Ze.filter(e=>e.value===-1)],Nn=5e3,Pn=m({id:String,interactive:Boolean,text:String,...fe(Ve({closeOnBack:!1,location:`end`,locationStrategy:`connected`,eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:`auto`,scrim:!1,scrollStrategy:`reposition`,transition:null}),[`absolute`,`retainFocus`,`captureFocus`,`disableInitialFocus`])},`VTooltip`),Fn=Ge()({name:`VTooltip`,props:Pn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=be(e,`modelValue`),{scopeId:r}=re(),i=D(),a=T(()=>e.id||`v-tooltip-${i}`),o=F(),s=q(()=>e.location.split(` `).length>1?e.location:e.location+` center`),c=q(()=>e.origin===`auto`||e.origin===`overlap`||e.origin.split(` `).length>1||e.location.split(` `).length>1?e.origin:e.origin+` center`),l=T(()=>e.transition==null?n.value?`scale-transition`:`fade-transition`:e.transition),u=q(()=>He({"aria-describedby":a.value},e.activatorProps));return Oe(()=>{let i=ge.filterProps(e);return W(ge,He({ref:o,class:[`v-tooltip`,{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:a.value},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,transition:l.value,absolute:!0,location:s.value,origin:c.value,role:`tooltip`,activatorProps:u.value,_disableGlobalStack:!0},r),{activator:t.activator,default:(...n)=>t.default?.(...n)??e.text})}),We({},o)}}),In={class:`d-flex align-center ga-2 min-w-0`},Ln={class:`min-w-0`},Rn={key:0,class:`text-caption text-medium-emphasis text-truncate`},zn={class:`text-medium-emphasis`},Bn={class:`text-medium-emphasis`},Vn={class:`files-row-actions`},Hn={key:0,class:`text-center text-medium-emphasis py-8`},Un={key:0,class:`text-caption mt-2 text-disabled`},Wn=rt(z({__name:`FilesList`,setup(e){let t=ct();return(e,n)=>(_(),Y(Fe,null,[W(N,{elevation:`0`,border:``,rounded:`lg`,class:me([`position-relative`,{"files-drop-active":I(t).dropActive}]),onDragenter:n[1]||=J(e=>I(t).dropActive=!0,[`prevent`]),onDragover:n[2]||=J(e=>I(t).dropActive=!0,[`prevent`]),onDragleave:n[3]||=J(e=>I(t).dropActive=!1,[`prevent`]),onDrop:J(I(t).onDropFiles,[`prevent`])},{default:C(()=>[I(t).loadingVisible?(_(),H(je,{key:0,indeterminate:``,color:`primary`,height:`2`,class:`files-table-progress`})):U(``,!0),W(i,{modelValue:I(t).selectedFiles,"onUpdate:modelValue":n[0]||=e=>I(t).selectedFiles=e,items:I(t).displayedFiles,headers:I(t).fileHeaders,loading:I(t).loadingVisible,"items-per-page":I(50),"items-per-page-options":[...I(Mn)],"show-select":``,"return-object":``,hover:``,density:`comfortable`,"item-value":`name`,"row-props":I(t).fileRowProps},{"item.name":C(({item:e})=>[Z(`div`,In,[W(ze,{color:I(t).entryIconColor(e),size:`20`},{default:C(()=>[G(u(I(t).entryIcon(e)),1)]),_:2},1032,[`color`]),I(t).isEntryLikelyUnreadable(e,I(t).sshUserForFiles)?(_(),H(ze,{key:0,size:`18`,color:`warning`,title:`当前 SSH 用户可能无法读取`},{default:C(()=>[...n[20]||=[G(` mdi-shield-lock `,-1)]]),_:1})):U(``,!0),Z(`div`,Ln,[Z(`span`,{class:me({"font-weight-medium":e.type===`directory`})},u(e.name),3),e.type===`symlink`&&e.link_target?(_(),Y(`div`,Rn,` → `+u(e.link_target),1)):U(``,!0)])])]),"item.owner":C(({item:e})=>[W(Fn,{text:I(t).permissionTooltip(e),location:`top`},{activator:C(({props:n})=>[W(x,He(n,{size:`small`,variant:`tonal`,color:I(t).ownerChipColor(e.owner||``),class:`text-none`}),{default:C(()=>[G(u(I(t).formatOwnerChip(e)),1)]),_:2},1040,[`color`])]),_:2},1032,[`text`])]),"item.size":C(({item:e})=>[Z(`span`,zn,u(e.type===`directory`?`—`:I(t).formatSize(e.size)),1)]),"item.modified":C(({item:e})=>[Z(`span`,Bn,u(e.modified||`—`),1)]),"item.actions":C(({item:e})=>[Z(`div`,Vn,[I(t).isRegularFile(e)?(_(),H(M,{key:0,variant:`outlined`,size:`small`,color:`primary`,class:`files-action-btn`,"prepend-icon":`mdi-pencil-outline`,onClick:J(n=>I(t).editFile(e),[`stop`])},{default:C(()=>[...n[21]||=[G(` 编辑 `,-1)]]),_:1},8,[`onClick`])):U(``,!0),I(t).isRegularFile(e)?(_(),H(M,{key:1,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-eye-outline`,onClick:J(n=>I(t).previewFile(e),[`stop`])},{default:C(()=>[...n[22]||=[G(` 查看 `,-1)]]),_:1},8,[`onClick`])):U(``,!0),I(t).isRegularFile(e)?(_(),H(M,{key:2,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-download-outline`,onClick:J(n=>I(t).downloadFile(e),[`stop`])},{default:C(()=>[...n[23]||=[G(` 下载 `,-1)]]),_:1},8,[`onClick`])):U(``,!0),W(M,{variant:`outlined`,size:`small`,color:`error`,class:`files-action-btn`,"prepend-icon":`mdi-delete-outline`,onClick:J(n=>I(t).confirmDeleteFile(e),[`stop`])},{default:C(()=>[...n[24]||=[G(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"no-data":C(()=>[I(t).pageReady&&!I(t).loading&&!I(t).loadingVisible&&I(t).files.length===0?(_(),Y(`div`,Hn,[W(ze,{size:`40`,class:`mb-2`},{default:C(()=>[...n[25]||=[G(`mdi-folder-open-outline`,-1)]]),_:1}),Z(`div`,null,u(I(t).emptyHint),1),I(t).selectedServer?(_(),Y(`div`,Un,` 单击目录进入 · 双击文件编辑 · Ctrl+A 全选 · Ctrl+C/V 复制粘贴 `)):U(``,!0)])):U(``,!0)]),_:1},8,[`modelValue`,`items`,`headers`,`loading`,`items-per-page`,`items-per-page-options`,`row-props`])]),_:1},8,[`class`,`onDrop`]),W(Be,{modelValue:I(t).showContextMenu,"onUpdate:modelValue":n[19]||=e=>I(t).showContextMenu=e,target:[I(t).contextX,I(t).contextY],location:`bottom start`},{default:C(()=>[W(oe,{density:`compact`,nav:``},{default:C(()=>[I(t).contextFile&&I(t).contextFile.type===`directory`?(_(),H(f,{key:0,"prepend-icon":`mdi-folder-open`,onClick:n[4]||=e=>I(t).contextAction(`open`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[26]||=[G(`打开`,-1)]]),_:1})]),_:1})):U(``,!0),I(t).contextFile&&I(t).isRegularFile(I(t).contextFile)?(_(),H(f,{key:1,"prepend-icon":`mdi-pencil`,onClick:n[5]||=e=>I(t).contextAction(`edit`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[27]||=[G(`编辑`,-1)]]),_:1})]),_:1})):U(``,!0),I(t).contextFile&&I(t).isRegularFile(I(t).contextFile)?(_(),H(f,{key:2,"prepend-icon":`mdi-eye`,onClick:n[6]||=e=>I(t).contextAction(`preview`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[28]||=[G(`查看`,-1)]]),_:1})]),_:1})):U(``,!0),I(t).contextFile&&I(t).isRegularFile(I(t).contextFile)?(_(),H(f,{key:3,"prepend-icon":`mdi-download`,onClick:n[7]||=e=>I(t).contextAction(`download`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[29]||=[G(`下载`,-1)]]),_:1})]),_:1})):U(``,!0),I(t).contextFile?(_(),H(f,{key:4,"prepend-icon":`mdi-content-copy`,onClick:n[8]||=e=>I(t).contextAction(`copy`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[30]||=[G(`复制 (Ctrl+C)`,-1)]]),_:1})]),_:1})):U(``,!0),I(t).contextFile?(_(),H(f,{key:5,"prepend-icon":`mdi-content-cut`,onClick:n[9]||=e=>I(t).contextAction(`cut`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[31]||=[G(`剪切 (Ctrl+X)`,-1)]]),_:1})]),_:1})):U(``,!0),W(f,{"prepend-icon":`mdi-content-paste`,disabled:!I(t).canPasteHere,onClick:n[10]||=e=>I(t).contextAction(`paste`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[32]||=[G(`粘贴到当前目录 (Ctrl+V)`,-1)]]),_:1})]),_:1},8,[`disabled`]),I(t).contextFile?.type===`directory`&&I(t).canPasteHere?(_(),H(f,{key:6,"prepend-icon":`mdi-folder-arrow-down`,onClick:n[11]||=e=>I(t).contextAction(`pasteInto`)},{default:C(()=>[W(K,null,{default:C(()=>[G(`粘贴到「`+u(I(t).contextFile.name)+`」`,1)]),_:1})]),_:1})):U(``,!0),W(f,{"prepend-icon":`mdi-link-variant`,onClick:n[12]||=e=>I(t).contextAction(`copyPath`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[33]||=[G(`复制路径`,-1)]]),_:1})]),_:1}),W(f,{"prepend-icon":`mdi-console`,onClick:n[13]||=e=>I(t).contextAction(`terminal`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[34]||=[G(`终端`,-1)]]),_:1})]),_:1}),W(A),I(t).contextFile&&(I(t).isRegularFile(I(t).contextFile)||I(t).contextFile.type===`directory`)?(_(),H(f,{key:7,"prepend-icon":`mdi-zip-box`,onClick:n[14]||=e=>I(t).contextAction(`compress`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[35]||=[G(`压缩`,-1)]]),_:1})]),_:1})):U(``,!0),I(t).contextFile&&I(t).isArchiveName(I(t).contextFile.name)?(_(),H(f,{key:8,"prepend-icon":`mdi-package-up`,onClick:n[15]||=e=>I(t).contextAction(`decompress`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[36]||=[G(`解压`,-1)]]),_:1})]),_:1})):U(``,!0),W(A),W(f,{"prepend-icon":`mdi-file-rename-box`,onClick:n[16]||=e=>I(t).contextAction(`rename`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[37]||=[G(`重命名`,-1)]]),_:1})]),_:1}),W(f,{"prepend-icon":`mdi-lock`,onClick:n[17]||=e=>I(t).contextAction(`chmod`)},{default:C(()=>[W(K,null,{default:C(()=>[...n[38]||=[G(`修改权限`,-1)]]),_:1})]),_:1}),W(A),W(f,{"prepend-icon":`mdi-delete`,onClick:n[18]||=e=>I(t).contextAction(`delete`)},{default:C(()=>[W(K,{class:`text-error`},{default:C(()=>[...n[39]||=[G(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`target`])],64))}}),[[`__scopeId`,`data-v-964388ad`]]),Gn={class:`d-flex flex-wrap align-center justify-space-between ga-2`},Kn=z({__name:`FilesPermissionAlert`,setup(e){let t=ct();return(e,n)=>I(t).filesAccessHint?(_(),H(pe,{key:0,type:I(t).filesAccessHint.type,variant:`tonal`,closable:``,prominent:``,density:`comfortable`,class:`mb-4`,icon:`mdi-shield-lock-outline`,"onClick:close":I(t).dismissFilesAccessHint},{default:C(()=>[Z(`div`,Gn,[Z(`span`,null,u(I(t).filesAccessHint.text.split(`目标机安装示例`)[0].trim()),1),I(t).sshUserForFiles&&I(t).sshUserForFiles!==`root`?(_(),H(M,{key:0,size:`small`,variant:`flat`,color:`primary`,"prepend-icon":`mdi-auto-fix`,loading:I(t).setupSudoLoading,disabled:I(t).setupSudoDone,onClick:J(I(t).setupFilesSudo,[`stop`])},{default:C(()=>[G(u(I(t).setupSudoDone?`已配置`:`一键配置 sudo 权限`),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):U(``,!0)])]),_:1},8,[`type`,`onClick:close`])):U(``,!0)}}),qn={class:`text-caption text-medium-emphasis mb-2 d-flex flex-wrap align-center ga-2`},Jn=z({__name:`FilesStatusBar`,setup(e){let t=ct();return(e,n)=>(_(),Y(`div`,qn,[Z(`span`,null,u(I(t).statusSummary),1),I(t).browseError?(_(),H(x,{key:0,size:`x-small`,color:`warning`,variant:`tonal`},{default:C(()=>[G(u(I(t).browseError),1)]),_:1})):U(``,!0),I(t).hasClipboard?(_(),H(x,{key:1,size:`x-small`,color:`info`,variant:`tonal`,class:`cursor-pointer`,onClick:n[0]||=()=>I(t).pasteClipboard()},{default:C(()=>[G(u(I(t).clipboardSummary)+` → `+u(I(t).pasteDestLabel)+` · Ctrl+V 粘贴 `,1)]),_:1})):U(``,!0)]))}}),Yn=z({__name:`FilesToolbar`,setup(e){let t=ct();return(e,n)=>(_(),H(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:C(()=>[W(l,{align:`center`,dense:``},{default:C(()=>[W(c,{cols:`12`,sm:`4`},{default:C(()=>[W(o,{modelValue:I(t).selectedServer,"onUpdate:modelValue":[n[0]||=e=>I(t).selectedServer=e,I(t).onServerChange],items:I(t).serverList,"item-title":`name`,"item-value":`id`,label:`选择服务器`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-server`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`])]),_:1}),W(c,{cols:`12`,sm:`4`},{default:C(()=>[W(X,{modelValue:I(t).currentPath,"onUpdate:modelValue":n[1]||=e=>I(t).currentPath=e,label:`路径`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder`,"append-inner-icon":`mdi-arrow-right`,"onClick:appendInner":I(t).browseCurrent,onKeydown:he(I(t).browseCurrent,[`enter`])},null,8,[`modelValue`,`onClick:appendInner`,`onKeydown`])]),_:1}),W(c,{cols:`12`,sm:`3`},{default:C(()=>[W(X,{modelValue:I(t).fileFilter,"onUpdate:modelValue":n[2]||=e=>I(t).fileFilter=e,label:`筛选文件名`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-magnify`,clearable:``,"hide-details":``},null,8,[`modelValue`])]),_:1}),W(c,{cols:`12`,sm:`3`},{default:C(()=>[W(o,{modelValue:I(t).extFilter,"onUpdate:modelValue":n[3]||=e=>I(t).extFilter=e,items:I(t).FILE_EXT_FILTERS,"item-title":`title`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`,`items`])]),_:1}),W(c,{cols:`12`,sm:`2`},{default:C(()=>[W(o,{modelValue:I(t).sortBy,"onUpdate:modelValue":n[4]||=e=>I(t).sortBy=e,items:I(t).sortOptions,"item-title":`title`,"item-value":`value`,label:`排序`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),W(c,{cols:`12`,class:`d-flex ga-2 flex-wrap justify-end`},{default:C(()=>[W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-upload`,onClick:n[5]||=e=>I(t).showUpload=!0},{default:C(()=>[...n[10]||=[G(` 上传 `,-1)]]),_:1}),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-file-plus`,disabled:!I(t).selectedServer,onClick:n[6]||=e=>I(t).showNewFile=!0},{default:C(()=>[...n[11]||=[G(` 新建文件 `,-1)]]),_:1},8,[`disabled`]),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-folder-plus`,onClick:n[7]||=e=>I(t).showMkdir=!0},{default:C(()=>[...n[12]||=[G(` 新建目录 `,-1)]]),_:1}),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-zip-box`,disabled:!I(t).selectedServer||!I(t).selectedFileCount,onClick:n[8]||=e=>I(t).openCompressDialog()},{default:C(()=>[...n[13]||=[G(` 压缩 `,-1)]]),_:1},8,[`disabled`]),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-paste`,disabled:!I(t).canPasteHere,onClick:n[9]||=()=>I(t).pasteClipboard()},{default:C(()=>[...n[14]||=[G(` 粘贴 `,-1)]]),_:1},8,[`disabled`]),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-arrow-up`,disabled:!I(t).canGoUp,onClick:I(t).goUp},{default:C(()=>[...n[15]||=[G(` 上级 `,-1)]]),_:1},8,[`disabled`,`onClick`]),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-refresh`,onClick:I(t).browseCurrent},{default:C(()=>[...n[16]||=[G(`刷新`,-1)]]),_:1},8,[`onClick`]),W(M,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-console`,disabled:!I(t).selectedServer,onClick:I(t).openInTerminal},{default:C(()=>[...n[17]||=[G(` 终端 `,-1)]]),_:1},8,[`disabled`,`onClick`])]),_:1})]),_:1})]),_:1}))}}),Xn=F(null);function Zn(){let e=q(()=>Xn.value!==null),t=q(()=>Xn.value?`${Xn.value.mode===`cut`?`已剪切`:`已复制`} ${Xn.value.paths.length} 项`:``);function n(e,t,n){if(!n.length)return!1;let r=[...new Set(n.map(e=>Q(e)))];return Xn.value={mode:e,serverId:t,paths:r,label:r.map(e=>e.split(`/`).pop()||e).join(`, `)},!0}function r(){Xn.value=null}function i(e){return!!(Xn.value&&e&&Xn.value.serverId===e)}function a(e,t){let n=Q(t);for(let t of e){let e=Q(t);if(n===e)return`「${e.split(`/`).pop()||e}」与目标路径相同,无需粘贴`;if(n.startsWith(`${e}/`))return`不能粘贴到源目录「${e}」的内部`}return null}async function o(e){let t=Xn.value;if(!t)throw Error(`剪贴板为空`);let n=Q(e),i=a(t.paths,n);if(i)throw Error(i);let o=t.mode===`cut`?`move`:`copy`;await R.post(`/sync/file-clipboard`,{server_id:t.serverId,mode:o,sources:t.paths,dest_dir:n}),t.mode===`cut`&&r()}return{clipboard:Xn,hasClipboard:e,clipboardSummary:t,setFromSelection:n,clear:r,canPasteOnServer:i,validatePasteTarget:a,pasteToDirectory:o}}function Qn(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||e.isContentEditable}function $n(e,t,n){function r(r){if(!Qn(r.target)){if(r.key===`F5`){r.preventDefault(),e.refresh();return}if(r.key===`Backspace`){r.preventDefault(),e.goUp();return}if(r.key===`F2`&&t.value.length===1){r.preventDefault(),e.renameSelection();return}if(r.key===`Delete`&&t.value.length>0&&(r.preventDefault(),e.deleteSelection()),(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`a`){r.preventDefault(),e.selectAll();return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`c`){t.value.length>0&&(r.preventDefault(),e.copySelection());return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`x`){t.value.length>0&&(r.preventDefault(),e.cutSelection());return}(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`v`&&n.value&&(r.preventDefault(),e.pasteClipboard())}}se(()=>window.addEventListener(`keydown`,r)),h(()=>window.removeEventListener(`keydown`,r))}function er(e,t){return`${e}:${t}`}var tr=ne(`files`,()=>{let e=F(null),t=F(yt),n=F([]),r=F(!1),i=F(!1),a=F(``),o=F(null),s=F(null),c=F(!1),l=F(!1),u=F(!1),d=F(!1),f=F(!1),p=F(!1),m=new Map;function h(e){return Date.now()-e.at<=Nn}function g(e,t){return m.get(er(e,t))??null}function _(e,t){let n=g(e,t);return!n||!h(n)?null:n.items}function v(e,t){return g(e,t)?.etag}function y(e,t){let n=g(e,t);n&&(n.at=Date.now())}function b(e,t,n,r){let i=er(e,t),a=m.get(i);if(m.set(i,{items:n,at:Date.now(),etag:r??a?.etag}),m.size>50){let e=[...m.entries()].sort((e,t)=>e[1].at-t[1].at)[0];e&&m.delete(e[0])}}function x(e,t){if(e==null){m.clear();return}if(t==null){let t=`${e}:`;for(let e of[...m.keys()])e.startsWith(t)&&m.delete(e);return}m.delete(er(e,t))}function ee(){s.value=null,c.value=!1,u.value=!1}return{selectedServer:e,currentPath:t,files:n,loading:r,loadingVisible:i,browseError:a,filesCapability:o,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u,pageReady:d,routeReady:f,initing:p,getCacheEntry:g,getCached:_,getCachedEtag:v,touchCache:y,setCached:b,invalidateCache:x,resetForServerChange:ee}}),nr={directory:0,symlink:1,file:2};function rr(e,t,n){let r=n===`asc`?1:-1;return[...e].sort((e,n)=>{let i=nr[e.type]??9,a=nr[n.type]??9;if(i!==a)return i-a;let o=0;return o=t===`name`?e.name.localeCompare(n.name):t===`size`?(e.size??0)-(n.size??0):(e.modified??``).localeCompare(n.modified??``),o*r})}var ir=[{title:`全部`,value:``},{title:`.conf / .ini`,value:`conf,ini`},{title:`.log`,value:`log`},{title:`.sh`,value:`sh`},{title:`.py`,value:`py`},{title:`.json`,value:`json`},{title:`.yml / .yaml`,value:`yml,yaml`},{title:`.txt`,value:`txt`},{title:`.php`,value:`php`},{title:`.js / .ts`,value:`js,ts`}];function ar(e,t){if(!t)return!0;let n=e.toLowerCase();return t.split(`,`).some(e=>n.endsWith(`.${e.trim()}`))}function or(e){let t=e.toLowerCase();return t.endsWith(`.tar.gz`)||t.endsWith(`.tgz`)||t.endsWith(`.zip`)}var sr=300*1024,cr=2*1024*1024,lr=40,ur=4,dr=new Map;function fr(e,t){return`${e}:${Q(t)}`}function pr(e){let t=Q(e),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)||`/`}function mr(){dr.clear()}function hr(e,t){let n=Q(t);for(let t of[...dr.keys()]){if(!t.startsWith(`${e}:`)){dr.delete(t);continue}pr(t.slice(`${e}:`.length))!==n&&dr.delete(t)}}function gr(e,t){dr.delete(fr(e,t))}function _r(e){if(e.type!==`file`)return!1;let t=e.size??0;return t>0&&t<=307200}function vr(e){return e!=null&&e>0&&e>2097152}function yr(e){return typeof e==`string`?{content:e,mtime:null,etag:null,eol:`LF`}:{content:e.content??JSON.stringify(e,null,2),mtime:e.mtime??null,etag:e.etag??null,eol:e.eol??`LF`}}async function br(e,t,n=sr){let r=fr(e,t),i=dr.get(r);if(i!==void 0)return i;let a=yr(await R.post(`/sync/read-file`,{server_id:e,path:Q(t),max_size:n}));return dr.set(r,a),a}function xr(e,t,n){let r=n.filter(_r).sort((e,t)=>(e.size??0)-(t.size??0)).slice(0,lr);if(!r.length)return;let i=0,a=async()=>{for(;ia()))}function Sr(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}function Cr(e){let t=a(),{selectedServer:n,currentPath:r}=d(tr()),{selectedFiles:i,selectedAbsolutePaths:o,clearSelection:s}=e.selection,{setFromSelection:c,canPasteOnServer:l,pasteToDirectory:u}=Zn(),f=F(!1),p=F(!1),m=F(!1),h=F(``),g=F(!1),_=F(!1),v=F(``),y=F(`tar.gz`),b=F([]),x=F(!1),ee=F(``),S=F(`.`),C=F(!1),w=F([]),T=F(!1),E=F(``),D=e.actionLoading??F(!1),O=F(null),k=F(!1),A=F(``),j=F(null),M=F(!1),te=F(!1),ne=F(null),N=F(!1),re=F(0),P=F(0),ae=F(null);function oe(e){if(e)return Q(e);let t=i.value.filter(e=>e.type===`directory`);return t.length===1&&i.value.length===1?$(r.value,t[0].name):Q(r.value)}let se=q(()=>{let e=oe();return e===Q(r.value)?`当前目录`:e});function ce(e){if(!n.value)return;let r=o(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`copy`,n.value,r)&&t(`已复制 ${r.length} 项`)}function le(e){if(!n.value)return;let r=o(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`cut`,n.value,r)&&t(`已剪切 ${r.length} 项`)}async function ue(r){if(!n.value){t(`请先选择服务器`,`warning`);return}if(!l(n.value)){t(`剪贴板为空或服务器不一致`,`warning`);return}let i=oe(r);D.value=!0;try{await u(i),s(),e.invalidateAfterMutation(i),await e.browse({force:!0}),t(`已粘贴到 ${i}`)}catch(e){t(e instanceof Error?e.message:`粘贴失败`,`error`)}finally{D.value=!1}}async function de(e){if(f.value=!1,!n.value){t(`请先选择服务器`,`warning`);return}let r=e.dataTransfer?.files;r?.length&&(w.value=Array.from(r),await Se())}function fe(t){if(N.value=!1,!ae.value)return;let n=ae.value;switch(t){case`open`:e.openEntry(n);break;case`copy`:ce([n]);break;case`cut`:le([n]);break;case`paste`:ue();break;case`pasteInto`:n.type===`directory`&&ue($(r.value,n.name));break;case`edit`:e.editFile(n);break;case`preview`:e.previewFile(n);break;case`download`:V(n);break;case`copyPath`:I(n);break;case`terminal`:e.openInTerminal();break;case`compress`:pe([n]);break;case`decompress`:L(n);break;case`rename`:ge(n);break;case`chmod`:B(n);break;case`delete`:be(n);break}}async function I(e){let n=$(r.value,e.name);try{await navigator.clipboard.writeText(n),t(`路径已复制`)}catch{t(`复制失败`,`error`)}}function pe(e){if(!n.value)return;let a=e?.length?e:i.value.length?i.value:[];if(!a.length){t(`请选择要压缩的文件或目录`,`warning`);return}b.value=a.map(e=>$(r.value,e.name));let o=a.length===1?a[0].name.replace(/\.[^.]+$/,``):`archive`;v.value=$(r.value,`${o}.tar.gz`),y.value=`tar.gz`,_.value=!0}function L(e){if(n.value){if(!or(e.name)){t(`仅支持 .tar.gz / .tgz / .zip`,`warning`);return}ee.value=$(r.value,e.name),S.value=r.value,x.value=!0}}async function me(){if(!(!n.value||!b.value.length||!v.value)){D.value=!0;try{let r=v.value;y.value===`zip`&&!r.endsWith(`.zip`)&&(r=r.replace(/\.tar\.gz$/i,`.zip`),r.endsWith(`.zip`)||(r+=`.zip`)),await R.post(`/sync/compress`,{server_id:n.value,paths:b.value,dest:r,format:y.value}),_.value=!1,s(),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`压缩完成`)}catch(e){t(e instanceof Error?e.message:`压缩失败`,`error`)}finally{D.value=!1}}}async function z(){if(!(!n.value||!ee.value)){D.value=!0;try{await R.post(`/sync/decompress`,{server_id:n.value,path:ee.value,dest:S.value||`.`}),x.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`解压完成`)}catch(e){t(e instanceof Error?e.message:`解压失败`,`error`)}finally{D.value=!1}}}async function he(){if(!n.value||!h.value)return;let i=Ct(h.value);if(i!==!0){t(i,`warning`);return}let a=h.value,o=$(r.value,a);D.value=!0;try{await R.post(`/sync/write-file`,{server_id:n.value,path:o,content:``}),m.value=!1,h.value=``,gr(n.value,o),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`文件已创建`),await ie(),e.editorWorkbench.value?.openFile({path:o,name:a,content:``,eol:`LF`,etag:null,mtime:null})}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{D.value=!1}}function ge(e){j.value=e,A.value=e.name,k.value=!0}async function _e(){if(!(!n.value||!j.value||!A.value))try{await R.post(`/sync/file-ops`,{server_id:n.value,operation:`rename`,path:$(r.value,j.value.name),new_path:$(r.value,A.value)}),k.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`重命名成功`)}catch(e){t(e instanceof Error?e.message:`重命名失败`,`error`)}}function B(e){ne.value=e,M.value=!0}async function ve(i){if(!(!n.value||!ne.value)){te.value=!0;try{await R.post(`/sync/chmod`,{server_id:n.value,path:$(r.value,ne.value.name),mode:i.mode,owner:i.owner,group:i.group,recursive:i.recursive??!1}),M.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`权限已修改`)}catch(e){t(e instanceof Error?e.message:`修改权限失败`,`error`)}finally{te.value=!1}}}async function ye(){if(!n.value||!i.value.length||!confirm(`确定删除 ${i.value.length} 个文件?`))return;let a=0,o=0;for(let e of i.value)try{await R.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,e.name)}),a++}catch{o++}s(),e.invalidateAfterMutation(),await e.browse({force:!0}),o===0?t(`已删除 ${a} 项`):t(`删除完成:成功 ${a},失败 ${o}`,o>0?`warning`:`success`)}async function V(e){if(n.value)try{let i=$(r.value,e.name),{blob:a,filename:o}=await R.download(`/sync/download`,{server_id:n.value,path:i});Sr(a,o),t(`已下载 ${o}`)}catch(e){t(e instanceof Error?e.message:`下载失败`,`error`)}}async function be(e){O.value=e,C.value=!0}async function H(){if(!(!n.value||!O.value)){D.value=!0;try{await R.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,O.value.name)}),C.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`已删除`)}catch(e){t(e instanceof Error?e.message:`删除失败`,`error`)}finally{D.value=!1}}}async function xe(){if(!n.value||!E.value)return;let i=Ct(E.value);if(i!==!0){t(i,`warning`);return}D.value=!0;try{await R.post(`/sync/file-ops`,{server_id:n.value,operation:`mkdir`,path:$(r.value,E.value)}),g.value=!1,E.value=``,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`目录已创建`)}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{D.value=!1}}async function Se(){if(!(!n.value||!w.value.length)){T.value=!0;try{let i=new FormData;for(let e of w.value)i.append(`file`,e);i.append(`server_id`,String(n.value)),i.append(`remote_path`,r.value),await R.upload(`/sync/upload`,i),p.value=!1,w.value=[],e.invalidateAfterMutation(),await e.browse({force:!0}),t(`上传成功`)}catch(e){t(e instanceof Error?e.message:`上传失败`,`error`)}finally{T.value=!1}}}function U(e){return e instanceof HTMLElement?!!e.closest(`button, a, input, .v-checkbox, .v-selection-control`):!1}function Ce(e){let t=e.item;return{class:t.type===`directory`?`files-row--dir`:void 0,style:{cursor:t.type===`directory`||t.type===`symlink`?`pointer`:`default`},onClick:e=>{U(e.target)||e.detail===1&&we(e,{item:t})},onDblclick:e=>{U(e.target)||W(e,{item:t})},onContextmenu:e=>{U(e.target)||G(e,{item:t})}}}function we(t,{item:n}){(n.type===`directory`||n.type===`symlink`)&&e.openEntry(n)}function W(t,{item:n}){n.type===`file`&&e.editFile(n)}function G(e,{item:t}){e.preventDefault(),ae.value=t,re.value=e.clientX,P.value=e.clientY,N.value=!0}return{dropActive:f,showUpload:p,showNewFile:m,newFileName:h,showMkdir:g,showCompress:_,compressDest:v,compressFormat:y,compressPaths:b,showDecompress:x,decompressSource:ee,decompressDest:S,showFileDelete:C,uploadFiles:w,uploading:T,mkdirName:E,actionLoading:D,deletingFile:O,showRename:k,newName:A,renamingFile:j,showChmod:M,chmodLoading:te,chmodFile:ne,showContextMenu:N,contextX:re,contextY:P,contextFile:ae,copyToClipboard:ce,cutToClipboard:le,pasteClipboard:ue,onDropFiles:de,contextAction:fe,openCompressDialog:pe,openDecompressDialog:L,doCompress:me,doDecompress:z,doNewFile:he,startRename:ge,doRename:_e,startChmod:B,doChmod:ve,batchDelete:ye,downloadFile:V,confirmDeleteFile:be,doDeleteFile:H,doMkdir:xe,doUpload:Se,fileRowProps:Ce,pasteDestLabel:se}}var wr=!1;function Tr(){E(async()=>{let{initMonaco:e}=await import(`./initMonaco-CbTFLcUb.js`).then(e=>e.r);return{initMonaco:e}},__vite__mapDeps([0,1,2,3])).then(({initMonaco:t})=>{t(),e()})}function Er(){wr||(wr=!0,typeof requestIdleCallback==`function`?requestIdleCallback(Tr,{timeout:3e3}):setTimeout(Tr,300))}var Dr=200,Or=0,kr=null,Ar=``,jr=null;function Mr(e){return e.includes(`No such file or directory`)||e.includes(`not a directory`)}function Nr(e,t){return Mr(e)?`路径不存在:${t},请检查服务器「target_path」设置`:e.includes(`Permission denied`)||e.includes(`Operation not permitted`)?`无读取权限(${t})`:e.includes(`connection_error`)||e.includes(`SSH pool at capacity`)?`SSH 连接失败或连接池繁忙,请稍后点「刷新」重试`:e.includes(`timed out`)||e.includes(`timeout`)?`远程命令超时(${t}),请检查目标机负载或网络`:e}function Pr(e){e.loading=!0,!jr&&(jr=setTimeout(()=>{jr=null,e.loading&&(e.loadingVisible=!0)},Dr))}function Fr(e){e.loading=!1,jr&&=(clearTimeout(jr),null),e.loadingVisible=!1}async function Ir(e,t,n){let r={};n&&(r[`If-None-Match`]=n);try{return await de(`/files/browse`,{method:`GET`,params:{server_id:e,path:t},headers:r})}catch(n){if(!(n instanceof w&&(n.status>=500||n.status===404||n.status===405)))throw n;return{status:200,data:await R.post(`/sync/browse`,{server_id:e,path:t}),etag:null}}}function Lr(e){let t=a(),n=xe(),r=Le(),i=tr(),{selectedServer:o,currentPath:s,files:c,loading:l,loadingVisible:u,browseError:f,pageReady:p,filesCapability:m}=d(i);function h(){let e={...n.query};o.value?(e.server_id=String(o.value),e.path=s.value===`/www/wwwroot`?void 0:s.value):(delete e.server_id,delete e.path),r.replace({query:e})}let g=q(()=>p.value?o.value?f.value?f.value:e?.value.trim()?`无匹配文件`:m.value?.is_root?`目录为空(${s.value}),可在上方修改路径或到「服务器」核对 target_path`:`目录为空(${s.value})`:`请先选择服务器`:`正在加载…`);function _(e,n,r,a,o){if(o!==Or)return!1;let{items:l,error:u}=vt(r??{items:[]});if(u&&Mr(u)&&n!==`/`){f.value=``;let e=St(n);if(e)return t(`路径 "${n}" 不存在,已自动跳转到上级目录`,`info`),s.value=e,v(),!0}return f.value=u?Nr(u,n):``,u&&!Mr(u)&&t(Nr(u,n),`warning`),c.value=l,u||i.setCached(e,n,l,a??void 0),e&&l.length&&(hr(e,n),xr(e,n,l),Er()),!0}async function v(e){if(!o.value)return;let n=Q(s.value),r=o.value,a=`${r}:${n}`,l=e?.force?null:i.getCached(r,n);if(l&&(c.value=l,f.value=``),kr&&Ar===a)return kr;Ar=a;let u=++Or;Pr(i),s.value=n;let d=e?.force?void 0:i.getCachedEtag(r,n);return kr=(async()=>{try{let e=await Ir(r,n,d);if(u!==Or)return;if(e.status===304){let t=i.getCacheEntry(r,n);if(t){c.value=t.items,i.touchCache(r,n),f.value=``;return}if(e=await Ir(r,n),u!==Or)return}_(r,n,e.data,e.etag,u)}catch(e){if(u!==Or)return;let n=$e(e,`浏览目录失败`);f.value=n,t(n,`error`)}finally{u===Or&&(Fr(i),h()),Ar===a&&(kr=null,Ar=``)}})(),kr}function y(){if(!o.value){t(`请先选择服务器`,`warning`);return}s.value=Q(s.value),i.invalidateCache(o.value,s.value),v({force:!0})}function b(e){if(!o.value)return;let t=e??s.value;i.invalidateCache(o.value,Q(t)),mr()}return{emptyHint:g,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:u}}function Rr(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`:`—`}function zr(e){let t=a(),{selectedServer:n,currentPath:r,lastReadDeniedPath:i,accessHintDismissed:o}=d(tr()),s=F(!1),c=F(``),l=F(``),u=F(!1),f=F(null);async function p(){let e=Date.now()+8e3;for(;Date.now()setTimeout(e,40)),await ie()}return f.value}function m(e,n){return vr(e.size)?(t(`文件超过 2MB(${Rr(e.size)}),无法${n},请下载或使用终端`,`warning`),!0):!1}function h(t){n.value&&t&&gr(n.value,t),e.invalidateAfterMutation(),e.browse({force:!0})}async function g(e){if(!n.value||m(e,`查看`))return;let a=$(r.value,e.name);c.value=e.name,l.value=``,u.value=!0,s.value=!0,(e.size??0)>307200&&t(`文件较大(${Rr(e.size)}),正在加载…`,`info`);try{l.value=(await br(n.value,a,2097152)).content||`(空文件)`}catch(n){let r=n instanceof Error?n.message:`读取失败`;l.value=r,an(r)&&(i.value=e.name,o.value=!1),t(r,`error`)}finally{u.value=!1}}async function _(a){if(n.value&&!m(a,`编辑`)){(a.size??0)>307200&&t(`文件较大(${Rr(a.size)}),正在加载…`,`info`),e.actionLoading.value=!0;try{let e=$(r.value,a.name),i=await br(n.value,e,cr),o=await p();if(!o){t(`编辑器尚未就绪,请稍后重试`,`error`);return}o.openFile({path:e,name:a.name,content:i.content,eol:i.eol,etag:i.etag,mtime:i.mtime})}catch(e){let n=e instanceof Error?e.message:`读取失败`;an(n)&&(i.value=a.name,o.value=!1),t(n,`error`)}finally{e.actionLoading.value=!1}}}return{showPreview:s,previewTitle:c,previewContent:l,previewLoading:u,editorWorkbench:f,previewFile:g,editFile:_,onEditorSaved:h,formatSize:Rr}}function Br(e){let t=a(),n=xe(),r=Le(),{servers:i,loadServers:o}=et(),s=tr(),{selectedServer:c,currentPath:l,pageReady:u,routeReady:f,initing:p,accessHintDismissed:m}=d(s),h=q(()=>wt(l.value)),g=q(()=>St(l.value)!==null);function _(e){if(e==null)return yt;let t=i.value.find(t=>t.id===e)?.target_path?.trim();return t?Q(t):yt}function v(){let e=n.query.path;return typeof e==`string`&&e.trim()?Q(e):_(c.value)}function y(){let e=n.query.server_id;if(e){let t=Number(e);if(Number.isFinite(t)&&i.value.some(e=>e.id===t))return t}let t=sessionStorage.getItem(An);if(t){let e=Number(t);if(Number.isFinite(e)&&i.value.some(t=>t.id===e))return e}return i.value[0]?.id??null}function b(n){if(!c.value){t(`请先选择服务器`,`warning`);return}l.value=Q(n),e.clearSelection(),e.browse()}function x(e){if(e.type===`directory`){b($(l.value,e.name));return}if(e.type===`symlink`){let n=e.link_target?.trim();n?.startsWith(`/`)?b(n):t(n?`符号链接 → ${n}`:`相对符号链接(请在终端中打开)`,`info`)}}function ee(){let e=St(l.value);e!=null&&b(e)}function S(e){let t=h.value[e];t&&!t.disabled&&b(t.path)}function C(){c.value&&r.push({path:`/terminal`,query:{server_id:String(c.value),path:l.value||`/`}})}function w(){p.value||(c.value&&sessionStorage.setItem(An,String(c.value)),s.invalidateCache(),l.value=_(c.value),e.clearSelection(),s.resetForServerChange(),sessionStorage.removeItem(jn),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}return se(async()=>{p.value=!0;try{if(await o(),sessionStorage.getItem(`nexus:files-hint-dismissed`)&&(m.value=!0),!i.value.length){t(`暂无可用服务器,请先在「服务器」页添加`,`warning`),u.value=!0;return}let r=y();if(r==null){u.value=!0;return}c.value=r;let a=n.query.path;l.value=typeof a==`string`&&a?Q(a):_(r),await e.refreshFilesCapability(),await e.browse(),u.value=!0,f.value=!0}finally{p.value=!1}}),j(()=>n.query.server_id,t=>{f.value&&t&&Number(t)!==c.value&&(c.value=Number(t),l.value=v(),s.resetForServerChange(),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}),j(()=>n.query.path,()=>{if(!f.value||!c.value)return;let t=v();t!==Q(l.value)&&(l.value=t,e.clearSelection(),e.browse())}),{serverList:i,breadcrumbs:h,canGoUp:g,navigateToPath:b,openEntry:x,goUp:ee,onBreadcrumbClick:S,openInTerminal:C,onServerChange:w,defaultPathForServer:_}}function Vr(e){let t=a(),{selectedServer:n,files:r,browseError:i,filesCapability:o,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u}=d(tr()),f=q(()=>o.value?.ssh_user??null),p=q(()=>{let e=f.value;return e?r.value.filter(t=>on(t,e)).length:0}),m=q(()=>{if(c.value||!n.value||i.value&&Mr(i.value))return null;let e=o.value;return cn({sshUser:e?.ssh_user,canSudo:e?.can_sudo_nopasswd??!1,whitelistOk:e?.whitelist_ok??!1,isRootSsh:e?.is_root??!1,filesElevation:e?.files_elevation,capabilityMessage:e?.message,lastReadDeniedPath:s.value,unreadableCount:p.value})});function h(){c.value=!0,sessionStorage.setItem(jn,`1`)}async function g(){if(!n.value){o.value=null;return}try{o.value=await R.get(`/servers/${n.value}/files-capability`)}catch{o.value=null}}async function _(){if(n.value){l.value=!0;try{let r=await R.post(`/servers/${n.value}/setup-files-sudo`,{});u.value=!0,t(r.message||`sudoers 配置成功,文件管理器现在可自动提权`,`success`),h(),await g(),await e.browse({force:!0})}catch(e){t(`一键配置失败:${e instanceof Error?e.message:`配置失败`}`,`error`)}finally{l.value=!1}}}return{sshUserForFiles:f,filesAccessHint:m,dismissFilesAccessHint:h,refreshFilesCapability:g,setupFilesSudo:_}}function Hr(){let{currentPath:e}=d(tr()),t=F([]),n=q(()=>t.value.length);function r(){t.value=[]}function i(n){return(n?.length?n:t.value).map(t=>$(e.value,t.name))}return{selectedFiles:t,selectedFileCount:n,clearSelection:r,selectedAbsolutePaths:i}}function Ur(){let e=F(``),t=F(``),n=F(`name`),r=[{title:`名称`,value:`name`},{title:`大小`,value:`size`},{title:`修改时间`,value:`modified`}],{selectedServer:i,currentPath:a,files:o,loading:s,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f}=d(tr()),p=Hr(),{selectedFiles:m,selectedFileCount:h,clearSelection:g}=p,{emptyHint:_,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:x}=Lr(e),ee=Vr({browse:v}),{sshUserForFiles:S,filesAccessHint:C,dismissFilesAccessHint:w,setupFilesSudo:T}=ee,E=Br({browse:v,refreshFilesCapability:ee.refreshFilesCapability,clearSelection:g}),D=F(!1),O=zr({browse:v,invalidateAfterMutation:b,actionLoading:D}),k=Cr({browse:v,invalidateAfterMutation:b,selection:p,openEntry:E.openEntry,editFile:O.editFile,previewFile:O.previewFile,openInTerminal:E.openInTerminal,editorWorkbench:O.editorWorkbench,actionLoading:D}),{hasClipboard:A,clipboardSummary:j,canPasteOnServer:M}=Zn(),te=q(()=>M(i.value)),ne=q(()=>{let r=rr(o.value,n.value,`asc`),i=t.value;i&&(r=r.filter(e=>ar(e.name,i)));let a=e.value.trim().toLowerCase();return a&&(r=r.filter(e=>e.name.toLowerCase().includes(a))),r}),N=q(()=>{let e=o.value.filter(e=>e.type===`directory`).length,t=o.value.filter(e=>e.type===`file`).length,n=o.value.filter(e=>e.type===`symlink`).length,r=o.value.filter(_r).length,i=[`${e} 个目录`,`${t} 个文件`];return n&&i.push(`${n} 个链接`),r&&i.push(`${r} 个 ≤300KB 可预加载`),`${i.join(`,`)} · ${a.value}`});function re(e){return or(e)}function P(e){return e.type===`directory`?`mdi-folder`:e.type===`symlink`?`mdi-link-variant`:`mdi-file-outline`}function ie(e){return e.type===`directory`?`amber`:e.type===`symlink`?`teal`:`blue`}function ae(e){return e.type===`file`}return $n({refresh:y,goUp:E.goUp,renameSelection:()=>{m.value.length===1&&k.startRename(m.value[0])},deleteSelection:()=>{m.value.length>0&&k.batchDelete()},selectAll:()=>{m.value=[...ne.value]},copySelection:()=>k.copyToClipboard(),cutSelection:()=>k.cutToClipboard(),pasteClipboard:()=>{k.pasteClipboard()}},m,te),{FILE_EXT_FILTERS:ir,validatePathSegment:Ct,required:tt,fileFilter:e,extFilter:t,sortBy:n,sortOptions:r,selectedServer:i,currentPath:a,files:o,loading:s,loadingVisible:x,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f,serverList:E.serverList,onServerChange:E.onServerChange,browseCurrent:y,filesAccessHint:C,dismissFilesAccessHint:w,setupFilesSudo:T,sshUserForFiles:S,statusSummary:N,hasClipboard:A,clipboardSummary:j,pasteDestLabel:k.pasteDestLabel,canPasteHere:te,breadcrumbs:E.breadcrumbs,onBreadcrumbClick:E.onBreadcrumbClick,canGoUp:E.canGoUp,goUp:E.goUp,selectedFiles:m,selectedFileCount:h,displayedFiles:ne,fileHeaders:[{title:`名称`,key:`name`},{title:`归属`,key:`owner`,width:110,sortable:!1},{title:`大小`,key:`size`,width:120},{title:`修改时间`,key:`modified`,width:180},{title:`操作`,key:`actions`,width:300,sortable:!1,align:`end`}],fileRowProps:k.fileRowProps,dropActive:k.dropActive,onDropFiles:k.onDropFiles,emptyHint:_,entryIcon:P,entryIconColor:ie,isEntryLikelyUnreadable:on,formatOwnerChip:$t,ownerChipColor:en,permissionTooltip:tn,formatSize:O.formatSize,isRegularFile:ae,isArchiveName:re,showUpload:k.showUpload,uploadFiles:k.uploadFiles,uploading:k.uploading,doUpload:k.doUpload,showNewFile:k.showNewFile,newFileName:k.newFileName,doNewFile:k.doNewFile,showMkdir:k.showMkdir,mkdirName:k.mkdirName,doMkdir:k.doMkdir,showFileDelete:k.showFileDelete,deletingFile:k.deletingFile,doDeleteFile:k.doDeleteFile,showRename:k.showRename,newName:k.newName,doRename:k.doRename,showChmod:k.showChmod,chmodFile:k.chmodFile,chmodLoading:k.chmodLoading,doChmod:k.doChmod,showCompress:k.showCompress,compressDest:k.compressDest,compressFormat:k.compressFormat,compressPaths:k.compressPaths,doCompress:k.doCompress,showDecompress:k.showDecompress,decompressSource:k.decompressSource,decompressDest:k.decompressDest,doDecompress:k.doDecompress,showContextMenu:k.showContextMenu,contextX:k.contextX,contextY:k.contextY,contextFile:k.contextFile,contextAction:k.contextAction,actionLoading:D,batchDelete:k.batchDelete,openCompressDialog:k.openCompressDialog,showPreview:O.showPreview,previewTitle:O.previewTitle,previewContent:O.previewContent,previewLoading:O.previewLoading,editorWorkbench:O.editorWorkbench,onEditorSaved:O.onEditorSaved,navigateToPath:E.navigateToPath,pasteClipboard:k.pasteClipboard,editFile:O.editFile,previewFile:O.previewFile,downloadFile:k.downloadFile,confirmDeleteFile:k.confirmDeleteFile,openInTerminal:E.openInTerminal}}var Wr=z({__name:`FilesPage`,setup(e){let t=Ur();st(t);let{editorWorkbench:n}=t,{selectedServer:r,currentPath:i}=d(tr());return(e,a)=>(_(),H(s,{fluid:``,class:`pa-6`},{default:C(()=>[W(Yn),W(Kn),W(Jn),W(gt),W(Wn),W(kn),W(Zt,{ref_key:`editorWorkbench`,ref:n,"server-id":I(r)??0,"current-path":I(i),onSaved:a[0]||=e=>I(t).onEditorSaved(e),onPathChange:I(t).navigateToPath,onPasteTarget:I(t).pasteClipboard},null,8,[`server-id`,`current-path`,`onPathChange`,`onPasteTarget`])]),_:1}))}});export{Wr as default}; \ No newline at end of file diff --git a/web/app/assets/LoginPage-s5chNIa7.js b/web/app/assets/LoginPage-s5chNIa7.js new file mode 100644 index 00000000..7f731f1d --- /dev/null +++ b/web/app/assets/LoginPage-s5chNIa7.js @@ -0,0 +1 @@ +import{$r as e,Cn as t,Dr as n,Er as r,F as i,Ir as a,Jt as o,Pr as s,Q as c,Qr as l,R as u,Sn as d,Tr as f,Ur as p,Yt as m,Z as h,Zr as g,Zt as _,_r as v,c as y,dr as b,en as x,fr as S,gr as C,hr as w,l as T,lr as E,mn as D,or as O,pr as k,qt as A,t as j,tn as M,ur as N,y as P,yn as F}from"./index-C6qJAv49.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";var L=t({...d(),...T()},`VForm`),R=F()({name:`VForm`,props:L(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,{slots:t,emit:n}){let r=y(e),i=p();function a(e){e.preventDefault(),r.reset()}function o(e){let t=e,a=r.validate();t.then=a.then.bind(a),t.catch=a.catch.bind(a),t.finally=a.finally.bind(a),n(`submit`,t),t.defaultPrevented||a.then(({valid:e})=>{e&&i.value?.submit()}),t.preventDefault()}return D(()=>N(`form`,{ref:i,class:g([`v-form`,e.class]),style:l(e.style),novalidate:!0,onReset:a,onSubmit:o},[t.default?.({get errors(){return r.errors.value},get isDisabled(){return r.isDisabled.value},get isReadonly(){return r.isReadonly.value},get isValidating(){return r.isValidating.value},get isValid(){return r.isValid.value},get items(){return r.items.value},validate:r.validate,reset:r.reset,resetValidation:r.resetValidation})])),P(r,i)}}),z={class:`login-page`},B={class:`login-center`},V={key:2,class:`text-center mt-4`},H=I(v({__name:`LoginPage`,setup(t){let d=x(),g=M(),v=A(),y=p(``),T=p(``),D=p(``),P=p(!1),F=p(!1),I=p(``),L=p(!1),H=p(0),U=p(null),W=p([]),G=p(0),K=null,q=E(()=>W.value.length===0?``:W.value[G.value]);async function J(){try{let e=await _.get(`/settings/bing-wallpapers`);e?.urls?.length&&(W.value=e.urls,G.value=Math.floor(Math.random()*e.urls.length))}catch{}}function Y(){K&&clearInterval(K),!(W.value.length<=1)&&(K=setInterval(()=>{G.value=(G.value+1)%W.value.length},36e5))}f(async()=>{await J(),Y()}),r(()=>{K&&clearInterval(K),Z&&clearInterval(Z)});let X=p(Date.now()),Z=null,Q=E(()=>{if(!U.value)return 0;let e=new Date(U.value).getTime()-X.value;return Math.max(0,Math.ceil(e/6e4))});s(U,e=>{Z&&=(clearInterval(Z),null),e&&(Z=setInterval(()=>{X.value=Date.now()},3e4))});async function $(){if(!y.value||!T.value){I.value=`请输入用户名和密码`;return}F.value=!0,I.value=``;try{await v.login(y.value,T.value,L.value?D.value:void 0);let e=d.query.redirect||`/`,t=e.startsWith(`/`)&&!e.startsWith(`//`)?e:`/`;g.push(t)}catch(e){e instanceof m?(L.value=!0,I.value=e.message):e instanceof o?e.status===429?(U.value=new Date(Date.now()+900*1e3).toISOString(),I.value=`登录尝试过多,账户已锁定 15 分钟`):(H.value++,I.value=e.message):I.value=`网络错误,请重试`}finally{F.value=!1}}return(t,r)=>(n(),k(`div`,z,[N(`div`,{class:`wallpaper-bg`,style:l({backgroundImage:`url(${q.value})`})},null,4),r[6]||=N(`div`,{class:`wallpaper-overlay`},null,-1),N(`div`,B,[C(u,{elevation:`0`,rounded:`xl`,class:`login-card pa-10`,border:``},{default:a(()=>[I.value?(n(),b(h,{key:0,type:`error`,density:`compact`,class:`mb-4`,closable:``,"onClick:close":r[0]||=e=>I.value=``,rounded:`lg`,variant:`tonal`},{default:a(()=>[w(e(I.value),1)]),_:1})):S(``,!0),U.value?(n(),b(h,{key:1,type:`warning`,density:`compact`,class:`mb-4`,rounded:`lg`,variant:`tonal`},{default:a(()=>[w(` 账户已锁定,请 `+e(Q.value)+` 分钟后重试 `,1)]),_:1})):S(``,!0),C(R,{onSubmit:O($,[`prevent`])},{default:a(()=>[C(j,{modelValue:y.value,"onUpdate:modelValue":r[1]||=e=>y.value=e,label:`用户名`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-account-outline`,disabled:F.value,class:`mb-4`,autocomplete:`username`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`]),C(j,{modelValue:T.value,"onUpdate:modelValue":r[2]||=e=>T.value=e,label:`密码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-lock-outline`,"append-inner-icon":P.value?`mdi-eye`:`mdi-eye-off`,type:P.value?`text`:`password`,"onClick:appendInner":r[3]||=e=>P.value=!P.value,disabled:F.value,class:`mb-4`,autocomplete:`current-password`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`append-inner-icon`,`type`,`disabled`]),L.value?(n(),b(j,{key:0,modelValue:D.value,"onUpdate:modelValue":r[4]||=e=>D.value=e,label:`TOTP 验证码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-shield-key-outline`,disabled:F.value,class:`mb-4`,autocomplete:`one-time-code`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`])):S(``,!0),C(c,{type:`submit`,color:`primary`,variant:`flat`,block:``,size:`large`,loading:F.value,disabled:!!U.value,rounded:`lg`,class:`mt-2`,height:`48`},{default:a(()=>[...r[5]||=[w(` 登录 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1}),H.value>0&&!U.value?(n(),k(`div`,V,[C(i,{size:`small`,variant:`tonal`,color:`warning`,label:``},{default:a(()=>[w(` 已失败 `+e(H.value)+` 次 `,1)]),_:1})])):S(``,!0)]),_:1})])]))}}),[[`__scopeId`,`data-v-c0c6156f`]]);export{H as default}; \ No newline at end of file diff --git a/web/app/assets/PushPage-oiokaBkp.js b/web/app/assets/PushPage-oiokaBkp.js new file mode 100644 index 00000000..cb66d538 --- /dev/null +++ b/web/app/assets/PushPage-oiokaBkp.js @@ -0,0 +1 @@ +import{a as e}from"./VDataTable-B6PKw1TS.js";import{_ as t,d as n,g as r,h as i,m as a,p as o,t as s,v as c}from"./VSelect-Dy1HeCdk.js";import{n as l,t as u}from"./VRow-CamZ4OJs.js";import{$r as d,A as f,B as p,Cn as m,Dr as h,Er as g,F as _,Fn as v,H as y,Hr as b,Ir as x,Mr as S,N as C,P as w,Pr as T,Q as E,R as D,T as O,Tr as ee,Ur as k,V as te,Yn as A,Yr as j,Z as M,Zr as N,Zt as P,_r as F,ar as ne,dn as re,dr as I,fr as L,gr as R,h as ie,hr as z,kr as B,lr as V,mn as ae,mr as oe,o as se,or as H,ot as U,pn as ce,pr as W,qt as le,s as ue,sr as G,t as K,ur as q,ut as J,xr as de,y as fe,yn as pe,z as Y}from"./index-C6qJAv49.js";import{t as me}from"./VCheckbox-Nzkf754R.js";import{t as he}from"./VDataTableServer-Dh4BHVrk.js";import{a as ge,c as _e,i as ve,l as X,n as ye,o as be,r as Z,s as xe,t as Se}from"./labels-CzOhyWto.js";import{t as Q}from"./VDialog-P-nMQayc.js";import{t as Ce}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as we}from"./wsUrl-CqmqkTTE.js";var Te={key:0},Ee={style:{width:`44px`}},De={key:0},Oe={colspan:`4`},ke={key:1},Ae=[`onClick`],je={class:`text-end text-caption text-medium-emphasis`},Me={class:`text-end`},Ne={class:`mb-2`},Pe={class:`delete-target-list pl-4 mb-0`},Fe={key:0},Ie=Ce(F({__name:`PushStagingPanel`,props:{rootPath:{},relativePath:{},entries:{},loading:{type:Boolean},selectedCount:{},allSelected:{type:Boolean},someSelected:{type:Boolean},isSelected:{type:Function},renameOpen:{type:Boolean},renameValue:{},renameLoading:{type:Boolean},deleteOpen:{type:Boolean},deleteTargets:{},deleteLoading:{type:Boolean}},emits:[`refresh`,`go-root`,`open-dir`,`preview`,`rename`,`delete`,`batch-delete`,`toggle-select`,`toggle-select-all`,`confirm-rename`,`confirm-delete`,`update:renameOpen`,`update:renameValue`,`update:deleteOpen`],setup(t){return(r,i)=>(h(),W(G,null,[R(D,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:x(()=>[R(p,{class:`d-flex align-center text-subtitle-1 flex-wrap ga-2`},{default:x(()=>[i[14]||=z(` 暂存文件 `,-1),R(C),t.selectedCount>0?(h(),I(E,{key:0,size:`small`,variant:`tonal`,color:`error`,"prepend-icon":`mdi-delete`,loading:t.deleteLoading,onClick:i[0]||=e=>r.$emit(`batch-delete`)},{default:x(()=>[z(` 删除选中 (`+d(t.selectedCount)+`) `,1)]),_:1},8,[`loading`])):L(``,!0),R(E,{size:`small`,variant:`text`,"prepend-icon":`mdi-refresh`,loading:t.loading,onClick:i[1]||=e=>r.$emit(`refresh`)},{default:x(()=>[...i[13]||=[z(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),R(te,{class:`text-caption pb-2`},{default:x(()=>[z(d(t.rootPath)+` `,1),t.relativePath?(h(),W(`span`,Te,` / `+d(t.relativePath),1)):L(``,!0)]),_:1}),R(w),R(Y,{class:`pa-0`},{default:x(()=>[t.loading?(h(),I(U,{key:0,indeterminate:``})):(h(),I(e,{key:1,density:`compact`,hover:``},{default:x(()=>[q(`thead`,null,[q(`tr`,null,[q(`th`,Ee,[R(n,{"model-value":t.allSelected,indeterminate:t.someSelected,disabled:!t.entries.length,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[2]||=e=>r.$emit(`toggle-select-all`,e)},null,8,[`model-value`,`indeterminate`,`disabled`])]),i[15]||=q(`th`,null,`名称`,-1),i[16]||=q(`th`,{class:`text-end`,style:{width:`100px`}},`大小`,-1),i[17]||=q(`th`,{class:`text-end`,style:{width:`160px`}},`操作`,-1)])]),q(`tbody`,null,[t.relativePath?(h(),W(`tr`,De,[q(`td`,Oe,[R(E,{size:`small`,variant:`text`,"prepend-icon":`mdi-arrow-up`,onClick:i[3]||=e=>r.$emit(`go-root`)},{default:x(()=>[...i[18]||=[z(` 返回根目录 `,-1)]]),_:1})])])):L(``,!0),t.entries.length?L(``,!0):(h(),W(`tr`,ke,[...i[19]||=[q(`td`,{colspan:`4`,class:`text-medium-emphasis text-center py-4`},`目录为空`,-1)]])),(h(!0),W(G,null,B(t.entries,e=>(h(),W(`tr`,{key:e.name},[q(`td`,{onClick:i[4]||=H(()=>{},[`stop`])},[R(n,{"model-value":t.isSelected(e.name),density:`compact`,"hide-details":``,"onUpdate:modelValue":t=>r.$emit(`toggle-select`,e.name,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),q(`td`,null,[q(`div`,{class:N([`d-flex align-center`,{"cursor-pointer":e.is_dir}]),onClick:t=>e.is_dir?r.$emit(`open-dir`,e):void 0},[R(J,{size:`small`,class:`mr-2`,color:e.is_dir?`primary`:void 0},{default:x(()=>[z(d(e.is_dir?`mdi-folder`:`mdi-file-outline`),1)]),_:2},1032,[`color`]),q(`span`,null,d(e.name),1)],10,Ae)]),q(`td`,je,d(e.is_dir?`—`:j(Z)(e.size)),1),q(`td`,Me,[e.is_dir?L(``,!0):(h(),I(E,{key:0,size:`x-small`,variant:`text`,onClick:t=>r.$emit(`preview`,e)},{default:x(()=>[...i[20]||=[z(` 预览 `,-1)]]),_:1},8,[`onClick`])),R(E,{size:`x-small`,variant:`text`,onClick:t=>r.$emit(`rename`,e)},{default:x(()=>[...i[21]||=[z(`重命名`,-1)]]),_:1},8,[`onClick`]),R(E,{size:`x-small`,variant:`text`,color:`error`,onClick:t=>r.$emit(`delete`,e)},{default:x(()=>[...i[22]||=[z(`删除`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1}))]),_:1})]),_:1}),R(Q,{"model-value":t.renameOpen,"max-width":`420`,"onUpdate:modelValue":i[9]||=e=>r.$emit(`update:renameOpen`,e)},{default:x(()=>[R(D,{border:``},{default:x(()=>[R(p,null,{default:x(()=>[...i[23]||=[z(`重命名`,-1)]]),_:1}),R(Y,null,{default:x(()=>[R(K,{"model-value":t.renameValue,label:`新名称`,variant:`outlined`,density:`compact`,"hide-details":``,autofocus:``,"onUpdate:modelValue":i[5]||=e=>r.$emit(`update:renameValue`,e),onKeydown:i[6]||=ne(H(e=>r.$emit(`confirm-rename`),[`prevent`]),[`enter`])},null,8,[`model-value`])]),_:1}),R(y,null,{default:x(()=>[R(C),R(E,{variant:`text`,onClick:i[7]||=e=>r.$emit(`update:renameOpen`,!1)},{default:x(()=>[...i[24]||=[z(`取消`,-1)]]),_:1}),R(E,{color:`primary`,variant:`flat`,loading:t.renameLoading,onClick:i[8]||=e=>r.$emit(`confirm-rename`)},{default:x(()=>[...i[25]||=[z(`确定`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]),R(Q,{"model-value":t.deleteOpen,"max-width":`480`,"onUpdate:modelValue":i[12]||=e=>r.$emit(`update:deleteOpen`,e)},{default:x(()=>[R(D,{border:``},{default:x(()=>[R(p,null,{default:x(()=>[...i[26]||=[z(`确认删除`,-1)]]),_:1}),R(Y,null,{default:x(()=>[t.deleteTargets.length===1?(h(),W(G,{key:0},[z(` 确定删除「`+d(t.deleteTargets[0].name)+`」?`+d(t.deleteTargets[0].is_dir?`将删除整个目录及其内容。`:``),1)],64)):(h(),W(G,{key:1},[q(`div`,Ne,`确定删除以下 `+d(t.deleteTargets.length)+` 项?`,1),q(`ul`,Pe,[(h(!0),W(G,null,B(t.deleteTargets.slice(0,8),e=>(h(),W(`li`,{key:e.name},d(e.name)+d(e.is_dir?`(目录)`:``),1))),128)),t.deleteTargets.length>8?(h(),W(`li`,Fe,`… 等共 `+d(t.deleteTargets.length)+` 项`,1)):L(``,!0)])],64))]),_:1}),R(y,null,{default:x(()=>[R(C),R(E,{variant:`text`,onClick:i[10]||=e=>r.$emit(`update:deleteOpen`,!1)},{default:x(()=>[...i[27]||=[z(`取消`,-1)]]),_:1}),R(E,{color:`error`,variant:`flat`,loading:t.deleteLoading,onClick:i[11]||=e=>r.$emit(`confirm-delete`)},{default:x(()=>[z(d(t.deleteTargets.length>1?`删除 ${t.deleteTargets.length} 项`:`删除`),1)]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`])],64))}}),[[`__scopeId`,`data-v-5939ddcd`]]),Le={key:0,class:`text-caption text-medium-emphasis ml-2`},Re={class:`staging-preview-body`},ze=Ce(F({__name:`PushStagingPreviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},result:{}},emits:[`update:modelValue`],setup(e){let t=e,n=V(()=>{let e=t.result;if(!e?.content_base64)return``;try{let t=atob(e.content_base64);return e.encoding_hint===`text`?t:e.content_base64}catch{return e.content_base64}});return(t,r)=>(h(),I(Q,{"model-value":e.modelValue,"max-width":`720`,"onUpdate:modelValue":r[1]||=e=>t.$emit(`update:modelValue`,e)},{default:x(()=>[R(D,{border:``},{default:x(()=>[R(p,{class:`text-subtitle-1`},{default:x(()=>[z(d(e.result?.name??`文件预览`)+` `,1),e.result?(h(),W(`span`,Le,` (`+d(j(Z)(e.result.size))+`) `,1)):L(``,!0)]),_:1}),R(Y,null,{default:x(()=>[e.loading?(h(),I(U,{key:0,indeterminate:``,class:`mb-3`})):e.result?(h(),W(G,{key:1},[e.result.truncated?(h(),I(M,{key:0,type:`info`,density:`compact`,variant:`tonal`,class:`mb-2`},{default:x(()=>[...r[2]||=[z(` 仅显示前 4KB 内容 `,-1)]]),_:1})):L(``,!0),e.result.encoding_hint===`text`?L(``,!0):(h(),I(M,{key:1,type:`warning`,density:`compact`,variant:`tonal`,class:`mb-2`},{default:x(()=>[...r[3]||=[z(` 二进制文件,以下为 Base64 片段 `,-1)]]),_:1})),q(`pre`,Re,d(n.value),1)],64)):L(``,!0)]),_:1}),R(y,null,{default:x(()=>[R(C),R(E,{variant:`text`,onClick:r[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:x(()=>[...r[4]||=[z(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-adb4800a`]]),Be=F({__name:`PushDiagnoseDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},result:{},targetName:{}},emits:[`update:modelValue`],setup(e){return(t,n)=>(h(),I(Q,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:x(()=>[R(D,{border:``},{default:x(()=>[R(p,null,{default:x(()=>[z(`推送失败诊断 — `+d(e.targetName),1)]),_:1}),R(Y,null,{default:x(()=>[e.loading?(h(),I(U,{key:0,indeterminate:``,class:`mb-3`})):e.result?(h(),W(G,{key:1},[R(O,{density:`compact`},{default:x(()=>[R(f,{title:`SSH 连接`},{append:x(()=>[R(J,{color:e.result.ssh_ok?`success`:`error`},{default:x(()=>[z(d(e.result.ssh_ok?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.disk_avail?(h(),I(f,{key:0,title:`磁盘可用: ${e.result.disk_avail}`},null,8,[`title`])):L(``,!0),e.result.disk_used_pct==null?L(``,!0):(h(),I(f,{key:1,title:`磁盘使用率: ${e.result.disk_used_pct}%`},null,8,[`title`])),R(f,{title:`目标路径存在`},{append:x(()=>[R(J,{color:e.result.path_exists?`success`:`error`},{default:x(()=>[z(d(e.result.path_exists?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.path_perms?(h(),I(f,{key:2,subtitle:e.result.path_perms,title:`权限`},null,8,[`subtitle`])):L(``,!0),R(f,{title:`目标路径可写`},{append:x(()=>[R(J,{color:e.result.path_writable?`success`:`error`},{default:x(()=>[z(d(e.result.path_writable?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1})]),_:1}),(h(!0),W(G,null,B(e.result.errors,(e,t)=>(h(),I(M,{key:t,type:`error`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:x(()=>[z(d(j(X)(e)),1)]),_:2},1024))),128))],64)):L(``,!0)]),_:1}),R(y,null,{default:x(()=>[R(C),R(E,{variant:`text`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:x(()=>[...n[2]||=[z(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Ve={class:`text-caption`},He={class:`text-caption text-medium-emphasis`},Ue=[`title`],We=[`title`],Ge={key:1,class:`text-caption text-medium-emphasis`},Ke=F({__name:`PushHistoryTable`,props:{items:{},headers:{},total:{},loading:{type:Boolean},page:{},statusFilter:{},syncModeFilter:{},serverFilter:{},statusOptions:{},syncModeOptions:{},serverOptions:{},reconciling:{type:Boolean}},emits:[`update:page`,`update:statusFilter`,`update:syncModeFilter`,`update:serverFilter`,`filter-change`,`page-change`,`reconcile`,`diagnose`],setup(e){return(t,n)=>(h(),I(D,{elevation:`0`,border:``,rounded:`lg`},{default:x(()=>[R(p,{class:`d-flex flex-wrap align-center ga-2`},{default:x(()=>[n[6]||=q(`span`,null,`推送历史`,-1),R(C),R(s,{"model-value":e.statusFilter,items:e.statusOptions,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[0]||=e=>{t.$emit(`update:statusFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),R(s,{"model-value":e.syncModeFilter,items:e.syncModeOptions,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[1]||=e=>{t.$emit(`update:syncModeFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),R(s,{"model-value":e.serverFilter,items:e.serverOptions,"item-title":`title`,"item-value":`value`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`180px`},"onUpdate:modelValue":n[2]||=e=>{t.$emit(`update:serverFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),R(E,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-wrench`,loading:e.reconciling,onClick:n[3]||=e=>t.$emit(`reconcile`)},{default:x(()=>[...n[5]||=[z(` 修复卡住记录 `,-1)]]),_:1},8,[`loading`])]),_:1}),R(he,{items:e.items,headers:e.headers,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":15,hover:``,density:`comfortable`,"onUpdate:page":n[4]||=e=>{t.$emit(`update:page`,e),t.$emit(`page-change`)}},{"item.status":x(({item:e})=>[R(_,{color:j(ve)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:x(()=>[z(d(j(ge)(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":x(({item:e})=>[q(`span`,Ve,d(j(_e)(e.sync_mode)),1)]),"item.started_at":x(({item:e})=>[q(`span`,He,d(j(Se)(e.started_at)),1)]),"item.push_permission":x(({item:e})=>[q(`span`,{class:N([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`本次推送未配置 rsync 属主/权限修正`},d(j(ye)(e.push_permission)),11,Ue)]),"item.error_message":x(({item:e})=>[e.error_message?(h(),W(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`200px`},title:j(X)(e.error_message)},d(j(X)(e.error_message)),9,We)):(h(),W(`span`,Ge,`—`))]),"item.actions":x(({item:e})=>[e.status===`failed`?(h(),I(E,{key:0,size:`x-small`,variant:`tonal`,"prepend-icon":`mdi-stethoscope`,onClick:n=>t.$emit(`diagnose`,e)},{default:x(()=>[...n[7]||=[z(` 诊断 `,-1)]]),_:1},8,[`onClick`])):L(``,!0)]),"no-data":x(()=>[...n[8]||=[q(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}))}}),qe={class:`text-caption text-medium-emphasis`},Je={key:2,class:`mb-2 text-body-2`},Ye={key:0,class:`text-error text-caption`},Xe={key:1,class:`text-warning text-caption`},Ze={key:2,class:`text-caption text-medium-emphasis`},Qe=F({__name:`PushPreviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},results:{},selectedCount:{},previewDone:{},previewTotal:{},largeBatch:{type:Boolean},warnThreshold:{},errorCount:{},syncMode:{}},emits:[`update:modelValue`,`confirm-push`],setup(t){return(n,r)=>(h(),I(Q,{"model-value":t.modelValue,"max-width":`800`,"onUpdate:modelValue":r[2]||=e=>n.$emit(`update:modelValue`,e)},{default:x(()=>[R(D,{border:``},{default:x(()=>[R(p,{class:`d-flex align-center`},{default:x(()=>[r[3]||=z(` 推送预览 `,-1),R(C),q(`span`,qe,[t.loading?(h(),W(G,{key:0},[z(d(t.previewDone)+` / `+d(t.previewTotal)+` 台`,1)],64)):(h(),W(G,{key:1},[z(d(t.results.length)+` 台`,1)],64))])]),_:1}),R(Y,null,{default:x(()=>[t.loading?(h(),I(U,{key:0,"model-value":t.previewTotal?Math.round(t.previewDone/t.previewTotal*100):0,class:`mb-3`},null,8,[`model-value`])):L(``,!0),t.largeBatch&&!t.loading?(h(),I(M,{key:1,type:`info`,density:`compact`,variant:`tonal`,class:`mb-2`},{default:x(()=>[z(` 已预览 `+d(t.results.length)+` 台服务器(超过 `+d(t.warnThreshold)+` 台时推送耗时可能较长) `,1)]),_:1})):L(``,!0),t.loading?L(``,!0):(h(),W(`div`,Je,[r[4]||=z(` 将推送到 `,-1),q(`strong`,null,d(t.selectedCount),1),r[5]||=z(` 台服务器 `,-1)])),t.results.length?(h(),I(e,{key:3,density:`compact`},{default:x(()=>[r[6]||=q(`thead`,null,[q(`tr`,null,[q(`th`,null,`服务器`),q(`th`,null,`文件数`),q(`th`,null,`预计传输`),q(`th`,null,`大小`),q(`th`,null,`备注`)])],-1),q(`tbody`,null,[(h(!0),W(G,null,B(t.results,e=>(h(),W(`tr`,{key:e.server_id},[q(`td`,null,d(e.server_name),1),q(`td`,null,d(e.stats?.files_total??`—`),1),q(`td`,null,d(e.stats?.files_transferred??`—`),1),q(`td`,null,d(e.stats?j(Z)(e.stats.transfer_size_bytes??0):`—`),1),q(`td`,null,[e.error?(h(),W(`span`,Ye,d(j(X)(e.error)),1)):t.syncMode===`full`&&(e.stats?.files_deleted??0)>0?(h(),W(`span`,Xe,`将删除 `+d(e.stats?.files_deleted)+` 个远端文件`,1)):(h(),W(`span`,Ze,`—`))])]))),128))])]),_:1})):L(``,!0),t.errorCount>0&&!t.loading?(h(),I(M,{key:4,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:x(()=>[z(d(t.errorCount)+` 台预览失败,推送时这些服务器可能仍会失败 `,1)]),_:1})):L(``,!0)]),_:1}),R(y,null,{default:x(()=>[R(C),R(E,{variant:`text`,onClick:r[0]||=e=>n.$emit(`update:modelValue`,!1)},{default:x(()=>[...r[7]||=[z(`关闭`,-1)]]),_:1}),R(E,{color:`primary`,variant:`flat`,disabled:t.loading,onClick:r[1]||=e=>n.$emit(`confirm-push`)},{default:x(()=>[...r[8]||=[z(`确认推送`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),$e={key:1,class:`text-caption text-medium-emphasis mb-2`},et={key:0},tt=F({__name:`PushProgressList`,props:{items:{},batchId:{},pushing:{type:Boolean},cancelling:{type:Boolean},retryingAll:{type:Boolean},failedRetryCount:{},doneCount:{},totalProgress:{}},emits:[`cancel`,`retry-all`],setup(e){return(t,n)=>e.items.length>0?(h(),I(D,{key:0,class:`mb-4`,elevation:`0`,border:``,rounded:`lg`},{default:x(()=>[R(p,{class:`d-flex align-center text-subtitle-1`},{default:x(()=>[n[3]||=z(` 推送进度 `,-1),R(C),e.failedRetryCount>0&&!e.pushing?(h(),I(E,{key:0,size:`small`,variant:`tonal`,color:`warning`,class:`mr-2`,"prepend-icon":`mdi-refresh`,loading:e.retryingAll,onClick:n[0]||=e=>t.$emit(`retry-all`)},{default:x(()=>[z(` 重试全部失败 (`+d(e.failedRetryCount)+`) `,1)]),_:1},8,[`loading`])):L(``,!0),e.batchId&&e.items.some(e=>e.status===`running`||e.status===`pending`)&&e.pushing?(h(),I(E,{key:1,size:`small`,variant:`tonal`,color:`error`,class:`mr-2`,loading:e.cancelling,onClick:n[1]||=e=>t.$emit(`cancel`)},{default:x(()=>[...n[2]||=[z(` 取消推送 `,-1)]]),_:1},8,[`loading`])):L(``,!0),R(_,{size:`small`,variant:`tonal`,color:`primary`},{default:x(()=>[z(d(e.items.filter(e=>e.status===`success`).length)+`/`+d(e.items.length)+` 完成 `,1)]),_:1})]),_:1}),R(w),R(Y,null,{default:x(()=>[e.pushing||e.totalProgress>0?(h(),I(U,{key:0,"model-value":e.totalProgress,color:`primary`,height:`8`,rounded:``,class:`mb-3`},null,8,[`model-value`])):L(``,!0),e.items.length?(h(),W(`div`,$e,[z(d(e.doneCount)+` / `+d(e.items.length)+` 台已结束 `,1),e.items.some(e=>e.status===`failed`)?(h(),W(`span`,et,` · `+d(e.items.filter(e=>e.status===`failed`).length)+` 失败 `,1)):L(``,!0)])):L(``,!0),R(O,{density:`compact`},{default:x(()=>[(h(!0),W(G,null,B(e.items,e=>(h(),I(f,{key:e.id,title:e.name},oe({append:x(()=>[e.status===`pending`?(h(),I(J,{key:0,color:`grey`},{default:x(()=>[...n[4]||=[z(`mdi-clock-outline`,-1)]]),_:1})):e.status===`running`?(h(),I(J,{key:1,color:`blue`,class:`mdi-spin`},{default:x(()=>[...n[5]||=[z(`mdi-loading`,-1)]]),_:1})):e.status===`success`?(h(),I(J,{key:2,color:`green`},{default:x(()=>[...n[6]||=[z(`mdi-check-circle`,-1)]]),_:1})):e.status===`cancelled`?(h(),I(J,{key:3,color:`grey`},{default:x(()=>[...n[7]||=[z(`mdi-cancel`,-1)]]),_:1})):(h(),I(J,{key:4,color:`red`},{default:x(()=>[...n[8]||=[z(`mdi-alert-circle`,-1)]]),_:1}))]),_:2},[e.detail?{name:`subtitle`,fn:x(()=>[q(`span`,{class:N(e.status===`failed`?`text-error`:`text-medium-emphasis`)},d(e.detail),3)]),key:`0`}:void 0]),1032,[`title`]))),128))]),_:1})]),_:1})]),_:1})):L(``,!0)}}),nt={key:0,class:`text-center text-medium-emphasis py-6`},rt={class:`d-flex align-center px-2 mb-2`},it={class:`text-caption text-medium-emphasis ml-1`},at={class:`d-flex align-center ga-2`},ot={class:`text-body-2 font-weight-medium text-truncate`},st={class:`text-caption text-medium-emphasis text-truncate`},ct=[`title`],lt={key:0,class:`text-caption mt-1`},ut=F({__name:`PushServerGrid`,props:{selectAll:{type:Boolean},serverSearch:{},serversLoading:{type:Boolean},serversByCategory:{},selectedIds:{},pushStatus:{},isCategoryAllSelected:{type:Function}},emits:[`update:serverSearch`,`toggle-all`,`refresh`,`toggle-category`,`toggle-server`],setup(e){return(t,n)=>(h(),I(D,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:x(()=>[R(p,{class:`d-flex align-center`},{default:x(()=>[R(me,{"model-value":e.selectAll,label:`全选`,density:`compact`,"hide-details":``,class:`mr-4`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`toggle-all`)},null,8,[`model-value`]),R(K,{"model-value":e.serverSearch,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`},"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:serverSearch`,e)},null,8,[`model-value`]),R(E,{icon:`mdi-refresh`,variant:`text`,size:`small`,loading:e.serversLoading,title:`刷新在线状态`,onClick:n[2]||=e=>t.$emit(`refresh`)},null,8,[`loading`])]),_:1}),R(w),R(Y,{class:`pa-2`},{default:x(()=>[e.serversByCategory.length===0?(h(),W(`div`,nt,`暂无服务器`)):(h(!0),W(G,{key:1},B(e.serversByCategory,r=>(h(),W(`div`,{key:r.category,class:`mb-4`},[q(`div`,rt,[R(E,{size:`x-small`,variant:`text`,color:e.isCategoryAllSelected(r.category)?`primary`:`default`,onClick:e=>t.$emit(`toggle-category`,r.category)},{default:x(()=>[R(J,{size:`16`,class:`mr-1`},{default:x(()=>[z(d(e.isCategoryAllSelected(r.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),z(` `+d(r.category),1)]),_:2},1032,[`color`,`onClick`]),q(`span`,it,` (`+d(r.servers.filter(t=>e.selectedIds.has(t.id)).length)+`/`+d(r.servers.length)+`) `,1)]),R(u,{dense:``},{default:x(()=>[(h(!0),W(G,null,B(r.servers,r=>(h(),I(l,{key:r.id,cols:`6`,sm:`4`,md:`3`,lg:`2`},{default:x(()=>[R(D,{color:e.selectedIds.has(r.id)?`primary`:void 0,variant:e.selectedIds.has(r.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-3 cursor-pointer`,onClick:e=>t.$emit(`toggle-server`,r.id)},{default:x(()=>[q(`div`,at,[R(J,{color:j(xe)(r.is_online),size:`12`},{default:x(()=>[...n[3]||=[z(`mdi-circle`,-1)]]),_:1},8,[`color`]),q(`span`,ot,d(r.name),1)]),q(`div`,st,d(r.domain),1),q(`div`,{class:`text-caption text-medium-emphasis text-truncate`,title:r.target_path||`未配置目标路径`},` → `+d(r.target_path?.trim()||`未配置`),9,ct),e.pushStatus[r.id]?(h(),W(`div`,lt,[R(_,{color:j(be)(e.pushStatus[r.id]),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:x(()=>[z(d(e.pushStatus[r.id]),1)]),_:2},1032,[`color`])])):L(``,!0)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))]),_:1})]),_:1}))}}),dt=m({...a({falseIcon:`$radioOff`,trueIcon:`$radioOn`})},`VRadio`),ft=pe()({name:`VRadio`,props:dt(),setup(e,{slots:t}){return ae(()=>R(o,de(o.filterProps(e),{class:[`v-radio`,e.class],style:e.style,type:`radio`}),t)),{}}}),pt=m({height:{type:[Number,String],default:`auto`},...A(ue(),[`direction`]),...A(r(),[`multiple`]),trueIcon:{type:ce,default:`$radioOn`},falseIcon:{type:ce,default:`$radioOff`},type:{type:String,default:`radio`}},`VRadioGroup`),mt=pe()({name:`VRadioGroup`,inheritAttrs:!1,props:pt(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=S(),a=V(()=>e.id||`radio-group-${r}`),s=re(e,`modelValue`),c=k();return ae(()=>{let[r,l]=v(t),u=se.filterProps(e),d=o.filterProps(e),f=n.label?n.label({label:e.label,props:{for:a.value}}):e.label;return R(se,de({ref:c,class:[`v-radio-group`,e.class],style:e.style},r,u,{modelValue:s.value,"onUpdate:modelValue":e=>s.value=e,id:a.value}),{...n,default:({id:t,messagesId:r,isDisabled:a,isReadonly:o})=>q(G,null,[f&&R(ie,{id:t.value},{default:()=>[f]}),R(i,de(d,{id:t.value,"aria-describedby":r.value,defaultsTarget:`VRadio`,trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:a.value,readonly:o.value,"aria-labelledby":f?t.value:void 0,multiple:!1},l,{modelValue:s.value,"onUpdate:modelValue":e=>s.value=e}),n)])})}),fe({},c)}}),ht={class:`text-caption text-medium-emphasis mt-1`},gt=F({__name:`PushSyncModeCard`,props:{syncMode:{},syncModeDesc:{}},emits:[`update:syncMode`],setup(e,{emit:t}){let n=t;function r(e){e!=null&&n(`update:syncMode`,e)}return(t,n)=>(h(),I(D,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:x(()=>[R(p,{class:`text-subtitle-1`},{default:x(()=>[...n[0]||=[z(`同步模式`,-1)]]),_:1}),R(Y,null,{default:x(()=>[R(mt,{"model-value":e.syncMode,inline:``,density:`compact`,"onUpdate:modelValue":r},{default:x(()=>[R(ft,{label:`增量同步`,value:`incremental`}),R(ft,{label:`全量同步`,value:`full`}),R(ft,{label:`校验和同步`,value:`checksum`})]),_:1},8,[`model-value`]),e.syncMode===`full`?(h(),I(M,{key:0,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:x(()=>[...n[1]||=[z(` 全量同步会删除目标目录中不存在于源目录的文件 `,-1)]]),_:1})):L(``,!0),q(`div`,ht,d(e.syncModeDesc),1)]),_:1})]),_:1}))}}),_t=F({__name:`PushToolbar`,props:{targetPath:{},pushing:{type:Boolean}},emits:[`update:targetPath`,`preview`,`push`],setup(e){return(t,n)=>(h(),I(D,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:x(()=>[R(u,{align:`center`,dense:``},{default:x(()=>[R(l,{cols:`12`,sm:`8`},{default:x(()=>[R(K,{"model-value":e.targetPath,label:`目标路径`,placeholder:`/www/wwwroot`,hint:`留空则使用下方各服务器配置的路径;填写则统一覆盖所有选中服务器`,"persistent-hint":``,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder-marker`,clearable:``,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:targetPath`,e??``)},null,8,[`model-value`])]),_:1}),R(l,{cols:`12`,sm:`4`,class:`d-flex ga-2 justify-end`},{default:x(()=>[R(E,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-eye`,onClick:n[1]||=e=>t.$emit(`preview`)},{default:x(()=>[...n[3]||=[z(`预览`,-1)]]),_:1}),R(E,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-upload`,loading:e.pushing,onClick:n[2]||=e=>t.$emit(`push`)},{default:x(()=>[...n[4]||=[z(` 推送 `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1}))}}),vt={key:0},yt={class:`mt-3`},bt={key:1,class:`d-flex align-center flex-wrap ga-2`},xt={class:`d-flex align-center flex-wrap ga-2`},St={class:`text-body-2`},Ct={key:3},wt={class:`d-flex ga-2 align-start flex-wrap`},Tt={key:4,class:`text-caption text-medium-emphasis mt-2`},Et=F({__name:`PushZipUpload`,props:{uploadedSource:{},validatedSource:{},sourcePath:{},sourcePathValidating:{type:Boolean},isDragging:{type:Boolean},sourceUploading:{type:Boolean}},emits:[`dragover`,`dragleave`,`drop`,`file-select`,`zip-extract-select`,`clear`,`clear-validated`,`update:sourcePath`,`validate`],setup(e){let t=k(null),n=k(null);return(r,i)=>(h(),I(D,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:x(()=>[R(p,{class:`text-subtitle-1`},{default:x(()=>[...i[12]||=[z(`源文件`,-1)]]),_:1}),R(Y,null,{default:x(()=>[e.validatedSource?(h(),I(M,{key:1,type:`success`,variant:`tonal`,density:`compact`,class:`mb-0`},{default:x(()=>[q(`div`,xt,[R(J,null,{default:x(()=>[...i[18]||=[z(`mdi-folder-check`,-1)]]),_:1}),q(`span`,St,d(e.validatedSource.path)+` (`+d(e.validatedSource.fileCount)+` 个文件, `+d(j(Z)(e.validatedSource.sizeBytes))+`) `,1),R(C),R(E,{size:`small`,variant:`text`,color:`error`,onClick:i[8]||=e=>r.$emit(`clear-validated`)},{default:x(()=>[...i[19]||=[z(`清除`,-1)]]),_:1})])]),_:1})):(h(),W(G,{key:0},[e.uploadedSource?(h(),W(`div`,bt,[R(J,{class:`mr-1`},{default:x(()=>[z(d(e.uploadedSource.kind===`zip`?`mdi-folder-zip`:`mdi-file-multiple`),1)]),_:1}),q(`span`,null,d(e.uploadedSource.name)+` (`+d(e.uploadedSource.fileCount)+` 个文件, `+d(j(Z)(e.uploadedSource.size))+`) `,1),R(C),R(E,{size:`small`,variant:`text`,color:`error`,onClick:i[7]||=e=>r.$emit(`clear`)},{default:x(()=>[...i[17]||=[z(`清除`,-1)]]),_:1})])):(h(),W(`div`,vt,[q(`div`,{class:N([`border-dashed border rounded pa-6 text-center cursor-pointer`,{"border-primary bg-primary-lighten-5":e.isDragging}]),onDragover:i[1]||=H(e=>r.$emit(`dragover`),[`prevent`]),onDragleave:i[2]||=e=>r.$emit(`dragleave`),onDrop:i[3]||=H(e=>r.$emit(`drop`,e),[`prevent`]),onClick:i[4]||=e=>t.value?.click()},[R(J,{size:`48`,color:`grey`},{default:x(()=>[...i[13]||=[z(`mdi-cloud-upload-outline`,-1)]]),_:1}),i[15]||=q(`div`,{class:`text-body-2 mt-2`},`拖拽文件到此处,或点击选择`,-1),i[16]||=q(`div`,{class:`text-caption text-medium-emphasis`},` 支持任意后缀文件(可多选);ZIP 拖拽/选择时原样上传 `,-1),q(`div`,yt,[R(E,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-folder-zip`,disabled:e.sourceUploading,onClick:i[0]||=H(e=>n.value?.click(),[`stop`])},{default:x(()=>[...i[14]||=[z(` ZIP 解压上传 `,-1)]]),_:1},8,[`disabled`])])],34),q(`input`,{ref_key:`fileInputRef`,ref:t,type:`file`,multiple:``,hidden:``,onChange:i[5]||=e=>r.$emit(`file-select`,e)},null,544),q(`input`,{ref_key:`zipInputRef`,ref:n,type:`file`,accept:`.zip,application/zip`,hidden:``,onChange:i[6]||=e=>r.$emit(`zip-extract-select`,e)},null,544)])),e.sourceUploading?(h(),I(U,{key:2,indeterminate:``,class:`mt-2`})):L(``,!0)],64)),e.validatedSource?L(``,!0):(h(),I(w,{key:2,class:`my-4`})),!e.validatedSource&&!e.uploadedSource?(h(),W(`div`,Ct,[i[21]||=q(`div`,{class:`text-caption text-medium-emphasis mb-2`},`或输入 Nexus 主机源路径(容器内绝对路径)`,-1),q(`div`,wt,[R(K,{"model-value":e.sourcePath,placeholder:`/path/to/files`,variant:`outlined`,density:`compact`,"hide-details":``,"prepend-inner-icon":`mdi-folder`,class:`flex-grow-1`,style:{"min-width":`240px`},"onUpdate:modelValue":i[9]||=e=>r.$emit(`update:sourcePath`,e),onKeydown:i[10]||=ne(H(e=>r.$emit(`validate`),[`prevent`]),[`enter`])},null,8,[`model-value`]),R(E,{variant:`tonal`,color:`primary`,loading:e.sourcePathValidating,disabled:!e.sourcePath.trim(),onClick:i[11]||=e=>r.$emit(`validate`)},{default:x(()=>[...i[20]||=[z(` 验证路径 `,-1)]]),_:1},8,[`loading`,`disabled`])])])):e.uploadedSource?(h(),W(`div`,Tt,` 已使用上传暂存目录作为源;可在下方管理文件,或清除后改用主机源路径 `)):L(``,!0)]),_:1})]),_:1}))}}),Dt=[`success`,`failed`,`cancelled`];function Ot(){let e=t(),n=k(``),r=k(null),i=k(``),a=k(!1),o=k(``),s=k(`incremental`),c=k(!1),l=k(null),u=k(!1);T(n,e=>{r.value&&e.trim()!==i.value&&(r.value=null)});let d=V(()=>{switch(s.value){case`incremental`:return`仅传输新增或修改的文件`;case`full`:return`使目标目录与源目录完全一致,会删除不存在于源的文件`;case`checksum`:return`通过文件内容校验和判断是否需要传输`;default:return``}});function f(){return l.value?.sourcePath||r.value?.path||``}function p(){return o.value.trim()||void 0}function m(t,i=[]){return f()?!p()&&i.filter(e=>!(e.target_path||``).trim()).length>0?(e(`目标路径留空时,所选服务器须已在「服务器管理」中配置目标路径`,`warning`),!1):t===0?(e(`请选择至少一台服务器`,`warning`),!1):!0:(n.value.trim()&&!r.value?e(`请先点击「验证路径」确认 Nexus 主机上的源目录`,`warning`):e(`请上传文件或验证 Nexus 主机源路径`,`warning`),!1)}async function h(){let t=n.value.trim();if(!t){e(`请输入 Nexus 主机上的源目录路径`,`warning`);return}if(l.value){e(`请先清除已上传的源文件`,`warning`);return}a.value=!0;try{let a=await P.post(`/sync/validate-source-path`,{path:t});r.value={path:a.path,fileCount:a.file_count,sizeBytes:a.size_bytes},i.value=a.path,n.value=a.path,e(`路径验证通过:${a.file_count} 个文件`)}catch(t){r.value=null,e(t instanceof Error?t.message:`路径验证失败`,`error`)}finally{a.value=!1}}function g(){r.value=null,i.value=``,n.value=``}function _(){l.value=null}async function v(t){if(t.length){if(r.value){e(`请先清除已验证的源路径`,`warning`);return}await C(t)}}async function y(e){c.value=!1,await v(Array.from(e.dataTransfer?.files??[]))}function b(e){let t=e.target,n=Array.from(t.files??[]);t.value=``,v(n)}function x(e){let t=e.target,n=t.files?.[0];t.value=``,n&&S(n)}async function S(t){if(r.value){e(`请先清除已验证的源路径`,`warning`);return}u.value=!0;try{let n=new FormData;n.append(`file`,t);let r=await P.upload(`/sync/upload-zip`,n);l.value={kind:`zip`,name:t.name,sourcePath:r.source_path,fileCount:r.file_count,size:r.size},e(`ZIP 已解压到暂存目录`)}catch(t){e(t instanceof Error?t.message:`ZIP 解压失败`,`error`)}finally{u.value=!1}}async function C(t){if(t.length){u.value=!0;try{let n=new FormData;for(let e of t)n.append(`files`,e);let r=await P.upload(`/sync/upload-files`,n);l.value={kind:`files`,name:t.length===1?t[0].name:`${t.length} 个文件`,sourcePath:r.source_path,fileCount:r.file_count,size:r.size},e(`已上传 ${r.file_count} 个文件`)}catch(t){e(t instanceof Error?t.message:`上传失败`,`error`)}finally{u.value=!1}}}return{sourcePath:n,validatedSource:r,sourcePathValidating:a,targetPath:o,syncMode:s,syncModeDesc:d,isDragging:c,uploadedSource:l,sourceUploading:u,effectiveSourcePath:f,effectiveTargetPath:p,validateForm:m,validateSourcePath:h,clearValidatedSource:g,clearUploadedSource:_,handleFileDrop:y,handleFileSelect:b,handleZipExtractSelect:x}}function kt(e){let t=k([]),n=k(!1),r=k(``),i=k(new Set),a=null;async function o(e=!1){e||(n.value=!0);try{t.value=(await P.get(`/servers/`,{per_page:200})).items||[]}catch{t.value=[]}finally{e||(n.value=!1)}}function s(e){c(),a=setInterval(()=>{o(!0)},3e4)}function c(){a&&=(clearInterval(a),null)}let l=V(()=>{if(!r.value)return t.value;let e=r.value.toLowerCase();return t.value.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.target_path||``).toLowerCase().includes(e))}),u=V(()=>{let e=l.value;return e.length>0&&e.every(e=>i.value.has(e.id))}),d=V(()=>{let e={};for(let t of l.value){let n=t.category||`未分类`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,servers:t}))});function f(e){let t=d.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>i.value.has(e.id))}function p(e){let t=d.value.find(t=>t.category===e);if(!t)return;let n=new Set(i.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);i.value=n}function m(e){let t=new Set(i.value);t.has(e)?t.delete(e):t.add(e),i.value=t}function h(){let e=l.value,t=e.length>0&&e.every(e=>i.value.has(e.id)),n=new Set(i.value);for(let r of e)t?n.delete(r.id):n.add(r.id);i.value=n}return{servers:t,serversLoading:n,serverSearch:r,selectedIds:i,pushStatus:e,filteredServers:l,selectAll:u,serversByCategory:d,loadServers:o,startAutoRefresh:s,stopAutoRefresh:c,isCategoryAllSelected:f,toggleCategory:p,toggleServer:m,toggleAll:h}}function At(){return crypto.randomUUID().replace(/-/g,``).slice(0,12)}function jt(e,n,r){let i=t(),a=le(),o=k(!1),s=k(!1),c=k(!1),l=k([]),u=k(``),d=k(null),f=[],p=V(()=>l.value.filter(e=>Dt.includes(e.status)).length),m=V(()=>{let e=l.value.length;return e?Math.round(p.value/e*100):0});function h(){f.forEach(e=>clearTimeout(e)),f.length=0}function g(){let e=l.value.length;if(!e||!o.value||l.value.filter(e=>Dt.includes(e.status)).lengthe.status===`failed`).length,n=l.value.filter(e=>e.status===`cancelled`).length,a=l.value.filter(e=>e.status===`success`).length;i(`推送完成:${a} 成功,${t} 失败${n?`,${n} 取消`:``}`)}function _(e){if(e.type!==`sync_progress`||e.batch_id!==u.value||e.server_id==null)return;let t=l.value.findIndex(t=>t.id===e.server_id);if(t===-1)return;let r=l.value[t],i=e.status;if(i===`running`)r.status=`running`,r.detail=`同步中...`;else if(i===`success`){r.status=`success`;let t=e.duration_seconds;r.detail=t==null?`完成`:`完成(${t}s)`,n.pushStatus.value[e.server_id]=`成功`}else i===`failed`?(r.status=`failed`,r.detail=X(e.error_message)||`失败`,e.retry_job_id!=null&&(r.retryJobId=e.retry_job_id),n.pushStatus.value[e.server_id]=`失败`):i===`cancelled`&&(r.status=`cancelled`,r.detail=X(e.error_message)||`已取消`,n.pushStatus.value[e.server_id]=`已取消`);g()}function v(e){let t=e.results;if(t){for(let[e,r]of Object.entries(t)){let t=Number(e);if(!Number.isFinite(t))continue;let i=l.value.findIndex(e=>e.id===t);if(i===-1)continue;let a=l.value[i],o=r.status;if(o===`success`){a.status=`success`;let e=r.duration_seconds;a.detail=e==null?`完成`:`完成(${e}s)`,n.pushStatus.value[t]=`成功`}else o===`failed`?(a.status=`failed`,a.detail=X(r.error_message)||`失败`,r.retry_job_id!=null&&(a.retryJobId=r.retry_job_id),n.pushStatus.value[t]=`失败`):o===`cancelled`&&(a.status=`cancelled`,a.detail=X(r.error_message)||`已取消`,n.pushStatus.value[t]=`已取消`)}g()}}function y(){if(!a.token)return Promise.reject(Error(`未登录,无法连接推送进度`));b();let e=we(`/ws/sync`,{token:a.token}),t=new WebSocket(e);return new Promise((e,s)=>{t.onopen=()=>e(),t.onerror=()=>s(Error(`推送进度 WebSocket 连接失败`)),t.onmessage=e=>{if(e.data!==`pong`)try{let n=JSON.parse(e.data);if(n.type===`ping`){t.send(`pong`);return}_(n)}catch{}},t.onclose=e=>{if(d.value=null,e.code===4001||e.code===4401){a.forceLogout();return}e.code!==1e3&&o.value&&(l.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`连接中断`,n.pushStatus.value[e.id]=`失败`)}),o.value=!1,i(`推送进度连接中断,部分服务器状态未知`,`warning`),r())},d.value=t})}function b(){d.value&&=(d.value.close(1e3),null)}async function x(){if(u.value){s.value=!0;try{await P.post(`/sync/cancel`,{batch_id:u.value}),l.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`cancelled`,e.detail=`已取消`,n.pushStatus.value[e.id]=`已取消`)}),o.value=!1,b(),r(),i(`推送已取消`)}catch(e){i(e instanceof Error?e.message:`取消失败`,`error`)}finally{s.value=!1}}}async function S(){if(o.value)return;let t=[...n.selectedIds.value].map(e=>n.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(t.length,t))return;h(),b(),u.value=``,n.pushStatus.value={};let a=t.map(e=>e.id);l.value=a.map(e=>({id:e,name:n.servers.value.find(t=>t.id===e)?.name||`#${e}`,status:`pending`})),o.value=!0,u.value=At();try{await y();let t=await P.post(`/sync/files`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_ids:a,sync_mode:e.syncMode.value,batch_id:u.value});t.batch_id&&t.batch_id!==u.value&&(u.value=t.batch_id),v(t)}catch(e){b();let t=e instanceof Error?e.message:`推送请求失败`;l.value.forEach(e=>{e.status=`failed`,e.detail=t}),o.value=!1,i(t,`error`),r();return}let s=setTimeout(()=>{o.value&&(l.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`等待超时`,n.pushStatus.value[e.id]=`失败`)}),o.value=!1,b(),r(),i(`推送超时,${p.value}/${l.value.length} 台已有结果`,`warning`))},3e5);f.push(s)}let C=V(()=>l.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).length);async function w(){let e=l.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).map(e=>e.retryJobId);if(!e.length){i(`没有可重试的失败任务(重试任务可能尚未创建)`,`warning`);return}c.value=!0;let t=0,n=0;try{for(let r of e)try{await P.post(`/retries/${r}/retry`),t++}catch{n++}i(n>0?`已提交 ${t} 个重试,${n} 个提交失败`:`已提交 ${t} 个失败服务器的重试任务`)}finally{c.value=!1}}function T(){b(),h()}return{pushing:o,cancelling:s,retryingAll:c,wsProgressItems:l,pushBatchId:u,doneCount:p,totalProgress:m,failedRetryCount:C,doPush:S,cancelPush:x,retryAllFailed:w,dispose:T}}function Mt(e,t){let n=k(!1),r=k([]),i=k(!1),a=k(0),o=k(0),s=V(()=>a.value>30),c=V(()=>r.value.filter(e=>e.error).length);async function l(t,n){try{let r=await P.post(`/sync/preview`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_id:t,sync_mode:e.syncMode.value});return r.error?{server_id:t,server_name:n,error:r.error}:{server_id:t,server_name:r.server_name||n,stats:r.stats}}catch(e){return{server_id:t,server_name:n,error:e instanceof Error?e.message:`预览失败`}}}async function u(){let s=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(s.length,s))return;let c=s.map(e=>e.id);a.value=c.length,o.value=0,n.value=!0,i.value=!0,r.value=[];let u=c.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`}));for(let e=0;el(e.id,e.name)));r.value=[...r.value,...n],o.value=r.value.length}i.value=!1}function d(){n.value=!1}function f(e){n.value=!1,e()}return{showPreview:n,previewResults:r,previewLoading:i,previewTotal:a,previewDone:o,previewLargeBatch:s,previewWarnThreshold:30,previewErrorCount:c,doPreview:u,closePreview:d,confirmAndPush:f}}var Nt=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],Pt=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`校验和`,value:`checksum`}],Ft=[{title:`时间`,key:`started_at`,width:170},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:88},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:140},{title:`错误`,key:`error_message`,width:200},{title:`操作`,key:`actions`,width:88,sortable:!1}];function It(e,n){let r=t(),i=k([]),a=k(0),o=k(!1),s=k(1),c=k(null),l=k(null),u=k(null),d=k(!1),f=k(!1),p=k(!1),m=k(null),h=k(null),g=V(()=>n.servers.value.map(e=>({title:e.name,value:e.id})));function _(){s.value=1,v()}async function v(){o.value=!0;try{let e={page:s.value,per_page:15};c.value&&(e.status=c.value),l.value&&(e.sync_mode=l.value),u.value!=null&&(e.server_id=u.value);let t=await P.get(`/servers/logs`,e);i.value=t.items||[],a.value=t.total||0}catch{i.value=[],a.value=0}finally{o.value=!1}}async function y(){d.value=!0;try{let e=(await P.post(`/sync/reconcile-stale-logs`,{max_age_minutes:15})).reconciled??0;r(e>0?`已订正 ${e} 条卡住的推送记录`:`没有需要订正的记录`),await v()}catch(e){r(e instanceof Error?e.message:`订正失败`,`error`)}finally{d.value=!1}}async function b(t){h.value=t,m.value=null,f.value=!0,p.value=!0;try{m.value=await P.post(`/sync/diagnose`,{server_id:t.server_id,target_path:t.target_path||e.targetPath.value||void 0})}catch(e){r(e instanceof Error?e.message:`诊断失败`,`error`),f.value=!1}finally{p.value=!1}}function x(){f.value=!1}return{logs:i,logTotal:a,logLoading:o,logPage:s,logStatusFilter:c,logSyncModeFilter:l,logServerFilter:u,reconcilingLogs:d,logStatusOptions:Nt,logSyncModeOptions:Pt,logHeaders:Ft,logServerOptions:g,showDiagnose:f,diagnoseLoading:p,diagnoseResult:m,diagnoseTarget:h,onLogFilterChange:_,loadLogs:v,reconcileStaleLogs:y,openDiagnose:b,closeDiagnose:x}}function $(e,t){return`${e.replace(/\/+$/,``)}/${t}`}function Lt(e){let n=t(),r=k(!1),i=k(``),a=k([]),o=k(!1),s=k(!1),c=k(null),l=k(!1),u=k(null),d=k(``),f=k(!1),p=k(!1),m=k([]),h=k(!1),g=k(new Set),_=()=>e.value?.sourcePath??``,v=V(()=>g.value.size),y=V(()=>{let e=a.value;return e.length>0&&e.every(e=>g.value.has(e.name))}),b=V(()=>g.value.size>0&&!y.value);function x(){g.value=new Set}function S(e){return g.value.has(e)}function C(e,t){let n=new Set(g.value);t?n.add(e):n.delete(e),g.value=n}function w(e){if(!e){x();return}g.value=new Set(a.value.map(e=>e.name))}let E=V(()=>{let e=_(),t=i.value;return!e||!t||t===e?``:t.startsWith(`${e}/`)?t.slice(e.length+1):t});async function D(){let t=_();if(!(!t||!e.value))try{let n=await P.post(`/sync/validate-source-path`,{path:t});e.value={...e.value,fileCount:n.file_count,size:n.size_bytes}}catch{}}async function O(e){if(!e){a.value=[],i.value=``;return}r.value=!0;try{let t=await P.post(`/sync/browse-local`,{path:e});i.value=t.path,a.value=t.entries??[],x()}catch(e){a.value=[],n(e instanceof Error?e.message:`加载暂存目录失败`,`error`)}finally{r.value=!1}}function ee(){O(_())}function te(){O(i.value||_())}function A(e){!e.is_dir||!i.value||O($(i.value,e.name))}function j(e){u.value=e,d.value=e.name,l.value=!0}async function M(){let e=u.value,t=d.value.trim();if(!e||!i.value||!t||t===e.name){l.value=!1;return}f.value=!0;try{await P.post(`/sync/local-file-ops`,{operation:`rename`,path:$(i.value,e.name),new_name:t}),n(`已重命名`),l.value=!1,await O(i.value),await D()}catch(e){n(e instanceof Error?e.message:`重命名失败`,`error`)}finally{f.value=!1}}function N(e){m.value=[e],p.value=!0}function F(){let e=a.value.filter(e=>g.value.has(e.name));if(!e.length){n(`请先选择要删除的项`,`warning`);return}m.value=e,p.value=!0}async function ne(){let e=m.value;if(!e.length||!i.value){p.value=!1;return}h.value=!0;let t=0,r=0;try{for(let n of e)try{await P.post(`/sync/local-file-ops`,{operation:`delete`,path:$(i.value,n.name)}),t++}catch{r++}p.value=!1,x(),await O(i.value),await D(),r>0?n(`已删除 ${t} 项,${r} 项失败`,`warning`):n(e.length>1?`已删除 ${t} 项`:`已删除`)}finally{h.value=!1}}async function re(e){if(!(e.is_dir||!i.value)){o.value=!0,s.value=!0,c.value=null;try{c.value=await P.post(`/sync/local-file-preview`,{path:$(i.value,e.name)})}catch(e){o.value=!1,n(e instanceof Error?e.message:`预览失败`,`error`)}finally{s.value=!1}}}return T(()=>e.value?.sourcePath,e=>{e?O(e):(a.value=[],i.value=``,x())},{immediate:!0}),{loading:r,currentPath:i,entries:a,relativePath:E,goRoot:ee,refreshCurrent:te,openDirectory:A,loadDirectory:O,openRename:j,confirmRename:M,renameOpen:l,renameValue:d,renameLoading:f,renameTarget:u,openDelete:N,openBatchDelete:F,confirmDelete:ne,deleteOpen:p,deleteLoading:h,deleteTargets:m,selectedCount:v,allSelected:y,someSelected:b,isSelected:S,toggleSelect:C,toggleSelectAll:w,clearSelection:x,previewFile:re,previewOpen:o,previewLoading:s,previewResult:c}}function Rt(){let e=Ot(),t=Lt(e.uploadedSource),n=kt(k({})),r=It(e,n),i=jt(e,n,()=>r.loadLogs()),a=Mt(e,n);function o(){a.confirmAndPush(()=>i.doPush())}return ee(()=>{n.loadServers(),r.loadLogs(),n.startAutoRefresh(()=>i.pushing.value)}),g(()=>{i.dispose(),n.stopAutoRefresh()}),{form:b(e),staging:b(t),servers:b(n),progress:b(i),preview:b(a),logs:b(r),onConfirmAndPush:o}}var zt=F({__name:`PushPage`,setup(e){let{form:t,staging:n,servers:r,progress:i,preview:a,logs:o,onConfirmAndPush:s}=Rt();return(e,l)=>(h(),I(c,{fluid:``,class:`pa-6`},{default:x(()=>[R(Et,{"uploaded-source":j(t).uploadedSource,"validated-source":j(t).validatedSource,"source-path":j(t).sourcePath,"onUpdate:sourcePath":l[0]||=e=>j(t).sourcePath=e,"source-path-validating":j(t).sourcePathValidating,"is-dragging":j(t).isDragging,"source-uploading":j(t).sourceUploading,onDragover:l[1]||=e=>j(t).isDragging=!0,onDragleave:l[2]||=e=>j(t).isDragging=!1,onDrop:j(t).handleFileDrop,onFileSelect:j(t).handleFileSelect,onZipExtractSelect:j(t).handleZipExtractSelect,onClear:j(t).clearUploadedSource,onClearValidated:j(t).clearValidatedSource,onValidate:j(t).validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),j(t).uploadedSource?(h(),I(Ie,{key:0,"root-path":j(t).uploadedSource.sourcePath,"relative-path":j(n).relativePath,entries:j(n).entries,loading:j(n).loading,"selected-count":j(n).selectedCount,"all-selected":j(n).allSelected,"some-selected":j(n).someSelected,"is-selected":j(n).isSelected,"rename-open":j(n).renameOpen,"onUpdate:renameOpen":l[3]||=e=>j(n).renameOpen=e,"rename-value":j(n).renameValue,"onUpdate:renameValue":l[4]||=e=>j(n).renameValue=e,"rename-loading":j(n).renameLoading,"delete-open":j(n).deleteOpen,"onUpdate:deleteOpen":l[5]||=e=>j(n).deleteOpen=e,"delete-targets":j(n).deleteTargets,"delete-loading":j(n).deleteLoading,onRefresh:l[6]||=e=>j(n).refreshCurrent(),onGoRoot:j(n).goRoot,onOpenDir:j(n).openDirectory,onPreview:j(n).previewFile,onRename:j(n).openRename,onDelete:j(n).openDelete,onBatchDelete:j(n).openBatchDelete,onToggleSelect:j(n).toggleSelect,onToggleSelectAll:j(n).toggleSelectAll,onConfirmRename:j(n).confirmRename,onConfirmDelete:j(n).confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):L(``,!0),R(ze,{modelValue:j(n).previewOpen,"onUpdate:modelValue":l[7]||=e=>j(n).previewOpen=e,loading:j(n).previewLoading,result:j(n).previewResult},null,8,[`modelValue`,`loading`,`result`]),R(_t,{"target-path":j(t).targetPath,"onUpdate:targetPath":l[8]||=e=>j(t).targetPath=e,pushing:j(i).pushing,onPreview:j(a).doPreview,onPush:j(i).doPush},null,8,[`target-path`,`pushing`,`onPreview`,`onPush`]),R(ut,{"select-all":j(r).selectAll,"server-search":j(r).serverSearch,"onUpdate:serverSearch":l[9]||=e=>j(r).serverSearch=e,"servers-loading":j(r).serversLoading,"servers-by-category":j(r).serversByCategory,"selected-ids":j(r).selectedIds,"push-status":j(r).pushStatus,"is-category-all-selected":j(r).isCategoryAllSelected,onToggleAll:j(r).toggleAll,onRefresh:j(r).loadServers,onToggleCategory:j(r).toggleCategory,onToggleServer:j(r).toggleServer},null,8,[`select-all`,`server-search`,`servers-loading`,`servers-by-category`,`selected-ids`,`push-status`,`is-category-all-selected`,`onToggleAll`,`onRefresh`,`onToggleCategory`,`onToggleServer`]),R(gt,{"sync-mode":j(t).syncMode,"onUpdate:syncMode":l[10]||=e=>j(t).syncMode=e,"sync-mode-desc":j(t).syncModeDesc},null,8,[`sync-mode`,`sync-mode-desc`]),R(tt,{items:j(i).wsProgressItems,"batch-id":j(i).pushBatchId,pushing:j(i).pushing,cancelling:j(i).cancelling,"retrying-all":j(i).retryingAll,"failed-retry-count":j(i).failedRetryCount,"done-count":j(i).doneCount,"total-progress":j(i).totalProgress,onCancel:j(i).cancelPush,onRetryAll:j(i).retryAllFailed},null,8,[`items`,`batch-id`,`pushing`,`cancelling`,`retrying-all`,`failed-retry-count`,`done-count`,`total-progress`,`onCancel`,`onRetryAll`]),R(Qe,{modelValue:j(a).showPreview,"onUpdate:modelValue":l[11]||=e=>j(a).showPreview=e,loading:j(a).previewLoading,results:j(a).previewResults,"selected-count":j(r).selectedIds.size,"preview-done":j(a).previewDone,"preview-total":j(a).previewTotal,"large-batch":j(a).previewLargeBatch,"warn-threshold":j(a).previewWarnThreshold,"error-count":j(a).previewErrorCount,"sync-mode":j(t).syncMode,onConfirmPush:j(s)},null,8,[`modelValue`,`loading`,`results`,`selected-count`,`preview-done`,`preview-total`,`large-batch`,`warn-threshold`,`error-count`,`sync-mode`,`onConfirmPush`]),R(Be,{modelValue:j(o).showDiagnose,"onUpdate:modelValue":l[12]||=e=>j(o).showDiagnose=e,loading:j(o).diagnoseLoading,result:j(o).diagnoseResult,"target-name":j(o).diagnoseTarget?.server_name??void 0},null,8,[`modelValue`,`loading`,`result`,`target-name`]),R(Ke,{items:j(o).logs,headers:j(o).logHeaders,total:j(o).logTotal,loading:j(o).logLoading,page:j(o).logPage,"onUpdate:page":l[13]||=e=>j(o).logPage=e,"status-filter":j(o).logStatusFilter,"onUpdate:statusFilter":l[14]||=e=>j(o).logStatusFilter=e,"sync-mode-filter":j(o).logSyncModeFilter,"onUpdate:syncModeFilter":l[15]||=e=>j(o).logSyncModeFilter=e,"server-filter":j(o).logServerFilter,"onUpdate:serverFilter":l[16]||=e=>j(o).logServerFilter=e,"status-options":j(o).logStatusOptions,"sync-mode-options":j(o).logSyncModeOptions,"server-options":j(o).logServerOptions,reconciling:j(o).reconcilingLogs,onFilterChange:j(o).onLogFilterChange,onPageChange:j(o).loadLogs,onReconcile:j(o).reconcileStaleLogs,onDiagnose:j(o).openDiagnose},null,8,[`items`,`headers`,`total`,`loading`,`page`,`status-filter`,`sync-mode-filter`,`server-filter`,`status-options`,`sync-mode-options`,`server-options`,`reconciling`,`onFilterChange`,`onPageChange`,`onReconcile`,`onDiagnose`])]),_:1}))}});export{zt as default}; \ No newline at end of file diff --git a/web/app/assets/RetriesPage-Ccx3is-O.js b/web/app/assets/RetriesPage-Ccx3is-O.js new file mode 100644 index 00000000..c10a90f6 --- /dev/null +++ b/web/app/assets/RetriesPage-Ccx3is-O.js @@ -0,0 +1 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{$r as r,B as i,Dr as a,F as o,H as s,Ir as c,N as l,Q as u,R as d,Tr as f,Ur as p,Yr as m,Zt as h,_r as g,dr as _,fr as v,gr as y,hr as b,ur as x,z as S}from"./index-C6qJAv49.js";import{n as C}from"./dataTable-esDY4cOk.js";import{t as w}from"./VDataTableServer-Dh4BHVrk.js";import{t as T}from"./VDialog-P-nMQayc.js";import{t as E}from"./usePageAutoRefresh-qyIz2rJd.js";var D={class:`font-weight-medium text-truncate d-inline-block`,style:{"max-width":`240px`}},O={class:`text-medium-emphasis`},k={class:`text-medium-emphasis`},A={class:`text-caption text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M=g({__name:`RetriesPage`,setup(g){let M=e(),N=p(!1),P=p([]),F=p(0),I=p(1),L=p(null),R=p(!1),z=p(null),B=[{label:`待重试`,value:`pending`},{label:`重试中`,value:`retrying`},{label:`成功`,value:`success`},{label:`失败`,value:`failed`}],V=C([{title:`状态`,key:`status`,width:100},{title:`任务`,key:`operation`},{title:`服务器`,key:`server_name`},{title:`次数`,key:`retry_count`,width:100},{title:`下次重试`,key:`next_retry_at`,width:140},{title:`创建时间`,key:`created_at`,width:160},{title:``,key:`actions`,width:120,align:`end`}]);async function H(e=!1){e||(N.value=!0);try{let e=(await h.getList(`/retries/`,{limit:200})).items||[];L.value&&(e=e.filter(e=>e.status===L.value)),F.value=e.length;let t=(I.value-1)*20;P.value=e.slice(t,t+20)}catch(t){e||(P.value=[],F.value=0,M(t instanceof Error?t.message:`加载重试队列失败`,`error`))}finally{e||(N.value=!1)}}async function U(e){try{await h.post(`/retries/${e.id}/retry`),H(),M(`重试已触发`)}catch(e){M(e.message||`操作失败`,`error`)}}function W(e){z.value=e.id,R.value=!0}async function G(){if(z.value)try{await h.delete(`/retries/${z.value}`),R.value=!1,H(),M(`已删除`)}catch(e){M(e.message||`删除失败`,`error`)}}function K(e){return e===`success`?`success`:e===`failed`?`error`:e===`retrying`?`warning`:`info`}function q(e){return e===`pending`?`待重试`:e===`retrying`?`重试中`:e===`success`?`成功`:e===`failed`?`失败`:e}function J(e){return e.source_path&&e.target_path?`${e.source_path} → ${e.target_path}`:e.source_path||e.target_path||`文件推送`}return E(()=>H(!0),15e3),f(()=>H()),(e,f)=>(a(),_(n,{fluid:``,class:`pa-6`},{default:c(()=>[y(d,{elevation:`0`,border:``,rounded:`lg`},{default:c(()=>[y(i,{class:`d-flex align-center text-h6`},{default:c(()=>[f[5]||=b(` 重试队列 `,-1),y(l),y(t,{modelValue:L.value,"onUpdate:modelValue":[f[0]||=e=>L.value=e,f[1]||=e=>{I.value=1,H()}],items:B,"item-title":`label`,"item-value":`value`,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},clearable:``},null,8,[`modelValue`])]),_:1}),y(w,{items:P.value,headers:m(V),"items-length":F.value,loading:N.value,page:I.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":f[2]||=e=>{I.value=e,H()}},{"item.status":c(({item:e})=>[y(o,{color:K(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:c(()=>[b(r(q(e.status)),1)]),_:2},1032,[`color`])]),"item.operation":c(({item:e})=>[x(`span`,D,r(J(e)),1)]),"item.server_name":c(({item:e})=>[x(`span`,O,r(e.server_name||`—`),1)]),"item.retry_count":c(({item:e})=>[x(`span`,k,r(e.retry_count||0)+` / `+r(e.max_retries||3),1)]),"item.next_retry_at":c(({item:e})=>[x(`span`,A,r(e.next_retry_at||`—`),1)]),"item.created_at":c(({item:e})=>[x(`span`,j,r(e.created_at),1)]),"item.actions":c(({item:e})=>[e.status===`pending`||e.status===`failed`?(a(),_(u,{key:0,variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>U(e)},{default:c(()=>[...f[6]||=[b(` 重试 `,-1)]]),_:1},8,[`onClick`])):v(``,!0),y(u,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>W(e)},{default:c(()=>[...f[7]||=[b(` 删除 `,-1)]]),_:1},8,[`onClick`])]),"no-data":c(()=>[...f[8]||=[x(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}),y(T,{modelValue:R.value,"onUpdate:modelValue":f[4]||=e=>R.value=e,"max-width":`400`},{default:c(()=>[y(d,{border:``},{default:c(()=>[y(i,null,{default:c(()=>[...f[9]||=[b(`确认删除`,-1)]]),_:1}),y(S,null,{default:c(()=>[...f[10]||=[b(`确定要删除此重试任务吗?`,-1)]]),_:1}),y(s,null,{default:c(()=>[y(l),y(u,{variant:`text`,onClick:f[3]||=e=>R.value=!1},{default:c(()=>[...f[11]||=[b(`取消`,-1)]]),_:1}),y(u,{color:`error`,variant:`flat`,onClick:G},{default:c(()=>[...f[12]||=[b(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{M as default}; \ No newline at end of file diff --git a/web/app/assets/SchedulesPage-D3XY0xis.js b/web/app/assets/SchedulesPage-D3XY0xis.js new file mode 100644 index 00000000..c5dd890e --- /dev/null +++ b/web/app/assets/SchedulesPage-D3XY0xis.js @@ -0,0 +1 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{$r as r,B as i,Dr as a,F as o,H as s,Ir as c,N as l,Q as u,R as d,Tr as f,Ur as p,Yr as m,Zt as h,_r as g,dr as _,gr as v,hr as y,kt as b,pr as x,pt as S,sr as C,t as w,ur as T,z as E}from"./index-C6qJAv49.js";import{n as ee,r as te,t as ne}from"./dataTable-esDY4cOk.js";import{t as re}from"./VDataTableServer-Dh4BHVrk.js";import{t as D}from"./useServerList-DgZFamx0.js";import{t as O}from"./VDialog-P-nMQayc.js";import{t as k}from"./VTextarea-Dnh3HyOO.js";import{t as A}from"./VSwitch-XZYCP_Om.js";var j={class:`text-caption`},M={key:1,class:`text-caption text-medium-emphasis`},ie={key:0,class:`text-caption`},ae={key:1,class:`text-caption text-medium-emphasis`},oe={class:`text-medium-emphasis`},se={class:`text-caption text-medium-emphasis`},ce={class:`text-caption text-medium-emphasis`},N=g({__name:`SchedulesPage`,setup(g){let N=[...ne],P=e(),{servers:le,loadServers:ue}=D(),F=[{value:`incremental`,label:`增量`},{value:`full`,label:`完全同步`},{value:`overwrite`,label:`覆盖`},{value:`checksum`,label:`校验和`}],I=p(!1),L=p(null),R=p(null),z=p([]),B=p([]),V=p(1),H=p(0),U=p(20),W=p(!1),G=p(null),K=p(!1),q=p({name:``,schedule_type:`push`,run_mode:`cron`,cron:``,fire_at:``,source_path:``,target_path:``,sync_mode:`incremental`,script_id:null,script_content:``,exec_timeout:60,long_task:!1,server_ids:[],enabled:!0}),J=p(!1),Y=p(null),de=ee([{title:`名称`,key:`name`},{title:`类型`,key:`schedule_type`,width:80},{title:`模式`,key:`run_mode`,width:72},{title:`Cron / 执行时间`,key:`cron_expr`,width:160},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`同步`,key:`sync_mode`,width:88},{title:`服务器`,key:`server_count`,width:80},{title:`上次运行`,key:`last_run_at`,width:140},{title:`下次运行`,key:`next_run`,width:140},{title:`启用`,key:`enabled`,width:80},{title:`操作`,key:`actions`,width:200,align:`end`}]);function fe(e){return F.find(t=>t.value===e)?.label||e||`增量`}function pe(e){return e?e.replace(`T`,` `).slice(0,16):`—`}function me(e){if(!e)return``;let t=new Date(e);if(Number.isNaN(t.getTime()))return e.slice(0,16);let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}T${n(t.getHours())}:${n(t.getMinutes())}`}function X(e){if(Array.isArray(e))return e.map(e=>Number(e)).filter(e=>!Number.isNaN(e));if(typeof e==`string`&&e.trim())try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}catch{}return[]}function he(e){return X(e).length}function ge(e){return{...e,server_ids:X(e.server_ids)}}function _e(e){let t=e.trim().split(/\s+/);return t.length===5?t.every(e=>/^[\d*/,\-]+$/.test(e)):!1}function ve(){let e=q.value.server_ids;if(!q.value.name.trim())throw Error(`请填写调度名称`);if(!e.length)throw Error(`请至少选择一台服务器`);let t={name:q.value.name.trim(),schedule_type:q.value.schedule_type,run_mode:q.value.run_mode,server_ids:JSON.stringify(e),enabled:q.value.enabled};if(q.value.run_mode===`cron`){if(!q.value.cron.trim())throw Error(`请填写 Cron 表达式`);if(!_e(q.value.cron.trim()))throw Error(`Cron 须为 5 字段(分 时 日 月 周)`);t.cron_expr=q.value.cron.trim()}else{if(!q.value.fire_at)throw Error(`请选择一次性执行时间`);t.fire_at=new Date(q.value.fire_at).toISOString()}if(q.value.schedule_type===`push`){if(!q.value.source_path.trim())throw Error(`请填写推送源路径`);t.source_path=q.value.source_path.trim();let e=q.value.target_path.trim();e&&(t.target_path=e),t.sync_mode=q.value.sync_mode}else{if(!q.value.script_id&&!q.value.script_content.trim())throw Error(`脚本调度须选择脚本库或填写命令内容`);q.value.script_id&&(t.script_id=q.value.script_id),q.value.script_content.trim()&&(t.script_content=q.value.script_content.trim()),t.exec_timeout=q.value.exec_timeout,t.long_task=q.value.long_task}return t}function ye(e){V.value=e,Z()}function be(e){U.value=e,V.value=1,Z()}async function xe(){try{B.value=(await h.getList(`/scripts/`)).items||[]}catch{B.value=[]}}async function Z(){I.value=!0;try{let e=((await h.getList(`/schedules/`)).items||[]).map(ge);H.value=e.length,z.value=te(e,V.value,U.value)}catch(e){z.value=[],H.value=0,P(e instanceof Error?e.message:`加载调度列表失败`,`error`)}finally{I.value=!1}}function Q(e){G.value=e,e?q.value={name:e.name,schedule_type:e.schedule_type===`script`?`script`:`push`,run_mode:e.run_mode===`once`?`once`:`cron`,cron:e.cron_expr||``,fire_at:me(e.fire_at),source_path:e.source_path||``,target_path:e.target_path||``,sync_mode:e.sync_mode||`incremental`,script_id:e.script_id??null,script_content:e.script_content||``,exec_timeout:e.exec_timeout??60,long_task:!!e.long_task,server_ids:X(e.server_ids),enabled:e.enabled}:q.value={name:``,schedule_type:`push`,run_mode:`cron`,cron:``,fire_at:``,source_path:``,target_path:``,sync_mode:`incremental`,script_id:null,script_content:``,exec_timeout:60,long_task:!1,server_ids:[],enabled:!0},W.value=!0}async function Se(){K.value=!0;try{let e=ve();G.value?await h.put(`/schedules/${G.value.id}`,e):await h.post(`/schedules/`,e),W.value=!1,Z(),P(`保存成功`)}catch(e){P(e instanceof Error?e.message:`保存失败`,`error`)}finally{K.value=!1}}async function Ce(e){L.value=e.id;try{await h.put(`/schedules/${e.id}`,{enabled:e.enabled}),Z()}catch(t){e.enabled=!e.enabled,P(t instanceof Error?t.message:`操作失败`,`error`)}finally{L.value=null}}async function $(e){R.value=e.id;try{let t=X(e.server_ids);if(e.schedule_type===`script`)await h.post(`/scripts/exec`,{server_ids:t,script_id:e.script_id??void 0,command:e.script_content||void 0,timeout:e.exec_timeout??60,long_task:!!e.long_task}),b(`已触发脚本执行`);else{let n={source_path:e.source_path,server_ids:t,sync_mode:e.sync_mode||`incremental`};e.target_path?.trim()&&(n.target_path=e.target_path.trim()),await h.post(`/sync/files`,n),P(`已触发推送`)}}catch(e){P(e instanceof Error?e.message:`执行失败`,`error`)}finally{R.value=null}}function we(e){Y.value=e,J.value=!0}async function Te(){if(Y.value)try{await h.delete(`/schedules/${Y.value.id}`),J.value=!1,Z(),P(`已删除`)}catch(e){P(e instanceof Error?e.message:`删除失败`,`error`)}}return f(()=>{Z(),ue(),xe()}),(e,f)=>(a(),_(n,{fluid:``,class:`pa-6`},{default:c(()=>[v(d,{elevation:`0`,border:``,rounded:`lg`},{default:c(()=>[v(i,{class:`d-flex align-center text-h6`},{default:c(()=>[f[20]||=y(` 推送调度 `,-1),v(l),v(u,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:f[0]||=e=>Q(null)},{default:c(()=>[...f[19]||=[y(`新建调度`,-1)]]),_:1})]),_:1}),v(re,{items:z.value,headers:m(de),"items-length":H.value,loading:I.value,page:V.value,"items-per-page":U.value,"items-per-page-options":N,hover:``,density:`comfortable`,"onUpdate:page":ye,"onUpdate:itemsPerPage":be},{"item.schedule_type":c(({item:e})=>[v(o,{size:`small`,variant:`tonal`,color:e.schedule_type===`script`?`secondary`:`primary`,label:``},{default:c(()=>[y(r(e.schedule_type===`script`?`脚本`:`推送`),1)]),_:2},1032,[`color`])]),"item.run_mode":c(({item:e})=>[T(`span`,j,r(e.run_mode===`once`?`一次性`:`Cron`),1)]),"item.cron_expr":c(({item:e})=>[e.run_mode===`cron`?(a(),_(o,{key:0,size:`small`,variant:`tonal`,label:``,"prepend-icon":`mdi-clock-outline`},{default:c(()=>[y(r(e.cron_expr||`—`),1)]),_:2},1024)):(a(),x(`span`,M,r(pe(e.fire_at)),1))]),"item.sync_mode":c(({item:e})=>[e.schedule_type===`script`?(a(),x(`span`,ae,`—`)):(a(),x(`span`,ie,r(fe(e.sync_mode)),1))]),"item.enabled":c(({item:e})=>[v(A,{modelValue:e.enabled,"onUpdate:modelValue":[t=>e.enabled=t,t=>Ce(e)],color:`primary`,density:`compact`,"hide-details":``,loading:L.value===e.id},null,8,[`modelValue`,`onUpdate:modelValue`,`loading`])]),"item.server_count":c(({item:e})=>[T(`span`,oe,r(he(e.server_ids))+` 台`,1)]),"item.last_run_at":c(({item:e})=>[T(`span`,se,r(e.last_run_at||`从未运行`),1)]),"item.next_run":c(({item:e})=>[T(`span`,ce,r(e.next_run||`—`),1)]),"item.actions":c(({item:e})=>[v(u,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>Q(e)},{default:c(()=>[...f[21]||=[y(`编辑`,-1)]]),_:1},8,[`onClick`]),v(u,{variant:`text`,size:`x-small`,density:`compact`,loading:R.value===e.id,onClick:t=>$(e)},{default:c(()=>[...f[22]||=[y(`立即执行`,-1)]]),_:1},8,[`loading`,`onClick`]),v(u,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>we(e)},{default:c(()=>[...f[23]||=[y(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":c(()=>[...f[24]||=[T(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无计划任务`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1}),v(O,{modelValue:W.value,"onUpdate:modelValue":f[16]||=e=>W.value=e,"max-width":`640`,scrollable:``},{default:c(()=>[v(d,{border:``},{default:c(()=>[v(i,null,{default:c(()=>[y(r(G.value?`编辑调度`:`新建调度`),1)]),_:1}),v(E,null,{default:c(()=>[v(w,{modelValue:q.value.name,"onUpdate:modelValue":f[1]||=e=>q.value.name=e,label:`调度名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(S,{modelValue:q.value.schedule_type,"onUpdate:modelValue":f[2]||=e=>q.value.schedule_type=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:c(()=>[v(u,{value:`push`,size:`small`},{default:c(()=>[...f[25]||=[y(`文件推送`,-1)]]),_:1}),v(u,{value:`script`,size:`small`},{default:c(()=>[...f[26]||=[y(`脚本执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),v(S,{modelValue:q.value.run_mode,"onUpdate:modelValue":f[3]||=e=>q.value.run_mode=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:c(()=>[v(u,{value:`cron`,size:`small`},{default:c(()=>[...f[27]||=[y(`Cron 循环`,-1)]]),_:1}),v(u,{value:`once`,size:`small`},{default:c(()=>[...f[28]||=[y(`一次性`,-1)]]),_:1})]),_:1},8,[`modelValue`]),q.value.run_mode===`cron`?(a(),_(w,{key:0,modelValue:q.value.cron,"onUpdate:modelValue":f[4]||=e=>q.value.cron=e,label:`Cron 表达式(5 字段)`,variant:`outlined`,density:`compact`,hint:`分 时 日 月 周,例如: 0 2 * * *`,"persistent-hint":``,class:`mb-2`},null,8,[`modelValue`])):(a(),_(w,{key:1,modelValue:q.value.fire_at,"onUpdate:modelValue":f[5]||=e=>q.value.fire_at=e,label:`执行时间`,type:`datetime-local`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`])),q.value.schedule_type===`push`?(a(),x(C,{key:2},[v(w,{modelValue:q.value.source_path,"onUpdate:modelValue":f[6]||=e=>q.value.source_path=e,label:`推送源路径(Nexus 主机)`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(w,{modelValue:q.value.target_path,"onUpdate:modelValue":f[7]||=e=>q.value.target_path=e,label:`目标路径(可选)`,variant:`outlined`,density:`compact`,hint:`留空则使用各服务器在「服务器管理」中配置的目标路径`,"persistent-hint":``,class:`mb-2`},null,8,[`modelValue`]),v(t,{modelValue:q.value.sync_mode,"onUpdate:modelValue":f[8]||=e=>q.value.sync_mode=e,items:F,"item-title":`label`,"item-value":`value`,label:`同步模式`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`])],64)):(a(),x(C,{key:3},[v(t,{modelValue:q.value.script_id,"onUpdate:modelValue":f[9]||=e=>q.value.script_id=e,items:B.value,"item-title":`name`,"item-value":`id`,label:`脚本库(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),v(k,{modelValue:q.value.script_content,"onUpdate:modelValue":f[10]||=e=>q.value.script_content=e,label:`命令内容(无脚本库时必填)`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,class:`mb-2`},null,8,[`modelValue`]),v(w,{modelValue:q.value.exec_timeout,"onUpdate:modelValue":f[11]||=e=>q.value.exec_timeout=e,modelModifiers:{number:!0},label:`超时(秒)`,type:`number`,min:`10`,max:`600`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(A,{modelValue:q.value.long_task,"onUpdate:modelValue":f[12]||=e=>q.value.long_task=e,label:`长任务(nohup)`,color:`primary`,density:`compact`,"hide-details":``,class:`mb-2`},null,8,[`modelValue`])],64)),v(t,{modelValue:q.value.server_ids,"onUpdate:modelValue":f[13]||=e=>q.value.server_ids=e,items:m(le),"item-title":`name`,"item-value":`id`,label:`目标服务器`,variant:`outlined`,density:`compact`,multiple:``,chips:``,class:`mb-2`},null,8,[`modelValue`,`items`]),v(A,{modelValue:q.value.enabled,"onUpdate:modelValue":f[14]||=e=>q.value.enabled=e,label:`启用`,color:`primary`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),v(s,null,{default:c(()=>[v(l),v(u,{variant:`text`,onClick:f[15]||=e=>W.value=!1},{default:c(()=>[...f[29]||=[y(`取消`,-1)]]),_:1}),v(u,{color:`primary`,variant:`flat`,onClick:Se,loading:K.value},{default:c(()=>[...f[30]||=[y(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(O,{modelValue:J.value,"onUpdate:modelValue":f[18]||=e=>J.value=e,"max-width":`400`},{default:c(()=>[v(d,{border:``},{default:c(()=>[v(i,null,{default:c(()=>[...f[31]||=[y(`确认删除`,-1)]]),_:1}),v(E,null,{default:c(()=>[f[32]||=y(`确定要删除调度 `,-1),T(`strong`,null,r(Y.value?.name),1),f[33]||=y(` 吗?`,-1)]),_:1}),v(s,null,{default:c(()=>[v(l),v(u,{variant:`text`,onClick:f[17]||=e=>J.value=!1},{default:c(()=>[...f[34]||=[y(`取消`,-1)]]),_:1}),v(u,{color:`error`,variant:`flat`,onClick:Te},{default:c(()=>[...f[35]||=[y(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{N as default}; \ No newline at end of file diff --git a/web/app/assets/ScriptRunsPage-CWBYk1C1.js b/web/app/assets/ScriptRunsPage-CWBYk1C1.js new file mode 100644 index 00000000..b92717a6 --- /dev/null +++ b/web/app/assets/ScriptRunsPage-CWBYk1C1.js @@ -0,0 +1,4 @@ +import{a as e}from"./VDataTable-B6PKw1TS.js";import{_ as t,t as n,v as r}from"./VSelect-Dy1HeCdk.js";import{n as i,t as a}from"./VRow-CamZ4OJs.js";import{$r as o,Bt as s,Dr as c,Er as l,F as u,Ft as ee,Gt as te,Ht as ne,Ir as d,It as re,N as f,P as ie,Pr as p,Q as m,R as h,Rt as ae,Tr as oe,Ur as g,Ut as se,Vt as _,Wt as ce,Yr as v,Z as le,Zr as y,Zt as b,_r as ue,dr as x,en as de,fr as S,gr as C,hr as w,kr as T,kt as fe,lr as E,lt as pe,or as me,pr as D,pt as he,sr as O,tn as ge,ur as k,z as A,zt as _e}from"./index-C6qJAv49.js";import{n as ve}from"./dataTable-esDY4cOk.js";import{t as ye}from"./VDataTableServer-Dh4BHVrk.js";import{t as j}from"./apiError-DukIeo5O.js";import{t as be}from"./useServerList-DgZFamx0.js";import{t as xe}from"./paginatedFetch-CPtIdw6B.js";import{t as Se}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Ce,t as we}from"./execDetailGrouping-MKCzvGo4.js";import{i as Te,n as Ee,r as De,t as Oe}from"./VExpansionPanels-RdQ6j6OE.js";var ke={class:`d-flex align-center flex-wrap ga-2 mb-4`},Ae={class:`text-h6`},je={class:`text-caption text-medium-emphasis mb-2`},Me={class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},Ne={key:0,class:`d-flex flex-wrap ga-2 mb-3`},Pe={class:`text-body-2`},Fe={class:`d-flex align-center flex-wrap ga-2 mb-3`},Ie=[`onClick`],Le={class:`font-weight-medium`},Re={key:0,class:`text-caption text-medium-emphasis`},ze=[`title`],Be={key:0},Ve={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},He=[`title`],Ue={key:0,class:`text-medium-emphasis`},We={class:`d-flex align-center flex-wrap ga-2 mb-4`},M=Se(ue({__name:`ScriptRunsPage`,setup(ue){let Se=de(),M=ge(),N=t(),{servers:Ge,loadServers:Ke}=be(),P=E(()=>{let e=Se.params.id;if(!e)return null;let t=Number(e);return Number.isFinite(t)?t:null}),F=g(!1),I=g([]),L=g(0),R=g(1),z=g(20),B=g(null),qe=[{title:`执行中`,value:`running`},{title:`已完成`,value:`completed`},{title:`部分成功`,value:`partial`},{title:`失败`,value:`failed`},{title:`已取消`,value:`cancelled`}],Je=ve([{title:`ID`,key:`id`,width:72},{title:`脚本/命令`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:88}]),V=g(null),H=g(!1),U=g(`all`),W=g(`list`),G=g(null),Ye=g([]),K=null,Xe=E(()=>new Map(Ge.value.map(e=>[e.id,e])));function Ze(e){return e||`—`}function Qe(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function $e(e){if(e.label)return e.label;let t=(e.command||``).replace(/^\[long_task\] /,``);return t.length>48?t.slice(0,48)+`…`:t||`执行 #${e.id}`}function et(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let q=E(()=>{if(!V.value?.results)return[];let e=Xe.value;return Object.entries(V.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=et(n);return{serverId:t,serverIdNum:r,serverName:ce(t,V.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:ne(a,o,s),pending:se(o)}})}),tt=E(()=>U.value===`failed`?q.value.filter(e=>e.failed):U.value===`success`?q.value.filter(e=>!e.failed&&!e.pending):q.value),J=E(()=>te(V.value?.results,V.value?.server_ids)),Y=E(()=>q.value.filter(e=>e.failed).map(e=>e.serverName)),X=E(()=>we(q.value.filter(e=>e.failed)));async function Z(e=!1){e||(F.value=!0);try{let e=await xe(async(e,t)=>{let n={limit:e,offset:t};B.value&&(n.status=B.value);let r=await b.get(`/scripts/executions`,n);return{items:r.items||[],total:r.total||0}},R.value,z.value);I.value=e.items,L.value=e.total}catch(t){e||(I.value=[],L.value=0,N(j(t,`加载失败`),`error`))}finally{e||(F.value=!1)}}function nt(e){R.value=e,Z()}function rt(e){z.value=e,R.value=1,Z()}function it(e){M.push(`/script-runs/${e}`)}async function Q(e=!1,t=!1){if(P.value){t||(H.value=!0);try{let t=e?`?fetch_logs=true`:``;V.value=await b.get(`/scripts/executions/${P.value}${t}`),V.value?.status===`running`?at():$()}catch(e){t||N(j(e,`加载详情失败`),`error`)}finally{t||(H.value=!1)}}}function at(){K||=setInterval(()=>{Q(!1,!0)},3e3)}function $(){K&&=(clearInterval(K),null)}function ot(e){G.value=G.value===e?null:e}function st(e){M.push({path:`/terminal`,query:{server_id:String(e)}})}async function ct(){if(P.value)try{await b.post(`/scripts/executions/${P.value}/stop`),await Q(!1),N(`已发送停止指令`)}catch(e){N(j(e,`停止失败`),`error`)}}async function lt(){if(P.value)try{let e=await b.post(`/scripts/executions/${P.value}/retry`,{}),t=Qe(e.server_ids);re(e.id,`${$e(e)}(重试)`,t,!!e.long_task,e.progress,e.status),fe(`重试已提交 #${e.id}`),M.push(`/script-runs/${e.id}`)}catch(e){N(j(e,`重试失败`),`error`)}}function ut(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` +`)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function dt(e,t){try{await navigator.clipboard.writeText(e),N(t)}catch{N(`复制失败`,`error`)}}async function ft(){let e=q.value.filter(e=>e.failed);e.length&&await dt([`执行 #${P.value} · 失败 ${e.length} 台`,...e.map(ut)].join(` +`),`已复制失败清单`)}async function pt(){let e=X.value;if(!e.length)return;let t=[`执行 #${P.value} · 失败分组 ${e.length} 类`];for(let n of e){t.push(`\n[${n.count} 台] ${n.errorKey}`);for(let e of n.rows.slice(0,20))t.push(` - ${e.serverName}`);n.rows.length>20&&t.push(` …及其他 ${n.rows.length-20} 台`)}await dt(t.join(` +`),`已复制分组摘要`)}p(B,()=>{R.value=1,Z()}),p(P,e=>{$(),V.value=null,e?(U.value=`all`,W.value=`list`,Q(!1)):Z()},{immediate:!0}),Ce(e=>Z(e),{enabled:()=>!P.value});let mt=ee(()=>{P.value?Q(!1,!0):Z(!0)});return oe(()=>{Ke()}),l(()=>{$(),mt()}),(t,l)=>(c(),x(r,{fluid:``,class:`pa-4`},{default:d(()=>[P.value?(c(),D(O,{key:0},[k(`div`,ke,[C(m,{variant:`text`,"prepend-icon":`mdi-arrow-left`,onClick:l[0]||=e=>v(M).push(`/script-runs`)},{default:d(()=>[...l[7]||=[w(` 返回列表 `,-1)]]),_:1}),k(`h1`,Ae,`执行详情 #`+o(P.value),1),V.value?(c(),x(u,{key:0,color:v(s)(V.value.status),size:`small`,variant:`tonal`,label:``},{default:d(()=>[w(o(v(_)(V.value.status)),1)]),_:1},8,[`color`])):S(``,!0),C(f),V.value?.long_task?(c(),x(m,{key:1,size:`small`,variant:`tonal`,loading:H.value,onClick:l[1]||=e=>Q(!0)},{default:d(()=>[...l[8]||=[w(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):S(``,!0),V.value&&(V.value.status===`running`||V.value.status===`partial`)?(c(),x(m,{key:2,size:`small`,variant:`text`,color:`error`,onClick:ct},{default:d(()=>[...l[9]||=[w(` 停止 `,-1)]]),_:1})):S(``,!0),V.value&&(V.value.status===`failed`||V.value.status===`partial`)?(c(),x(m,{key:3,size:`small`,variant:`tonal`,color:`primary`,onClick:lt},{default:d(()=>[...l[10]||=[w(` 重试失败项 `,-1)]]),_:1})):S(``,!0)]),H.value&&!V.value?(c(),x(h,{key:0,elevation:`0`,border:``,rounded:`lg`,class:`pa-8 text-center`},{default:d(()=>[C(pe,{indeterminate:``,color:`primary`})]),_:1})):V.value?(c(),x(h,{key:1,elevation:`0`,border:``,rounded:`lg`},{default:d(()=>[C(A,null,{default:d(()=>[k(`div`,je,o(Ze(V.value.progress))+` · 操作人 `+o(V.value.operator||`—`),1),k(`pre`,Me,o(V.value.command),1),J.value.total?(c(),D(`div`,Ne,[C(u,{size:`small`,variant:`tonal`,label:``},{default:d(()=>[w(`共 `+o(J.value.total)+` 台`,1)]),_:1}),J.value.success?(c(),x(u,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:d(()=>[w(` 成功 `+o(J.value.success),1)]),_:1})):S(``,!0),J.value.failed?(c(),x(u,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:d(()=>[w(` 失败 `+o(J.value.failed),1)]),_:1})):S(``,!0),J.value.pending?(c(),x(u,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:d(()=>[w(` 进行中 `+o(J.value.pending),1)]),_:1})):S(``,!0)])):S(``,!0),Y.value.length?(c(),x(le,{key:1,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${Y.value.length} 台`},{default:d(()=>[k(`div`,Pe,o(Y.value.join(`、`)),1)]),_:1},8,[`title`])):S(``,!0),k(`div`,Fe,[l[19]||=k(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),C(he,{modelValue:U.value,"onUpdate:modelValue":l[2]||=e=>U.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:d(()=>[C(m,{value:`all`,size:`small`},{default:d(()=>[...l[11]||=[w(`全部`,-1)]]),_:1}),C(m,{value:`failed`,size:`small`},{default:d(()=>[...l[12]||=[w(`仅失败`,-1)]]),_:1}),C(m,{value:`success`,size:`small`},{default:d(()=>[...l[13]||=[w(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),J.value.failed>0?(c(),D(O,{key:0},[C(ie,{vertical:``,class:`mx-1`}),l[18]||=k(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),C(he,{modelValue:W.value,"onUpdate:modelValue":l[3]||=e=>W.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:d(()=>[C(m,{value:`list`,size:`small`},{default:d(()=>[...l[14]||=[w(`列表`,-1)]]),_:1}),C(m,{value:`group`,size:`small`},{default:d(()=>[...l[15]||=[w(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),C(m,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:ft},{default:d(()=>[...l[16]||=[w(` 复制失败清单 `,-1)]]),_:1}),W.value===`group`?(c(),x(m,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:pt},{default:d(()=>[...l[17]||=[w(` 复制分组摘要 `,-1)]]),_:1})):S(``,!0)],64)):S(``,!0)]),W.value===`list`?(c(),x(e,{key:2,density:`compact`},{default:d(()=>[l[21]||=k(`thead`,null,[k(`tr`,null,[k(`th`,null,`服务器`),k(`th`,null,`状态`),k(`th`,{style:{width:`72px`}},`退出码`),k(`th`,null,`错误摘要`),k(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),k(`tbody`,null,[(c(!0),D(O,null,T(tt.value,e=>(c(),D(`tr`,{key:e.serverId,class:y([{"exec-detail-row--failed":e.failed},`cursor-pointer`]),onClick:t=>ot(e.serverId)},[k(`td`,null,[k(`div`,Le,o(e.serverName),1),e.serverDomain?(c(),D(`div`,Re,o(e.serverDomain),1)):S(``,!0)]),k(`td`,null,[C(u,{color:v(ae)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:d(()=>[w(o(v(_e)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),k(`td`,{class:y({"text-error font-weight-medium":e.failed})},o(e.exitCode??`—`),3),k(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},o(e.summary),9,ze),k(`td`,{class:`text-end`,onClick:l[4]||=me(()=>{},[`stop`])},[C(m,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>st(e.serverIdNum)},null,8,[`onClick`])])],10,Ie))),128)),tt.value.length===0?(c(),D(`tr`,Be,[...l[20]||=[k(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):S(``,!0)])]),_:1})):X.value.length?(c(),x(Oe,{key:3,modelValue:Ye.value,"onUpdate:modelValue":l[5]||=e=>Ye.value=e,multiple:``,variant:`accordion`},{default:d(()=>[(c(!0),D(O,null,T(X.value,(e,t)=>(c(),x(Ee,{key:`${t}-${e.errorKey}`},{default:d(()=>[C(De,null,{default:d(()=>[k(`div`,Ve,[k(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},o(e.errorKey),9,He),C(u,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:d(()=>[w(o(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),C(Te,null,{default:d(()=>[(c(!0),D(O,null,T(e.rows,e=>(c(),D(`div`,{key:e.serverId,class:`text-body-2 py-1`},[w(o(e.serverName)+` `,1),e.serverDomain?(c(),D(`span`,Ue,`(`+o(e.serverDomain)+`)`,1)):S(``,!0)]))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):S(``,!0)]),_:1})]),_:1})):S(``,!0)],64)):(c(),D(O,{key:1},[k(`div`,We,[l[23]||=k(`h1`,{class:`text-h6`},`脚本执行看板`,-1),C(f),C(m,{variant:`tonal`,"prepend-icon":`mdi-refresh`,loading:F.value,onClick:Z},{default:d(()=>[...l[22]||=[w(` 刷新 `,-1)]]),_:1},8,[`loading`])]),C(h,{elevation:`0`,border:``,rounded:`lg`},{default:d(()=>[C(A,null,{default:d(()=>[C(a,{dense:``,class:`mb-2`},{default:d(()=>[C(i,{cols:`12`,sm:`4`},{default:d(()=>[C(n,{modelValue:B.value,"onUpdate:modelValue":l[6]||=e=>B.value=e,items:qe,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1})]),_:1}),C(ye,{headers:v(Je),items:I.value,"items-length":L.value,loading:F.value,"items-per-page":z.value,page:R.value,"onUpdate:page":nt,"onUpdate:itemsPerPage":rt},{"item.label":d(({item:e})=>[w(o($e(e)),1)]),"item.status":d(({item:e})=>[C(u,{color:v(s)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:d(()=>[w(o(v(_)(e.status)),1)]),_:2},1032,[`color`])]),"item.progress":d(({item:e})=>[w(o(Ze(e.progress)),1)]),"item.server_count":d(({item:e})=>[w(o(Qe(e.server_ids)),1)]),"item.actions":d(({item:e})=>[C(m,{size:`x-small`,variant:`text`,color:`primary`,onClick:t=>it(e.id)},{default:d(()=>[...l[24]||=[w(` 详情 `,-1)]]),_:1},8,[`onClick`])]),"no-data":d(()=>[...l[25]||=[k(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`headers`,`items`,`items-length`,`loading`,`items-per-page`,`page`])]),_:1})]),_:1})],64))]),_:1}))}}),[[`__scopeId`,`data-v-021dd0ac`]]);export{M as default}; \ No newline at end of file diff --git a/web/app/assets/ScriptsPage-CBNlu4H0.js b/web/app/assets/ScriptsPage-CBNlu4H0.js new file mode 100644 index 00000000..424734b2 --- /dev/null +++ b/web/app/assets/ScriptsPage-CBNlu4H0.js @@ -0,0 +1,4 @@ +import{n as e,t}from"./initMonaco-CbTFLcUb.js";import{a as n,x as r}from"./VDataTable-B6PKw1TS.js";import{_ as i,t as a,v as o}from"./VSelect-Dy1HeCdk.js";import{n as s,t as c}from"./VRow-CamZ4OJs.js";import{$r as l,A as u,B as d,Bt as ee,Cr as f,Dr as p,F as m,Gt as te,H as h,Ht as ne,Ir as g,It as re,J as ie,Lr as ae,N as _,Nr as oe,P as v,Pr as se,Q as y,Qr as ce,R as b,Rt as le,Sr as ue,T as de,Tr as fe,Ur as x,Ut as pe,Vt as me,Wt as he,Yr as S,Z as ge,Zr as _e,Zt as C,_r as ve,ar as ye,br as be,dr as w,fr as T,gr as E,hr as D,ir as xe,kr as O,kt as Se,lr as k,lt as Ce,or as we,ot as Te,pr as A,pt as Ee,sr as j,t as De,tn as Oe,ur as M,ut as N,v as ke,xr as Ae,z as P,zt as je}from"./index-C6qJAv49.js";import{n as Me,t as Ne}from"./dataTable-esDY4cOk.js";import{t as Pe}from"./VCheckbox-Nzkf754R.js";import{t as Fe}from"./VDataTableServer-Dh4BHVrk.js";import{t as F}from"./apiError-DukIeo5O.js";import{t as Ie}from"./useServerList-DgZFamx0.js";import{s as Le}from"./labels-CzOhyWto.js";import{t as Re}from"./paginatedFetch-CPtIdw6B.js";import{i as ze}from"./validation-DMwOxx4a.js";import{t as Be}from"./VDialog-P-nMQayc.js";import{t as Ve}from"./VTextarea-Dnh3HyOO.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as He}from"./VSwitch-XZYCP_Om.js";import{n as Ue,t as We}from"./execDetailGrouping-MKCzvGo4.js";import{i as Ge,n as Ke,r as qe,t as Je}from"./VExpansionPanels-RdQ6j6OE.js";import{t as L}from"./useServerCategories-WSJPDvJY.js";var Ye=I(ve({__name:`ScriptContentEditor`,props:{modelValue:{},readonly:{type:Boolean}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=n,a=r,o=e(),s=x(),c=null,l=!1;function u(){s.value&&(c?.dispose(),c=o.editor.create(s.value,{...t({language:`shell`,readOnly:i.readonly??!1}),value:i.modelValue||``}),c.onDidChangeModelContent(()=>{l||!c||a(`update:modelValue`,c.getValue())}))}return se(()=>i.modelValue,e=>{c&&c.getValue()!==e&&(l=!0,c.setValue(e||``),l=!1)}),se(()=>i.readonly,e=>{c?.updateOptions({readOnly:e??!1})}),fe(()=>{u()}),f(()=>{c?.dispose(),c=null}),(e,t)=>(p(),A(`div`,{ref_key:`host`,ref:s,class:`script-content-editor`},null,512))}}),[[`__scopeId`,`data-v-8c9e5994`]]),Xe={class:`server-category-picker`},Ze={class:`d-flex align-center flex-wrap ga-2 mb-2`},Qe={key:0,class:`text-center text-medium-emphasis py-4`},R={class:`d-flex align-center px-1 mb-1`},$e={class:`text-caption text-medium-emphasis ml-1`},et={class:`d-flex align-center ga-2`},z={class:`text-body-2 font-weight-medium text-truncate`},B={class:`text-caption text-medium-emphasis text-truncate`},tt=I(ve({__name:`ServerCategoryPicker`,props:be({servers:{},loading:{type:Boolean,default:!1},maxHeight:{default:`280px`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=oe(e,`modelValue`),n=e,r=x(``),i=k(()=>new Set(t.value)),a=k(()=>{let e=r.value.trim().toLowerCase();return e?n.servers.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)):n.servers}),o=k(()=>{let e={};for(let t of a.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:L(e),servers:[...t].sort((e,t)=>e.name.localeCompare(t.name,`zh`))})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}),u=k(()=>{let e=a.value;return e.length>0&&e.every(e=>i.value.has(e.id))});function d(e){return e.servers.filter(e=>i.value.has(e.id)).length}function ee(e){let t=o.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>i.value.has(e.id))}function f(e){t.value=[...e]}function te(e){let n=new Set(t.value);n.has(e)?n.delete(e):n.add(e),f(n)}function h(e){let n=o.value.find(t=>t.category===e);if(!n)return;let r=new Set(t.value),i=n.servers.every(e=>r.has(e.id));for(let e of n.servers)i?r.delete(e.id):r.add(e.id);f(r)}function ne(){let e=a.value,n=new Set(t.value),r=e.length>0&&e.every(e=>n.has(e.id));for(let t of e)r?n.delete(t.id):n.add(t.id);f(n)}return(n,a)=>(p(),A(`div`,Xe,[M(`div`,Ze,[E(Pe,{"model-value":u.value,label:`全选`,density:`compact`,"hide-details":``,"onUpdate:modelValue":ne},null,8,[`model-value`]),E(De,{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`220px`},clearable:``},null,8,[`modelValue`]),t.value.length>0?(p(),w(m,{key:0,size:`small`,color:`primary`,variant:`tonal`,label:``},{default:g(()=>[D(` 已选 `+l(t.value.length)+` 台 `,1)]),_:1})):T(``,!0),e.loading?(p(),w(Ce,{key:1,indeterminate:``,size:`18`,width:`2`})):T(``,!0)]),M(`div`,{class:`picker-scroll`,style:ce({maxHeight:e.maxHeight})},[!e.loading&&o.value.length===0?(p(),A(`div`,Qe,` 暂无服务器 `)):T(``,!0),(p(!0),A(j,null,O(o.value,e=>(p(),A(`div`,{key:e.category,class:`mb-3`},[M(`div`,R,[E(y,{size:`x-small`,variant:`text`,color:ee(e.category)?`primary`:`default`,onClick:t=>h(e.category)},{default:g(()=>[E(N,{size:`16`,class:`mr-1`},{default:g(()=>[D(l(ee(e.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),D(` `+l(e.label),1)]),_:2},1032,[`color`,`onClick`]),M(`span`,$e,` (`+l(d(e))+`/`+l(e.servers.length)+`) `,1)]),E(c,{dense:``},{default:g(()=>[(p(!0),A(j,null,O(e.servers,e=>(p(),w(s,{key:e.id,cols:`12`,sm:`6`},{default:g(()=>[E(b,{color:i.value.has(e.id)?`primary`:void 0,variant:i.value.has(e.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-2 cursor-pointer`,onClick:t=>te(e.id)},{default:g(()=>[M(`div`,et,[E(N,{color:S(Le)(e.is_online),size:`10`},{default:g(()=>[...a[1]||=[D(`mdi-circle`,-1)]]),_:1},8,[`color`]),M(`span`,z,l(e.name),1)]),M(`div`,B,l(e.domain),1)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))],4)]))}}),[[`__scopeId`,`data-v-4d1df917`]]),nt={class:`text-body-1 font-weight-medium`},rt={class:`text-body-2 text-medium-emphasis`},it={class:`text-caption text-medium-emphasis mt-2`},at={key:3,class:`d-flex justify-center mt-4`},ot={class:`text-caption`},st={key:2,class:`text-center text-medium-emphasis py-6`},ct={class:`text-body-2`},lt={class:`text-caption text-medium-emphasis`},ut={class:`d-flex align-center flex-wrap ga-1`},dt={class:`text-caption text-medium-emphasis mb-2`},ft={class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},pt={key:0,class:`d-flex flex-wrap ga-2 mb-3`},mt={class:`text-body-2`},ht={class:`d-flex align-center flex-wrap ga-2 mb-3`},gt=[`onClick`],_t={class:`font-weight-medium`},vt={key:0,class:`text-caption text-medium-emphasis`},yt=[`title`],bt={key:0},xt={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},St=[`title`],Ct=[`onClick`],wt={class:`font-weight-medium`},Tt={key:0,class:`text-caption text-medium-emphasis`},Et={class:`text-error font-weight-medium`},Dt={key:4,class:`text-center text-medium-emphasis py-4`},Ot={class:`d-flex align-center flex-wrap ga-2 mb-2`},kt={class:`text-subtitle-2`},At={key:0,class:`text-medium-emphasis`},jt={class:`text-body-2 overflow-auto exec-detail-output`},V=I(ve({__name:`ScriptsPage`,setup(e){let t=[...Ne],f=i(),oe=Oe(),{servers:ce,loading:ve,loadServers:be}=Ie(),Ce=[{label:`运维`,value:`ops`},{label:`部署`,value:`deploy`},{label:`检查`,value:`check`},{label:`清理`,value:`cleanup`}],Pe=x(!1),Le=x(``),I=x([]),L=x(null),Xe=x([]),Ze=x(1),Qe=x(20),R=x(!1),$e=x(null),et=x(!1),z=x({name:``,category:`ops`,description:``,content:``}),B=x(!1),V=x(null),H=x([]),Mt=x(300),Nt=x(!1),Pt=x(null),Ft=x(!1),It=x(!1),Lt=x(null),Rt=x(null),zt=x([]),Bt=x(!1),Vt=x([]),Ht=x(0),U=x(1),Ut=x(20),Wt=x(!1),W=x(null),Gt=x(!1),Kt=x(``),G=x([]),qt=x(60),Jt=x(!1),Yt=x(null),Xt=x(!1),Zt=x(!1),K=x(null),Qt=x(!1),$t=x(null),q=x(`all`),en=x(`list`),J=x(null),tn=x([]),nn=k(()=>Xe.value.map(e=>({title:e.name,value:e.id}))),rn=k(()=>{let e=Le.value.trim().toLowerCase();return e?I.value.filter(t=>t.name.toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):I.value}),an=k(()=>rn.value.length),on=k(()=>{let e=(Ze.value-1)*Qe.value;return rn.value.slice(e,e+Qe.value)});se(Le,()=>{Ze.value=1});let sn=Me([{title:`ID`,key:`id`,width:72},{title:`脚本/命令`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:180}]),cn=k(()=>W.value?I.value.find(e=>e.id===W.value)?.name||`脚本 #${W.value}`:``),ln={started:`开始`,batch_progress:`批次进度`,execution_finished:`结束`,stopped:`停止`,retry_requested:`重试`,stuck_marked:`标记卡住`,server_auto_stuck:`子机超时`,auto_stuck:`自动卡住`,job_completed:`回调完成`},un=k(()=>new Map(ce.value.map(e=>[e.id,e])));function dn(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let Y=k(()=>{if(!K.value?.results)return[];let e=un.value;return Object.entries(K.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=dn(n),l=ne(a,o,s),u=pe(o);return{serverId:t,serverIdNum:r,serverName:he(t,K.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:l,pending:u}}).sort((e,t)=>e.failed===t.failed?e.pending===t.pending?e.serverName.localeCompare(t.serverName,`zh`):e.pending?1:-1:e.failed?-1:1)}),X=k(()=>te(K.value?.results,K.value?.server_ids)),fn=k(()=>Y.value.filter(e=>e.failed).map(e=>e.serverName)),pn=k(()=>We(Y.value)),mn=k(()=>q.value===`failed`?Y.value.filter(e=>e.failed):q.value===`success`?Y.value.filter(e=>!e.failed&&!e.pending):Y.value),Z=k(()=>Y.value.find(e=>e.serverId===J.value)||null);function hn(e){return te(e.results,e.server_ids)}function gn(e){return Ce.find(t=>t.value===e)?.label||e}function _n(e){if(!e)return`—`;let t=e.startsWith(`[long_task] `)?e.slice(12):e;return t.length>60?`${t.slice(0,60)}…`:t}function vn(e){return e.script_id?I.value.find(t=>t.id===e.script_id)?.name||`脚本 #${e.script_id}`:`临时命令`}function yn(e){if(!e)return`—`;let t=new Date(e);if(Number.isNaN(t.getTime()))return e.replace(`T`,` `).slice(0,19);let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function bn(e){let t=e.events||[];return t.length?t.slice(-3).map(e=>{let t=ln[e.action||``]||e.action||`事件`,n=yn(e.at),r=e.detail||``;return`${n} · ${t}${r?` — ${r}`:``}`}):[]}async function xn(e=!1){e||(Bt.value=!0);try{zt.value=(await C.get(`/scripts/executions`,{limit:5})).items||[]}catch{e||(zt.value=[])}finally{e||(Bt.value=!1)}}async function Q(e=!1){e||(Wt.value=!0);try{let e=await Re(async(e,t)=>{let n={limit:e,offset:t};W.value&&(n.script_id=W.value);let r=await C.get(`/scripts/executions`,n);return{items:r.items||[],total:r.total||0}},U.value,Ut.value);Vt.value=e.items,Ht.value=e.total,Ut.value===-1&&(U.value=1)}catch{e||(Vt.value=[],Ht.value=0)}finally{e||(Wt.value=!1)}}function $(e=!1){xn(e),Q(e)}Ue($);function Sn(e){U.value=e,Q()}function Cn(e){Ut.value=e,U.value=1,Q()}function wn(){W.value=null,U.value=1,Q()}async function Tn(e){W.value=e.id,U.value=1,await Q(),await ue(),Rt.value?.scrollIntoView({behavior:`smooth`,block:`start`})}function En(e){return e||`—`}function Dn(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function On(e){let t=e.id??e.execution_id;if(t==null)throw Error(`执行响应缺少 id`);return t}async function kn(){Pe.value=!0;try{I.value=(await C.getList(`/scripts/`)).items}catch(e){I.value=[],f(F(e,`加载脚本列表失败`),`error`)}finally{Pe.value=!1}}async function An(){try{L.value=await C.get(`/scripts/exec-config`)}catch{L.value=null}}async function jn(){try{Xe.value=await C.getList(`/scripts/credentials`).then(e=>e.items)}catch{Xe.value=[]}}function Mn(e){$e.value=e,e?z.value={name:e.name,category:e.category||`ops`,description:e.description||``,content:e.content||``}:z.value={name:``,category:`ops`,description:``,content:``},R.value=!0}async function Nn(){if(!z.value.name.trim()||!z.value.content.trim()){f(`请填写名称与脚本内容`,`warning`);return}et.value=!0;try{let e={name:z.value.name.trim(),category:z.value.category,description:z.value.description.trim()||null,content:z.value.content};$e.value?await C.put(`/scripts/${$e.value.id}`,e):await C.post(`/scripts/`,e),R.value=!1,await kn(),f(`保存成功`)}catch(e){f(F(e,`保存失败`),`error`)}finally{et.value=!1}}function Pn(e){V.value=e,H.value=[],Nt.value=!1,Pt.value=null,B.value=!0}async function Fn(e,t,n){let r=await C.post(`/scripts/exec`,e);return re(On(r),t,n,!!e.long_task,r.progress,r.status),r}async function In(){if(!V.value||!H.value.length){f(`请选择服务器`,`warning`);return}Ft.value=!0;try{await Fn({script_id:V.value.id,server_ids:H.value,timeout:Mt.value,long_task:Nt.value,credential_id:Pt.value??void 0},V.value.name,H.value.length),B.value=!1,Se(`脚本已提交执行`),$()}catch(e){f(F(e,`执行失败`),`error`)}finally{Ft.value=!1}}function Ln(e){Lt.value=e,It.value=!0}async function Rn(){if(Lt.value)try{await C.delete(`/scripts/${Lt.value.id}`),It.value=!1,await kn(),f(`已删除`)}catch(e){f(F(e,`删除失败`),`error`)}}async function zn(){if(!(!Kt.value.trim()||G.value.length===0)){Xt.value=!0;try{await Fn({command:Kt.value.trim(),server_ids:G.value,timeout:qt.value,long_task:Jt.value,credential_id:Yt.value??void 0},`临时命令`,G.value.length),Se(`已在 ${G.value.length} 台服务器上执行`),$()}catch(e){f(F(e,`执行失败`),`error`)}finally{Xt.value=!1}}}async function Bn(e){try{await C.post(`/scripts/executions/${e.id}/stop`),$(),f(`已发送停止指令`)}catch(e){f(F(e,`停止失败`),`error`)}}async function Vn(e){try{let t=await C.post(`/scripts/executions/${e.id}/retry`,{});re(On(t),`${vn(e)}(重试)`,Dn(e.server_ids)||Dn(t.server_ids),!!e.long_task,t.progress,t.status),$(),Se(`重试已提交`)}catch(e){f(F(e,`重试失败`),`error`)}}async function Hn(e){if($t.value=e,q.value=`all`,en.value=`list`,J.value=null,tn.value=[],Zt.value=!0,await Zn(!1),te(K.value?.results,K.value?.server_ids).failed>0&&(K.value?.status===`failed`||K.value?.status===`partial`)){q.value=`failed`;let e=Y.value.find(e=>e.failed);e&&(J.value=e.serverId)}}function Un(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` +`)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function Wn(e,t){try{await navigator.clipboard.writeText(e),f(t)}catch{f(`复制失败`,`error`)}}async function Gn(){let e=Y.value.filter(e=>e.failed);e.length&&await Wn([`执行 #${K.value?.id??$t.value} · 失败 ${e.length} 台`,...e.map(Un)].join(` +`),`已复制失败清单`)}async function Kn(){let e=pn.value;if(!e.length)return;let t=[`执行 #${K.value?.id??$t.value} · 失败分组 ${e.length} 类`];for(let n of e){let e=n.rows.map(e=>e.serverName).join(`、`);t.push(`[${n.errorKey.slice(0,120)}] ${n.count} 台: ${e}`)}await Wn(t.join(` +`),`已复制分组摘要`)}function qn(e){J.value=J.value===e?null:e}async function Jn(e){if(!(!e.fullOutput||e.fullOutput===`—`))try{await navigator.clipboard.writeText(e.fullOutput),f(`已复制到剪贴板`)}catch{f(`复制失败`,`error`)}}function Yn(e){oe.push({path:`/terminal`,query:{server_id:String(e)}})}async function Xn(){K.value&&await Vn(K.value)}async function Zn(e){if($t.value!=null){Qt.value=!0;try{K.value=await C.get(`/scripts/executions/${$t.value}`,{fetch_logs:e,log_lines:100})}catch(e){f(F(e,`加载详情失败`),`error`),Zt.value=!1}finally{Qt.value=!1}}}return fe(()=>{kn(),be({all:!0}),An(),jn(),$()}),(e,i)=>(p(),w(o,{fluid:``,class:`pa-6`},{default:g(()=>[E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:g(()=>[E(d,{class:`d-flex flex-wrap align-center ga-2`},{default:g(()=>[i[34]||=D(` 脚本库 `,-1),L.value?(p(),w(m,{key:0,size:`small`,variant:`tonal`,label:``,class:`ml-1`},{default:g(()=>[D(` 分批 `+l(L.value.batch_size)+` 台 · 并发 `+l(L.value.concurrency),1)]),_:1})):T(``,!0),E(_),E(De,{modelValue:Le.value,"onUpdate:modelValue":i[0]||=e=>Le.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`}},null,8,[`modelValue`]),E(y,{color:`primary`,variant:`flat`,class:`ml-1`,"prepend-icon":`mdi-plus`,size:`small`,onClick:i[1]||=e=>Mn(null)},{default:g(()=>[...i[33]||=[D(` 新建脚本 `,-1)]]),_:1})]),_:1})]),_:1}),E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:g(()=>[E(d,{class:`d-flex align-center`,style:{cursor:`pointer`},onClick:i[2]||=e=>Gt.value=!Gt.value},{default:g(()=>[E(N,{class:`mr-2`},{default:g(()=>[...i[35]||=[D(`mdi-console`,-1)]]),_:1}),i[36]||=D(` 临时命令执行 `,-1),E(_),E(N,null,{default:g(()=>[D(l(Gt.value?`mdi-chevron-up`:`mdi-chevron-down`),1)]),_:1})]),_:1}),E(ie,null,{default:g(()=>[ae(M(`div`,null,[E(v),E(P,null,{default:g(()=>[E(Ve,{modelValue:Kt.value,"onUpdate:modelValue":i[3]||=e=>Kt.value=e,label:`命令`,variant:`outlined`,density:`compact`,rows:`3`,placeholder:`输入要执行的命令... (Ctrl+Enter 执行)`,class:`mb-3 font-monospace`,onKeydown:ye(we(zn,[`ctrl`]),[`enter`]),rules:[S(ze)(`命令`)]},null,8,[`modelValue`,`onKeydown`,`rules`]),i[38]||=M(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),E(tt,{modelValue:G.value,"onUpdate:modelValue":i[4]||=e=>G.value=e,servers:S(ce),loading:S(ve),"max-height":`220px`,class:`mb-3`},null,8,[`modelValue`,`servers`,`loading`]),E(c,{dense:``},{default:g(()=>[E(s,{cols:`6`,md:`2`},{default:g(()=>[E(De,{modelValue:qt.value,"onUpdate:modelValue":i[5]||=e=>qt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:L.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),E(s,{cols:`6`,md:`3`},{default:g(()=>[E(a,{modelValue:Yt.value,"onUpdate:modelValue":i[6]||=e=>Yt.value=e,items:nn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),E(s,{cols:`12`,md:`2`,class:`d-flex align-center ga-2`},{default:g(()=>[E(He,{modelValue:Jt.value,"onUpdate:modelValue":i[7]||=e=>Jt.value=e,label:`长任务`,density:`compact`,"hide-details":``,color:`primary`},null,8,[`modelValue`]),E(y,{color:`primary`,variant:`flat`,onClick:zn,loading:Xt.value,disabled:!Kt.value.trim()||G.value.length===0},{default:g(()=>[...i[37]||=[D(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1})],512),[[xe,Gt.value]])]),_:1})]),_:1}),Pe.value?(p(),w(Te,{key:0,indeterminate:``,color:`primary`})):T(``,!0),on.value.length?(p(),w(c,{key:1},{default:g(()=>[(p(!0),A(j,null,O(on.value,e=>(p(),w(s,{cols:`12`,sm:`6`,md:`4`,key:e.id},{default:g(()=>[E(b,{elevation:`0`,border:``,rounded:`lg`,class:`fill-height`},{default:g(()=>[E(d,{class:`d-flex align-center`},{default:g(()=>[E(N,{color:`primary`,class:`mr-2`},{default:g(()=>[...i[39]||=[D(`mdi-code-braces`,-1)]]),_:1}),M(`span`,nt,l(e.name),1),E(_),E(ke,null,{activator:g(({props:e})=>[E(y,Ae({icon:`mdi-dots-vertical`,variant:`text`,size:`small`},{ref_for:!0},e),null,16)]),default:g(()=>[E(de,{density:`compact`},{default:g(()=>[E(u,{title:`编辑`,onClick:t=>Mn(e)},{prepend:g(()=>[E(N,null,{default:g(()=>[...i[40]||=[D(`mdi-pencil`,-1)]]),_:1})]),_:1},8,[`onClick`]),E(u,{title:`执行`,onClick:t=>Pn(e)},{prepend:g(()=>[E(N,null,{default:g(()=>[...i[41]||=[D(`mdi-play`,-1)]]),_:1})]),_:1},8,[`onClick`]),E(u,{title:`删除`,onClick:t=>Ln(e),class:`text-error`},{prepend:g(()=>[E(N,{color:`error`},{default:g(()=>[...i[42]||=[D(`mdi-delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024),E(P,null,{default:g(()=>[e.category?(p(),w(m,{key:0,size:`small`,variant:`tonal`,label:``,class:`mb-2`},{default:g(()=>[D(l(gn(e.category)),1)]),_:2},1024)):T(``,!0),M(`div`,rt,l(e.description||`无描述`),1),M(`div`,it,` 更新于 `+l(e.updated_at||e.created_at||`—`),1)]),_:2},1024),E(h,null,{default:g(()=>[E(y,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-play`,color:`primary`,onClick:t=>Pn(e)},{default:g(()=>[...i[43]||=[D(` 执行 `,-1)]]),_:1},8,[`onClick`]),E(_),E(y,{size:`small`,variant:`text`,onClick:t=>Tn(e)},{default:g(()=>[...i[44]||=[D(`历史`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):Pe.value?T(``,!0):(p(),w(b,{key:2,elevation:`0`,border:``,rounded:`lg`},{default:g(()=>[E(P,{class:`text-center text-medium-emphasis py-10`},{default:g(()=>[...i[45]||=[D(`暂无脚本,点击「新建脚本」添加`,-1)]]),_:1})]),_:1})),an.value>Qe.value?(p(),A(`div`,at,[E(r,{modelValue:Ze.value,"onUpdate:modelValue":i[8]||=e=>Ze.value=e,length:Math.ceil(an.value/Qe.value),rounded:``,density:`compact`},null,8,[`modelValue`,`length`])])):T(``,!0),M(`div`,{ref_key:`historySectionRef`,ref:Rt},[E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:g(()=>[E(d,{class:`d-flex align-center text-subtitle-1`},{default:g(()=>[E(N,{class:`mr-2`},{default:g(()=>[...i[46]||=[D(`mdi-history`,-1)]]),_:1}),i[47]||=D(` 最近执行 `,-1),E(_),E(y,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Bt.value,onClick:xn},null,8,[`loading`])]),_:1}),E(v),E(P,{class:`pa-0`},{default:g(()=>[Bt.value?(p(),w(Te,{key:0,indeterminate:``,color:`primary`})):T(``,!0),zt.value.length?(p(),w(de,{key:1,density:`compact`,class:`py-0`},{default:g(()=>[(p(!0),A(j,null,O(zt.value,e=>(p(),w(u,{key:e.id,title:`#${e.id} · ${vn(e)}`,onClick:t=>Hn(e.id),style:{cursor:`pointer`}},{subtitle:g(()=>[M(`div`,ot,l(S(me)(e.status))+` · `+l(Dn(e.server_ids))+` 台 · `+l(e.operator||`—`)+` · `+l(yn(e.started_at)),1),(p(!0),A(j,null,O(bn(e),(e,t)=>(p(),A(`div`,{key:t,class:`text-caption text-medium-emphasis font-monospace mt-1`},l(e),1))),128))]),append:g(()=>[E(m,{color:S(ee)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(me)(e.status)),1)]),_:2},1032,[`color`])]),_:2},1032,[`title`,`onClick`]))),128))]),_:1})):Bt.value?T(``,!0):(p(),A(`div`,st,`暂无执行记录`))]),_:1})]),_:1}),E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:g(()=>[E(d,{class:`d-flex flex-wrap align-center ga-2 text-subtitle-1`},{default:g(()=>[E(N,{class:`mr-1`},{default:g(()=>[...i[48]||=[D(`mdi-format-list-bulleted`,-1)]]),_:1}),i[49]||=D(` 全部执行历史 `,-1),W.value?(p(),w(m,{key:0,size:`small`,variant:`tonal`,closable:``,label:``,"onClick:close":wn},{default:g(()=>[D(l(cn.value),1)]),_:1})):T(``,!0),E(_),E(y,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Wt.value,onClick:Q},null,8,[`loading`])]),_:1}),E(v),E(Fe,{items:Vt.value,headers:S(sn),"items-length":Ht.value,loading:Wt.value,page:U.value,"items-per-page":Ut.value,"items-per-page-options":t,density:`compact`,hover:``,"onUpdate:page":Sn,"onUpdate:itemsPerPage":Cn},{"item.label":g(({item:e})=>[M(`div`,ct,l(vn(e)),1),M(`code`,lt,l(_n(e.command)),1)]),"item.status":g(({item:e})=>[E(m,{color:S(ee)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(me)(e.status)),1)]),_:2},1032,[`color`])]),"item.server_count":g(({item:e})=>[D(l(Dn(e.server_ids)),1)]),"item.progress":g(({item:e})=>[M(`div`,ut,[M(`span`,null,l(En(e.progress)),1),hn(e).failed>0?(p(),w(m,{key:0,color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(hn(e).failed)+` 台失败 `,1)]),_:2},1024)):T(``,!0)])]),"item.started_at":g(({item:e})=>[D(l(yn(e.started_at)),1)]),"item.actions":g(({item:e})=>[E(y,{size:`x-small`,variant:`text`,onClick:t=>Hn(e.id)},{default:g(()=>[...i[50]||=[D(`详情`,-1)]]),_:1},8,[`onClick`]),e.status===`running`||e.status===`partial`?(p(),w(y,{key:0,size:`x-small`,variant:`text`,color:`error`,onClick:t=>Bn(e)},{default:g(()=>[...i[51]||=[D(` 停止 `,-1)]]),_:1},8,[`onClick`])):T(``,!0),e.status===`failed`||e.status===`partial`?(p(),w(y,{key:1,size:`x-small`,variant:`text`,color:`primary`,onClick:t=>Vn(e)},{default:g(()=>[...i[52]||=[D(` 重试 `,-1)]]),_:1},8,[`onClick`])):T(``,!0)]),"no-data":g(()=>[...i[53]||=[M(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1})],512),E(Be,{modelValue:R.value,"onUpdate:modelValue":i[14]||=e=>R.value=e,"max-width":`900`,scrollable:``},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,null,{default:g(()=>[D(l($e.value?`编辑脚本`:`新建脚本`),1)]),_:1}),E(v),E(P,null,{default:g(()=>[E(De,{modelValue:z.value.name,"onUpdate:modelValue":i[9]||=e=>z.value.name=e,label:`脚本名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[S(ze)(`脚本名称`)]},null,8,[`modelValue`,`rules`]),E(a,{modelValue:z.value.category,"onUpdate:modelValue":i[10]||=e=>z.value.category=e,items:Ce,"item-title":`label`,"item-value":`value`,label:`分类`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),E(Ve,{modelValue:z.value.description,"onUpdate:modelValue":i[11]||=e=>z.value.description=e,label:`描述`,variant:`outlined`,density:`compact`,rows:`2`,class:`mb-2`},null,8,[`modelValue`]),i[54]||=M(`div`,{class:`text-caption text-medium-emphasis mb-1`},`脚本内容`,-1),E(Ye,{modelValue:z.value.content,"onUpdate:modelValue":i[12]||=e=>z.value.content=e},null,8,[`modelValue`])]),_:1}),E(v),E(h,null,{default:g(()=>[E(_),E(y,{variant:`text`,onClick:i[13]||=e=>R.value=!1},{default:g(()=>[...i[55]||=[D(`取消`,-1)]]),_:1}),E(y,{color:`primary`,variant:`flat`,onClick:Nn,loading:et.value,disabled:!z.value.content.trim()},{default:g(()=>[...i[56]||=[D(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(Be,{modelValue:B.value,"onUpdate:modelValue":i[20]||=e=>B.value=e,"max-width":`720`,scrollable:``},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,null,{default:g(()=>[D(`执行脚本: `+l(V.value?.name),1)]),_:1}),E(P,null,{default:g(()=>[i[57]||=M(`div`,{class:`text-caption text-medium-emphasis mb-1`},`选择服务器(按分类勾选)`,-1),E(tt,{modelValue:H.value,"onUpdate:modelValue":i[15]||=e=>H.value=e,servers:S(ce),loading:S(ve),"max-height":`360px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),E(c,{dense:``},{default:g(()=>[E(s,{cols:`6`},{default:g(()=>[E(De,{modelValue:Mt.value,"onUpdate:modelValue":i[16]||=e=>Mt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:L.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),E(s,{cols:`6`},{default:g(()=>[E(a,{modelValue:Pt.value,"onUpdate:modelValue":i[17]||=e=>Pt.value=e,items:nn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``},null,8,[`modelValue`,`items`])]),_:1})]),_:1}),E(He,{modelValue:Nt.value,"onUpdate:modelValue":i[18]||=e=>Nt.value=e,label:`长任务(nohup + Agent 回调,适合超时较长的脚本)`,density:`compact`,color:`primary`},null,8,[`modelValue`])]),_:1}),E(h,null,{default:g(()=>[E(_),E(y,{variant:`text`,onClick:i[19]||=e=>B.value=!1},{default:g(()=>[...i[58]||=[D(`取消`,-1)]]),_:1}),E(y,{color:`primary`,variant:`flat`,onClick:In,loading:Ft.value,disabled:!H.value.length},{default:g(()=>[...i[59]||=[D(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(Be,{modelValue:It.value,"onUpdate:modelValue":i[22]||=e=>It.value=e,"max-width":`400`},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,null,{default:g(()=>[...i[60]||=[D(`确认删除`,-1)]]),_:1}),E(P,null,{default:g(()=>[i[61]||=D(`确定要删除脚本 `,-1),M(`strong`,null,l(Lt.value?.name),1),i[62]||=D(` 吗?`,-1)]),_:1}),E(h,null,{default:g(()=>[E(_),E(y,{variant:`text`,onClick:i[21]||=e=>It.value=!1},{default:g(()=>[...i[63]||=[D(`取消`,-1)]]),_:1}),E(y,{color:`error`,variant:`flat`,onClick:Rn},{default:g(()=>[...i[64]||=[D(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(Be,{modelValue:Zt.value,"onUpdate:modelValue":i[32]||=e=>Zt.value=e,"max-width":`960`,scrollable:``},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,{class:`d-flex align-center flex-wrap ga-2`},{default:g(()=>[M(`span`,null,`执行详情 #`+l(K.value?.id),1),K.value?(p(),w(m,{key:0,color:S(ee)(K.value.status),size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(me)(K.value.status)),1)]),_:1},8,[`color`])):T(``,!0),E(_),K.value?.long_task?(p(),w(y,{key:1,size:`small`,variant:`tonal`,loading:Qt.value,onClick:i[23]||=e=>Zn(!0)},{default:g(()=>[...i[65]||=[D(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):T(``,!0)]),_:1}),E(v),K.value?(p(),w(P,{key:0},{default:g(()=>[M(`div`,dt,l(En(K.value.progress))+` · 操作人 `+l(K.value.operator||`—`),1),M(`pre`,ft,l(K.value.command),1),X.value.total?(p(),A(`div`,pt,[E(m,{size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(`共 `+l(X.value.total)+` 台`,1)]),_:1}),X.value.success?(p(),w(m,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(` 成功 `+l(X.value.success),1)]),_:1})):T(``,!0),X.value.failed?(p(),w(m,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(` 失败 `+l(X.value.failed),1)]),_:1})):T(``,!0),X.value.pending?(p(),w(m,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(` 进行中 `+l(X.value.pending),1)]),_:1})):T(``,!0)])):T(``,!0),fn.value.length?(p(),w(ge,{key:1,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${fn.value.length} 台`},{default:g(()=>[M(`div`,mt,l(fn.value.join(`、`)),1)]),_:1},8,[`title`])):T(``,!0),M(`div`,ht,[i[74]||=M(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),E(Ee,{modelValue:q.value,"onUpdate:modelValue":i[24]||=e=>q.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:g(()=>[E(y,{value:`all`,size:`small`},{default:g(()=>[...i[66]||=[D(`全部`,-1)]]),_:1}),E(y,{value:`failed`,size:`small`},{default:g(()=>[...i[67]||=[D(`仅失败`,-1)]]),_:1}),E(y,{value:`success`,size:`small`},{default:g(()=>[...i[68]||=[D(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),X.value.failed>0?(p(),A(j,{key:0},[E(v,{vertical:``,class:`mx-1`}),i[73]||=M(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),E(Ee,{modelValue:en.value,"onUpdate:modelValue":i[25]||=e=>en.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:g(()=>[E(y,{value:`list`,size:`small`},{default:g(()=>[...i[69]||=[D(`列表`,-1)]]),_:1}),E(y,{value:`group`,size:`small`},{default:g(()=>[...i[70]||=[D(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),E(y,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Gn},{default:g(()=>[...i[71]||=[D(` 复制失败清单 `,-1)]]),_:1}),en.value===`group`?(p(),w(y,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Kn},{default:g(()=>[...i[72]||=[D(` 复制分组摘要 `,-1)]]),_:1})):T(``,!0)],64)):T(``,!0)]),en.value===`list`?(p(),w(n,{key:2,density:`compact`,class:`exec-detail-table`},{default:g(()=>[i[76]||=M(`thead`,null,[M(`tr`,null,[M(`th`,null,`服务器`),M(`th`,null,`状态`),M(`th`,{style:{width:`72px`}},`退出码`),M(`th`,null,`错误摘要`),M(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),M(`tbody`,null,[(p(!0),A(j,null,O(mn.value,e=>(p(),A(`tr`,{key:e.serverId,class:_e([{"exec-detail-row--failed":e.failed,"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[M(`td`,null,[M(`div`,_t,l(e.serverName),1),e.serverDomain?(p(),A(`div`,vt,l(e.serverDomain),1)):T(``,!0)]),M(`td`,null,[E(m,{color:S(le)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(je)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),M(`td`,{class:_e({"text-error font-weight-medium":e.failed})},l(e.exitCode??`—`),3),M(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},l(e.summary),9,yt),M(`td`,{class:`text-end`,onClick:i[26]||=we(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(p(),w(y,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):T(``,!0),E(y,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,gt))),128)),mn.value.length===0?(p(),A(`tr`,bt,[...i[75]||=[M(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):T(``,!0)])]),_:1})):pn.value.length?(p(),w(Je,{key:3,modelValue:tn.value,"onUpdate:modelValue":i[28]||=e=>tn.value=e,multiple:``,variant:`accordion`,class:`exec-detail-groups`},{default:g(()=>[(p(!0),A(j,null,O(pn.value,(e,t)=>(p(),w(Ke,{key:`${t}-${e.errorKey}`},{default:g(()=>[E(qe,null,{default:g(()=>[M(`div`,xt,[M(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},l(e.errorKey),9,St),E(m,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),E(Ge,null,{default:g(()=>[E(n,{density:`compact`},{default:g(()=>[i[77]||=M(`thead`,null,[M(`tr`,null,[M(`th`,null,`服务器`),M(`th`,{style:{width:`72px`}},`退出码`),M(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),M(`tbody`,null,[(p(!0),A(j,null,O(e.rows,e=>(p(),A(`tr`,{key:e.serverId,class:_e([{"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[M(`td`,null,[M(`div`,wt,l(e.serverName),1),e.serverDomain?(p(),A(`div`,Tt,l(e.serverDomain),1)):T(``,!0)]),M(`td`,Et,l(e.exitCode??`—`),1),M(`td`,{class:`text-end`,onClick:i[27]||=we(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(p(),w(y,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):T(``,!0),E(y,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,Ct))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):(p(),A(`div`,Dt,`无失败记录可分组`)),Z.value?(p(),w(b,{key:5,variant:`tonal`,color:Z.value.failed?`error`:void 0,class:`mt-3 pa-3`},{default:g(()=>[M(`div`,Ot,[M(`span`,kt,[D(l(Z.value.serverName)+` `,1),Z.value.serverDomain?(p(),A(`span`,At,`(`+l(Z.value.serverDomain)+`)`,1)):T(``,!0)]),E(_),E(y,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-content-copy`,onClick:i[29]||=e=>Jn(Z.value)},{default:g(()=>[...i[78]||=[D(` 复制 `,-1)]]),_:1}),E(y,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-console`,onClick:i[30]||=e=>Yn(Z.value.serverIdNum)},{default:g(()=>[...i[79]||=[D(` 终端 `,-1)]]),_:1})]),M(`pre`,jt,l(Z.value.fullOutput),1)]),_:1},8,[`color`])):T(``,!0)]),_:1})):T(``,!0),K.value?(p(),w(h,{key:1},{default:g(()=>[K.value.status===`failed`||K.value.status===`partial`?(p(),w(y,{key:0,color:`primary`,variant:`text`,onClick:Xn},{default:g(()=>[...i[80]||=[D(` 重试失败项 `,-1)]]),_:1})):T(``,!0),E(_),E(y,{variant:`text`,onClick:i[31]||=e=>Zt.value=!1},{default:g(()=>[...i[81]||=[D(`关闭`,-1)]]),_:1})]),_:1})):T(``,!0)]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-9245f7f3`]]);export{V as default}; \ No newline at end of file diff --git a/web/app/assets/ServersPage-LVgDB3Rh.js b/web/app/assets/ServersPage-LVgDB3Rh.js new file mode 100644 index 00000000..ea9ac9e2 --- /dev/null +++ b/web/app/assets/ServersPage-LVgDB3Rh.js @@ -0,0 +1,7 @@ +import{a as e,t}from"./VDataTable-B6PKw1TS.js";import{_ as n,a as r,c as i,d as a,i as o,l as s,n as c,o as ee,r as te,s as ne,t as l,u as re,v as u}from"./VSelect-Dy1HeCdk.js";import{n as d,t as f}from"./VRow-CamZ4OJs.js";import{$r as p,A as ie,B as m,Bn as ae,Cn as h,D as oe,Dr as g,F as _,H as v,Ir as y,J as se,Jn as ce,Kr as le,M as ue,N as b,Nn as de,O as fe,On as pe,P as me,Pn as he,Pr as x,Q as S,Qn as ge,Qr as _e,R as C,Rr as ve,Sr as ye,T as be,Tr as xe,U as w,Ur as T,Wr as E,Yn as D,Yr as O,Z as Se,Zn as Ce,Zr as k,Zt as A,_ as we,_n as Te,_r as Ee,ar as De,bt as Oe,dn as ke,dr as j,fr as M,ft as Ae,gr as N,hr as P,j as je,k as Me,kr as F,ln as Ne,lr as I,lt as L,m as Pe,mn as Fe,n as Ie,or as R,ot as Le,pr as z,pt as Re,sr as B,t as V,tn as ze,u as Be,ur as H,ut as Ve,v as He,xr as U,y as Ue,yn as W,z as G}from"./index-C6qJAv49.js";import{t as We}from"./dataTable-esDY4cOk.js";import{t as Ge}from"./VDataTableServer-Dh4BHVrk.js";import{t as K}from"./apiError-DukIeo5O.js";import{n as Ke}from"./labels-CzOhyWto.js";import{i as q}from"./validation-DMwOxx4a.js";import{t as J}from"./VDialog-P-nMQayc.js";import{t as qe}from"./VTextarea-Dnh3HyOO.js";import{a as Je,i as Ye,n as Xe,r as Ze,t as Qe}from"./StatCardsRow-Cd1utvc9.js";import{i as Y,n as $e,r as et,t as tt}from"./VTabs-BcjxNt4c.js";import{t as nt}from"./usePageAutoRefresh-qyIz2rJd.js";import{i as rt,n as it,r as at,t as ot}from"./VExpansionPanels-RdQ6j6OE.js";import{n as st,t as ct}from"./useServerCategories-WSJPDvJY.js";function lt(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.trunc(e);if(typeof e==`string`&&/^\d+$/.test(e.trim())){let t=Number(e.trim());return Number.isFinite(t)&&t>0?t:null}return null}function ut(e){let t=[];for(let n of e){let e=lt(typeof n==`object`&&n&&`id`in n?n.id:n);e!==null&&t.push(e)}return[...new Set(t)]}var dt=h({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...r({filterKeys:[`title`]}),...c({hideNoData:!0,returnObject:!0}),...D(Ie({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`])},`VCombobox`),ft=W()({name:`VCombobox`,props:dt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,{emit:t,slots:n}){let{t:r}=Ne(),c=T(),l=E(!1),u=E(!0),d=E(!1),f=T(),p=T(),m=E(-1),h=!1,{items:g,transformIn:v,transformOut:y}=fe(e),{textColorClasses:se,textColorStyles:ue}=Oe(()=>c.value?.color),{InputIcon:b}=Pe(e),S=ke(e,`modelValue`,[],e=>v(Ce(e)),t=>{let n=y(t);return e.multiple?n:n[0]??null}),C=Be(e),ve=le(()=>e.closableChips&&!C.isReadonly.value&&!C.isDisabled.value),xe=I(()=>!!(e.chips||n.chip)),D=I(()=>xe.value||!!n.selection),O=E(!e.multiple&&!D.value?S.value[0]?.title??``:``),Se=E(null),A=I({get:()=>O.value,set:async t=>{if(O.value=t??``,t===null||t===``&&!e.multiple&&!D.value?S.value=[]:!e.multiple&&!D.value&&(S.value=[oe(e,t)],ye(()=>p.value?.scrollToIndex(0))),t&&e.multiple&&e.delimiters?.length){let e=$e(t);e.length>1&&(et(e),O.value=``)}t||(m.value=-1),u.value=!t}}),Ee=I(()=>typeof e.counterValue==`function`?e.counterValue(S.value):typeof e.counterValue==`number`?e.counterValue:e.multiple?S.value.length:A.value.length),{filteredItems:De,getMatches:j}=ee(e,g,()=>Se.value??(e.alwaysFilter||!u.value?A.value:``)),M=I(()=>e.hideSelected&&Se.value===null?De.value.filter(e=>!S.value.some(t=>t.value===e.value)):De.value),je=I(()=>e.hideNoData&&!M.value.length||C.isReadonly.value||C.isDisabled.value),F=ke(e,`menu`),L=I({get:()=>F.value,set:e=>{F.value&&!e&&f.value?.ΨopenChildren.size||e&&je.value||(F.value=e)}}),{menuId:Ie,ariaExpanded:R,ariaControls:Le}=te(e,L);x(O,e=>{h?ye(()=>h=!1):l.value&&!L.value&&(L.value=!0),t(`update:search`,e)}),x(S,t=>{!e.multiple&&!D.value&&(O.value=t[0]?.title??``)});let z=I(()=>S.value.map(e=>e.value)),Re=I(()=>M.value.find(e=>e.type===`item`&&!e.props.disabled)),ze=I(()=>(e.autoSelectFirst===!0||e.autoSelectFirst===`exact`&&A.value===Re.value?.title)&&M.value.length>0&&!u.value&&!d.value),W=T(),G=T(),We=T(),Ge=i(W,c),K=s(L,()=>f.value?.contentEl,()=>c.value?.controlRef),{onTabKeydown:Ke}=ne({groups:[{type:`element`,contentRef:G},{type:`list`,contentRef:W,displayItemsCount:()=>M.value.length},{type:`element`,contentRef:We}],onLeave:()=>{L.value=!1,c.value?.focus()}});function q(t){h=!0,ye(()=>h=!1),e.openOnClear&&(L.value=!0)}function J(){je.value||(L.value=!0)}function qe(e){je.value||(l.value&&(e.preventDefault(),e.stopPropagation()),L.value=!L.value)}function Je(e){e.key===`Tab`&&Ke(e),W.value?.$el.contains(e.target)&&(pe(e)||e.key===`Backspace`)&&c.value?.focus()}function Ye(t){if(ae(t)||C.isReadonly.value)return;let n=c.value?.selectionStart,r=S.value.length;if([`Enter`,`ArrowDown`,`ArrowUp`].includes(t.key)&&t.preventDefault(),[`Enter`,`ArrowDown`].includes(t.key)&&(L.value=!0),[`Escape`].includes(t.key)&&(L.value=!1),ze.value&&[`Enter`,`Tab`].includes(t.key)&&Re.value&&!S.value.some(({value:e})=>e===Re.value.value)&&Y(Re.value),t.key===`ArrowDown`&&ze.value&&W.value?.focus(`next`),t.key===`Enter`&&A.value&&(Y(oe(e,A.value),!0,!0),D.value&&(O.value=``)),[`Backspace`,`Delete`].includes(t.key)){if(!e.multiple&&D.value&&S.value.length>0&&!A.value)return Y(S.value[0],!1);if(~m.value){t.preventDefault();let e=m.value;Y(S.value[m.value],!1),m.value=e>=r-1?r-2:e}else t.key===`Backspace`&&!A.value&&(m.value=r-1);return}if(e.multiple)if(t.key===`ArrowLeft`){if(m.value<0&&n&&n>0)return;let e=m.value>-1?m.value-1:r-1;S.value[e]?m.value=e:(m.value=-1,c.value?.setSelectionRange(A.value.length,A.value.length))}else if(t.key===`ArrowRight`){if(m.value<0)return;let e=m.value+1;S.value[e]?m.value=e:(m.value=-1,c.value?.setSelectionRange(0,0))}else ~m.value&&pe(t)&&(m.value=-1)}function Xe(t){let n=$e(t?.clipboardData?.getData(`Text`)??``);n.length>1&&e.multiple&&(t.preventDefault(),et(n))}function Ze(){e.eager&&p.value?.calculateVisibleItems()}function Qe(){l.value&&(f.value?.contentEl?._clickOutside?.lastMousedownWasOutside?l.value=!1:c.value?.focus()),u.value=!0,Se.value=null}function Y(t,n=!0,r=!1){if(!(!t||t.props.disabled))if(e.multiple){let r=S.value.findIndex(n=>(e.valueComparator||Te)(n.value,t.value)),i=n??!~r;if(~r){let e=i?[...S.value,t]:[...S.value];e.splice(r,1),S.value=e}else i&&(S.value=[...S.value,t]);e.clearOnSelect&&(A.value=``)}else{let i=n!==!1;S.value=i?[t]:[],(!u.value||e.alwaysFilter)&&O.value&&(Se.value=O.value),O.value=i&&!D.value?t.title:``,ye(()=>{L.value=r,u.value=!0})}}function $e(t){let n=[` +`,...e.delimiters??[]].map(he).join(`|`);return t.split(RegExp(`(?:${n})+`))}async function et(t){for(let n of t)n=n.trim(),n&&(Y(oe(e,n)),await ye())}function tt(e){l.value=!0,setTimeout(()=>{d.value=!0})}function nt(e){if(d.value=!1,!c.value?.$el.contains(e.relatedTarget)){if(K(e))return;l.value=!1}}let rt=0;function it(){rt=performance.now()}function at(e){let t=e.relatedTarget;((f.value?.contentEl)?.contains(t)||!t&&performance.now()-rt<10)&&(l.value=!0)}return x(l,(t,n)=>{if(!(t||t===n)&&(m.value=-1,L.value=!1,A.value)){if(e.multiple){Y(oe(e,A.value));return}if(!D.value)return;S.value.some(({title:e})=>e===A.value)?O.value=``:Y(oe(e,A.value))}}),x(L,t=>{if(!e.hideSelected&&t&&S.value.length&&u.value){let t=M.value.findIndex(t=>S.value.some(n=>(e.valueComparator||Te)(n.value,t.value)));ge&&window.requestAnimationFrame(()=>{t>=0&&p.value?.scrollToIndex(t)})}t&&(Se.value=null)}),x(g,(e,t)=>{L.value||l.value&&!t.length&&e.length&&(L.value=!0)}),Fe(()=>{let t=!!(!e.hideNoData||M.value.length||n[`prepend-item`]||n[`append-item`]||n[`no-data`]),i=S.value.length>0,s=V.filterProps(e),ee={search:A,filteredItems:De.value};return N(V,U({ref:c},s,{modelValue:A.value,"onUpdate:modelValue":e=>A.value=e,focused:l.value,"onUpdate:focused":e=>l.value=e,validationValue:S.externalValue,counterValue:Ee.value,dirty:i,class:[`v-combobox`,{"v-combobox--active-menu":L.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!D.value,"v-combobox--selecting-index":m.value>-1,[`v-combobox--${e.multiple?`multiple`:`single`}`]:!0},e.class],style:e.style,readonly:C.isReadonly.value,placeholder:i?void 0:e.placeholder,"onClick:clear":q,"onMousedown:control":J,onKeydown:Ye,onPaste:Xe,onBlur:at,"aria-expanded":R.value,"aria-controls":Le.value}),{...n,default:({id:i})=>H(B,null,[N(He,U({id:Ie.value,ref:f,modelValue:L.value,"onUpdate:modelValue":e=>L.value=e,activator:`parent`,disabled:je.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ze,onAfterLeave:Qe},e.menuProps,{contentClass:[`v-combobox__content`,e.menuProps?.contentClass]}),{default:()=>[N(we,{elevation:e.menuElevation,onFocusin:tt,onKeydown:Je,onMousedown:it},{default:()=>[n[`menu-header`]&&H(`header`,{ref:G},[n[`menu-header`](ee)]),t&&N(be,U({key:`combobox-list`,ref:W,filterable:!0,selected:z.value,selectStrategy:e.multiple?`independent`:`single-independent`,onMousedown:e=>e.preventDefault(),selectable:!!M.value.length,onFocusout:nt,tabindex:`-1`,"aria-live":`polite`,"aria-labelledby":`${i.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},Ge,e.listProps),{default:()=>[n[`prepend-item`]?.(),!M.value.length&&!e.hideNoData&&(n[`no-data`]?.()??N(ie,{key:`no-data`,title:r(e.noDataText)},null)),N(re,{ref:p,renderless:!0,items:M.value,itemKey:`value`},{default:({item:t,index:r,itemRef:i})=>{let s=U(t.props,{ref:i,key:t.value,active:ze.value&&t===Re.value?!0:void 0,onClick:()=>Y(t,null),"aria-posinset":r+1,"aria-setsize":M.value.length});return t.type===`divider`?n.divider?.({props:t.raw,index:r})??N(me,U(t.props,{key:`divider-${r}`}),null):t.type===`subheader`?n.subheader?.({props:t.raw,index:r})??N(Me,U(t.props,{key:`subheader-${r}`}),null):n.item?.({item:t.raw,internalItem:t,index:r,props:s})??N(ie,U(s,{role:`option`}),{prepend:({isSelected:n})=>H(B,null,[e.multiple&&!e.hideSelected?N(a,{key:t.value,modelValue:n,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,t.props.prependAvatar&&N(w,{image:t.props.prependAvatar},null),t.props.prependIcon&&N(Ve,{icon:t.props.prependIcon},null)]),title:()=>u.value?t.title:o(`v-combobox`,t.title,j(t)?.title)})}}),n[`append-item`]?.()]}),n[`menu-footer`]&&H(`footer`,{ref:We},[n[`menu-footer`](ee)])]})]}),S.value.map((t,r)=>{function i(e){e.stopPropagation(),e.preventDefault(),Y(t,!1)}let a=U(_.filterProps(t.props),{"onClick:close":i,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),i(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),o=xe.value?!!n.chip:!!n.selection,s=o?de(xe.value?n.chip({item:t.raw,internalItem:t,index:r,props:a}):n.selection({item:t.raw,internalItem:t,index:r})):void 0;if(!(o&&!s))return H(`div`,{key:t.value,class:k([`v-combobox__selection`,r===m.value&&[`v-combobox__selection--selected`,se.value]]),style:_e(r===m.value?ue.value:{})},[xe.value?n.chip?N(Ae,{key:`chip-defaults`,defaults:{VChip:{closable:ve.value,size:`small`,text:t.title}}},{default:()=>[s]}):N(_,U({key:`chip`,closable:ve.value,size:`small`,text:t.title,disabled:t.props.disabled},a),null):s??H(`span`,{class:`v-combobox__selection-text`},[t.title,e.multiple&&rH(B,null,[n[`append-inner`]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?N(Ve,{class:`v-combobox__menu-icon`,color:c.value?.fieldIconColor,icon:e.menuIcon,onMousedown:qe,onClick:ce,"aria-hidden":!0,tabindex:`-1`},null):void 0,e.appendInnerIcon&&N(b,{key:`append-icon`,name:`appendInner`,color:t[0].iconColor.value},null)])})}),Ue({isFocused:l,isPristine:u,menu:L,search:A,selectionIndex:m,filteredItems:De,select:Y},c)}}),pt=Ee({__name:`ServerFormDialog`,props:{modelValue:{type:Boolean},form:{},isEditing:{type:Boolean},saving:{type:Boolean},lookupsLoading:{type:Boolean},passwordPresets:{},sshKeyPresets:{},categoryOptions:{},platforms:{},nodes:{},editHints:{},filesElevationItems:{}},emits:[`update:modelValue`,`save`],setup(e,{emit:t}){let n=e,r=t,i=I(()=>n.form.preset_id||n.isEditing?[]:[q(`SSH 密码或选择密码预设`)]),a=I(()=>n.form.ssh_key_preset_id||n.isEditing?[]:[q(`私钥或选择 SSH 密钥预设`)]);return(t,n)=>(g(),j(J,{"model-value":e.modelValue,"max-width":`720`,scrollable:``,persistent:``,"onUpdate:modelValue":n[18]||=e=>r(`update:modelValue`,e)},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,{class:`d-flex align-center`},{default:y(()=>[P(p(e.isEditing?`编辑服务器`:`添加服务器`)+` `,1),N(b),N(S,{icon:`mdi-close`,variant:`text`,size:`small`,disabled:e.saving,onClick:n[0]||=e=>r(`update:modelValue`,!1)},null,8,[`disabled`])]),_:1}),N(me),N(G,{class:`pt-4`},{default:y(()=>[e.lookupsLoading?(g(),j(Le,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):M(``,!0),n[21]||=H(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`基本信息`,-1),N(f,{dense:``},{default:y(()=>[N(d,{cols:`12`,sm:`6`},{default:y(()=>[N(V,{modelValue:e.form.name,"onUpdate:modelValue":n[1]||=t=>e.form.name=t,label:`名称`,variant:`outlined`,density:`compact`,rules:[O(q)(`服务器名称`)]},null,8,[`modelValue`,`rules`])]),_:1}),N(d,{cols:`12`,sm:`6`},{default:y(()=>[N(V,{modelValue:e.form.domain,"onUpdate:modelValue":n[2]||=t=>e.form.domain=t,label:`域名 / IP`,variant:`outlined`,density:`compact`,placeholder:`例:192.168.1.10`,rules:[O(q)(`域名或 IP`)]},null,8,[`modelValue`,`rules`])]),_:1}),N(d,{cols:`6`,sm:`4`},{default:y(()=>[N(V,{modelValue:e.form.port,"onUpdate:modelValue":n[3]||=t=>e.form.port=t,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),N(d,{cols:`6`,sm:`8`},{default:y(()=>[N(V,{modelValue:e.form.username,"onUpdate:modelValue":n[4]||=t=>e.form.username=t,label:`SSH 用户名`,variant:`outlined`,density:`compact`,placeholder:`root`,rules:[O(q)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),N(me,{class:`my-4`}),n[22]||=H(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`认证方式`,-1),N(Re,{modelValue:e.form.auth_method,"onUpdate:modelValue":n[5]||=t=>e.form.auth_method=t,mandatory:``,density:`compact`,variant:`outlined`,class:`mb-3`},{default:y(()=>[N(S,{value:`password`,size:`small`},{default:y(()=>[...n[19]||=[P(`密码`,-1)]]),_:1}),N(S,{value:`key`,size:`small`},{default:y(()=>[...n[20]||=[P(`SSH 密钥`,-1)]]),_:1})]),_:1},8,[`modelValue`]),e.form.auth_method===`password`?(g(),z(B,{key:1},[N(l,{modelValue:e.form.preset_id,"onUpdate:modelValue":n[6]||=t=>e.form.preset_id=t,items:e.passwordPresets,"item-title":`display`,"item-value":`id`,label:`密码预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密填入,无需再填密码框`,"persistent-hint":``},null,8,[`modelValue`,`items`]),e.form.preset_id?M(``,!0):(g(),j(V,{key:0,modelValue:e.form.password,"onUpdate:modelValue":n[7]||=t=>e.form.password=t,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:e.isEditing&&e.editHints.password_set?`留空表示不修改`:`安装 Agent 需可 SSH`,rules:i.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)):(g(),z(B,{key:2},[N(l,{modelValue:e.form.ssh_key_preset_id,"onUpdate:modelValue":n[8]||=t=>e.form.ssh_key_preset_id=t,items:e.sshKeyPresets,"item-title":`display`,"item-value":`id`,label:`SSH 密钥预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密私钥,无需再粘贴`,"persistent-hint":``},null,8,[`modelValue`,`items`]),N(V,{modelValue:e.form.ssh_key_path,"onUpdate:modelValue":n[9]||=t=>e.form.ssh_key_path=t,label:`密钥路径(可选)`,variant:`outlined`,density:`compact`,placeholder:`~/.ssh/id_rsa`,class:`mb-2`},null,8,[`modelValue`]),e.form.ssh_key_preset_id?M(``,!0):(g(),j(qe,{key:0,modelValue:e.form.ssh_key_private,"onUpdate:modelValue":n[10]||=t=>e.form.ssh_key_private=t,label:`私钥 PEM`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,placeholder:e.isEditing&&e.editHints.ssh_key_private_set?`留空表示不修改私钥`:`粘贴 -----BEGIN ... PRIVATE KEY-----`,rules:a.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)),N(me,{class:`my-4`}),n[23]||=H(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`部署`,-1),N(V,{modelValue:e.form.target_path,"onUpdate:modelValue":n[11]||=t=>e.form.target_path=t,label:`目标路径`,variant:`outlined`,density:`compact`,placeholder:`/www/wwwroot`,hint:`文件同步与推送的根目录,须为绝对路径`,"persistent-hint":``,class:`mb-2`,rules:[O(q)(`目标路径`)]},null,8,[`modelValue`,`rules`]),N(ft,{modelValue:e.form.category,"onUpdate:modelValue":n[12]||=t=>e.form.category=t,items:e.categoryOptions,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,hint:`可从已有分类选择或输入新分类`,"persistent-hint":``},null,8,[`modelValue`,`items`]),N(ot,{variant:`accordion`,class:`mt-4`},{default:y(()=>[N(it,{title:`高级选项`},{default:y(()=>[N(rt,null,{default:y(()=>[N(l,{modelValue:e.form.platform_id,"onUpdate:modelValue":n[13]||=t=>e.form.platform_id=t,items:e.platforms,"item-title":`name`,"item-value":`id`,label:`平台`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),N(l,{modelValue:e.form.node_id,"onUpdate:modelValue":n[14]||=t=>e.form.node_id=t,items:e.nodes,"item-title":`name`,"item-value":`id`,label:`节点`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),N(l,{modelValue:e.form.files_elevation,"onUpdate:modelValue":n[15]||=t=>e.form.files_elevation=t,items:e.filesElevationItems,"item-title":`title`,"item-value":`value`,label:`文件管理提权`,variant:`outlined`,density:`compact`,hint:`非 root 用户需目标机配置免密 sudo`,"persistent-hint":``},null,8,[`modelValue`,`items`])]),_:1})]),_:1})]),_:1})]),_:1}),N(me),N(v,{class:`pa-4`},{default:y(()=>[N(b),N(S,{variant:`text`,disabled:e.saving,onClick:n[16]||=e=>r(`update:modelValue`,!1)},{default:y(()=>[...n[24]||=[P(`取消`,-1)]]),_:1},8,[`disabled`]),N(S,{color:`primary`,variant:`flat`,loading:e.saving,onClick:n[17]||=e=>r(`save`)},{default:y(()=>[...n[25]||=[P(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),mt={key:1,class:`text-body-2 text-medium-emphasis mb-0`},ht={class:`text-body-2 mb-3`},gt={class:`text-success font-weight-medium`},_t={class:`text-error font-weight-medium`},vt={key:3,class:`text-medium-emphasis mb-0`},yt=Ee({__name:`BatchAgentResultDialog`,props:{modelValue:{type:Boolean},title:{},loading:{type:Boolean},results:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=I(()=>n.results.filter(e=>e.success).length),a=I(()=>n.results.length-i.value);return(t,n)=>(g(),j(J,{"model-value":e.modelValue,"max-width":`560`,scrollable:``,persistent:``,"onUpdate:modelValue":n[2]||=e=>r(`update:modelValue`,e)},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,{class:`d-flex align-center`},{default:y(()=>[P(p(e.title)+` `,1),N(b),N(S,{icon:`mdi-close`,variant:`text`,size:`small`,disabled:e.loading,onClick:n[0]||=e=>r(`update:modelValue`,!1)},null,8,[`disabled`])]),_:1}),N(me),N(G,{class:`pt-4`},{default:y(()=>[e.loading?(g(),j(Le,{key:0,indeterminate:``,color:`primary`,class:`mb-2`})):M(``,!0),e.loading?(g(),z(`p`,mt,`正在执行,请稍候…`)):e.results.length?(g(),z(B,{key:2},[H(`p`,ht,[n[3]||=P(` 成功 `,-1),H(`span`,gt,p(i.value),1),n[4]||=P(` 台, 失败 `,-1),H(`span`,_t,p(a.value),1),n[5]||=P(` 台 `,-1)]),N(be,{density:`compact`,class:`rounded border`},{default:y(()=>[(g(!0),z(B,null,F(e.results,e=>(g(),j(ie,{key:e.server_id,class:`py-1`},{prepend:y(()=>[N(Ve,{color:e.success?`success`:`error`,size:`18`},{default:y(()=>[P(p(e.success?`mdi-check-circle`:`mdi-close-circle`),1)]),_:2},1032,[`color`])]),default:y(()=>[N(je,{class:`text-body-2`},{default:y(()=>[P(p(e.server_name||`#${e.server_id}`),1)]),_:2},1024),e.success&&e.stdout?(g(),j(ue,{key:0,class:`text-caption text-medium-emphasis`},{default:y(()=>[P(p(e.stdout),1)]),_:2},1024)):!e.success&&e.error?(g(),j(ue,{key:1,class:`text-caption text-error`},{default:y(()=>[P(p(e.error),1)]),_:2},1024)):M(``,!0)]),_:2},1024))),128))]),_:1})],64)):(g(),z(`p`,vt,`无结果`))]),_:1}),N(me),N(v,{class:`pa-4`},{default:y(()=>[N(b),N(S,{color:`primary`,variant:`flat`,disabled:e.loading,onClick:n[1]||=e=>r(`update:modelValue`,!1)},{default:y(()=>[...n[6]||=[P(` 关闭 `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function bt(){return{name:``,domain:``,port:22,username:`root`,auth_method:`password`,preset_id:null,password:``,ssh_key_preset_id:null,ssh_key_path:``,ssh_key_private:``,target_path:`/www/wwwroot`,category:``,platform_id:null,node_id:null,files_elevation:`auto_sudo`}}function xt(e){return e===`uncategorized`?``:e}function St(e){let t=e.auth_method===`key`?`key`:`password`;return{name:e.name,domain:e.domain||``,port:e.port??22,username:e.username||`root`,auth_method:t,preset_id:e.preset_id,password:``,ssh_key_preset_id:e.ssh_key_preset_id,ssh_key_path:e.ssh_key_path||``,ssh_key_private:``,target_path:e.target_path||`/www/wwwroot`,category:e.category||``,platform_id:e.platform_id,node_id:e.node_id,files_elevation:e.files_elevation||`auto_sudo`}}function Ct(e){let t=n(),r=T(!1),i=T(null),a=T(!1),o=T(bt()),s=T({password_set:!1,ssh_key_private_set:!1}),c=T([]),ee=T([]),te=T([]),ne=T([]),l=T([]),re=T(!1),u=I(()=>i.value!=null),d=[{title:`自动(权限失败时 sudo)`,value:`auto_sudo`},{title:`关闭 sudo`,value:`off`},{title:`始终 sudo(排障)`,value:`always_sudo`}];async function f(){re.value=!0;try{let[e,t,n,r]=await Promise.all([A.get(`/servers/categories`),A.getList(`/presets/`,{per_page:500}),A.getList(`/ssh-key-presets/`,{per_page:500}),A.get(`/assets/nodes`)]),i=new Set;for(let t of e.categories||[]){let e=xt(t.name);e&&i.add(e)}te.value=[...i].sort((e,t)=>e.localeCompare(t,`zh`)),ne.value=(e.platforms||[]).map(e=>({id:e.id,name:e.name})),c.value=(t.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),ee.value=(n.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),l.value=Array.isArray(r)?r:[]}catch{t(`加载表单选项失败`,`error`)}finally{re.value=!1}}async function p(){i.value=null,o.value=bt(),s.value={password_set:!1,ssh_key_private_set:!1},r.value=!0,await f()}async function ie(e){i.value=e.id,o.value=St(e),s.value={password_set:!!e.password_set,ssh_key_private_set:!!(e.ssh_key_private_set||e.ssh_key_configured)},r.value=!0,await f()}function m(){r.value=!1,i.value=null,o.value=bt(),s.value={password_set:!1,ssh_key_private_set:!1}}function ae(){let e=o.value;if(!e.name.trim())return`请填写服务器名称`;if(!e.domain.trim())return`请填写域名或 IP`;if(!e.username.trim())return`请填写 SSH 用户名`;let t=Number(e.port);if(!Number.isFinite(t)||t<1||t>65535)return`SSH 端口无效`;let n=e.target_path.trim();if(!n)return`请填写目标路径(部署根目录)`;if(!n.startsWith(`/`))return`目标路径须为绝对路径(以 / 开头)`;if(e.auth_method===`password`){if(!u.value&&!e.preset_id&&!e.password.trim())return`请选择密码预设或填写 SSH 密码(安装 Agent 需要可 SSH)`}else if(!u.value&&!e.ssh_key_preset_id&&!e.ssh_key_private.trim())return`请选择 SSH 密钥预设或粘贴私钥`;return null}function h(){let e=o.value,t={name:e.name.trim(),domain:e.domain.trim(),port:Number(e.port),username:e.username.trim()||`root`,auth_method:e.auth_method,target_path:e.target_path.trim(),category:e.category.trim()||void 0,platform_id:e.platform_id??void 0,node_id:e.node_id??void 0,files_elevation:e.files_elevation,agent_port:8601};return e.auth_method===`password`?(e.preset_id!=null&&(t.preset_id=e.preset_id),e.password.trim()&&(t.password=e.password.trim()),u.value||!e.preset_id&&e.password.trim()):(e.ssh_key_preset_id!=null&&(t.ssh_key_preset_id=e.ssh_key_preset_id),e.ssh_key_path.trim()&&(t.ssh_key_path=e.ssh_key_path.trim()),e.ssh_key_private.trim()&&(t.ssh_key_private=e.ssh_key_private.trim())),t}async function oe(){let n=ae();if(n){t(n,`error`);return}a.value=!0;try{let n=h();u.value&&i.value!=null?await A.put(`/servers/${i.value}`,n):await A.post(`/servers/`,n),m(),e(),t(`保存成功`)}catch(e){t(K(e,`保存失败`),`error`)}finally{a.value=!1}}return{visible:r,editingId:i,isEditing:u,saving:a,form:o,editHints:s,passwordPresets:c,sshKeyPresets:ee,categoryOptions:te,platforms:ne,nodes:l,lookupsLoading:re,filesElevationItems:d,openAdd:p,openEdit:ie,close:m,save:oe}}var wt={class:`d-flex align-center flex-wrap ga-2`},Tt={class:`text-body-2 mr-4`},Et={class:`font-weight-medium`},Dt={class:`text-medium-emphasis`},Ot={key:1,class:`text-medium-emphasis`},kt={key:1,class:`d-flex align-center ga-1`},At=[`title`],jt={class:`text-medium-emphasis`},Mt={class:`text-caption text-medium-emphasis`},Nt={class:`d-flex ga-1`},Pt={key:2,class:`px-4 pb-4`},Ft={key:0,class:`text-center py-8`},It={key:1,class:`text-center text-medium-emphasis py-6`},Lt={class:`d-flex align-center ga-2 flex-grow-1`},Rt={class:`text-caption text-medium-emphasis`},zt=[`onClick`],Bt={class:`font-weight-medium`},Vt={class:`text-medium-emphasis`},Ht={class:`text-caption text-medium-emphasis text-truncate`,style:{"max-width":`180px`}},Ut={class:`text-medium-emphasis`},Wt={class:`text-caption text-medium-emphasis`},Gt=[`title`],Kt={class:`text-h6`},qt={class:`text-h6`},Jt={class:`text-h6`},Yt={class:`text-h6`},Xt={class:`text-body-1 font-weight-medium text-truncate`},Zt={key:0,class:`text-center py-4`},Qt={key:1,class:`text-medium-emphasis text-center py-4`},$t={key:1,class:`text-medium-emphasis`},en={class:`text-body-2 mb-2`},tn={class:`text-body-2 text-medium-emphasis mb-3`},nn={key:0,class:`text-caption text-medium-emphasis mt-1`},rn={key:0},an={key:0},on=Ee({__name:`ServersPage`,setup(r){let i=[...We],o=n(),s=ze(),{servers:c,loading:ee,page:te,itemsPerPage:ne,total:l,search:re,categoryFilter:ae,sortBy:h,loadServers:oe,onSearch:ce,onPageChange:le,onItemsPerPageChange:de,onCategoryChange:fe,loadAllServers:pe}=Je(),{categories:he,loading:ge,totalCount:_e,loadCategories:ye}=st(),w=T(`table`),E=T([]),D=T(!1),Ce=T([]);async function k(){try{await oe(),w.value===`group`&&await we()}catch{o(`加载服务器列表失败`,`error`)}}async function we(e=!1){e||(D.value=!0);try{E.value=await pe(),Ce.value=Ee.value.map(e=>e.category)}catch{e||(E.value=[],o(`加载分类视图失败`,`error`))}finally{e||(D.value=!1)}}async function Te(){try{await oe({silent:!0}),w.value===`group`&&await we(!0)}catch{}}nt(Te,3e4);let Ee=I(()=>{let e={};for(let t of E.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:ct(e),servers:t})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))});function Oe(e){fe(e),w.value===`group`&&we()}function ke(e,t){let n=new Set(X.value.map(e=>typeof e==`number`?e:e.id));t?n.add(e):n.delete(e),X.value=[...n]}let Ae=T(!1);async function Me(){if(!(l.value<=0)){Ae.value=!0;try{let e=await pe();X.value=e.map(e=>e.id),o(`已选择当前筛选结果 ${e.length} 台`)}catch{o(`加载筛选结果失败`,`error`)}finally{Ae.value=!1}}}function Ne(e){return e.length>0&&e.every(e=>Z.value.has(e.id))}function Pe(e){let t=Ne(e),n=new Set(Z.value);for(let r of e)t?n.delete(r.id):n.add(r.id);X.value=[...n]}x(ae,()=>{X.value=[]}),x(h,()=>{X.value=[],w.value===`group`&&we()},{deep:!0}),x(re,()=>{X.value=[]}),x(w,e=>{e===`group`&&we()});let Fe=T(!1),Ie=T(!1),Le=T(null),Be=T(!1),He=T(!1),U=T({domain:``,port:22,name:``}),Ue=T([]),W=T(!1),q=T(null),lt=T(!1),dt=T([]),mt=T(``),ht=T(!1),gt=T(null),_t=T(!1),vt=[{title:`名称`,key:`name`},{title:`地址`,key:`address`},{title:`尝试次数`,key:`attempts`,width:100},{title:`最后错误`,key:`last_error`},{title:`最后尝试`,key:`last_attempt_at`,width:160},{title:`操作`,key:`actions`,width:140,align:`end`}];function bt(){U.value={domain:``,port:22,name:``},Be.value=!0}function xt(e,t){dt.value=e,mt.value=t||``,lt.value=!0}async function St(){W.value=!0;try{Ue.value=(await A.get(`/servers/pending`)).items||[]}catch(e){Ue.value=[],o(K(e,`加载失败列表失败`),`error`)}finally{W.value=!1}}async function on(){let e=U.value.domain.trim();if(!e){o(`请填写 IP 或域名`,`error`);return}He.value=!0;try{let t={domain:e,port:U.value.port||22},n=U.value.name.trim();n&&(t.name=n);let r=await A.post(`/servers/add-by-ip`,t);r.success&&r.server?(Be.value=!1,o(`添加成功:${r.matched_preset} (${r.matched_username})`),k(),Fn()):(Be.value=!1,xt(r.errors||[],r.message),St())}catch(e){o(K(e,`添加失败`),`error`)}finally{He.value=!1}}async function sn(e){q.value=e.id;try{let t=await A.post(`/servers/pending/${e.id}/retry`,{});t.success&&t.server?(o(`重试成功:${t.matched_preset} (${t.matched_username})`),k(),Fn(),St()):(xt(t.errors||[],t.message),St())}catch(e){o(K(e,`重试失败`),`error`)}finally{q.value=null}}function cn(e){gt.value=e,ht.value=!0}async function ln(){if(gt.value){_t.value=!0;try{await A.delete(`/servers/pending/${gt.value.id}`),ht.value=!1,o(`已从失败列表移除`),St()}catch(e){o(K(e,`删除失败`),`error`)}finally{_t.value=!1}}}let{visible:un,form:dn,isEditing:fn,saving:pn,lookupsLoading:mn,passwordPresets:hn,sshKeyPresets:gn,categoryOptions:_n,platforms:vn,nodes:yn,editHints:bn,filesElevationItems:xn,openAdd:Sn,openEdit:Cn,close:wn,save:Tn}=Ct(()=>{k(),Fn(),ye()});x(un,(e,t)=>{t&&!e&&wn()});let X=T([]),Z=I(()=>new Set(ut(X.value))),Q=T(null),En=T(`info`),Dn=T([]),On=T(!1);function kn(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function An(e){switch(e){case`success`:return`成功`;case`failed`:return`失败`;case`running`:return`进行中`;case`cancelled`:return`已取消`;default:return e}}function jn(e){let t=[];return e.started_at&&t.push(e.started_at),e.sync_mode&&t.push(e.sync_mode),e.trigger_type&&t.push(e.trigger_type),e.push_permission&&t.push(`权限 ${Ke(e.push_permission)}`),t.join(` · `)||`—`}function Mn(e){return Array.isArray(e)?e:e&&typeof e==`object`&&Array.isArray(e.items)?e.items:[]}let Nn=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:200,align:`end`,sortable:!1}],Pn=T([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]);async function Fn(){try{let e=await A.get(`/servers/stats`);Pn.value[0].title=String(e.total),Pn.value[1].title=String(e.online),Pn.value[2].title=String(e.offline),Pn.value[3].title=String(e.alerts??0)}catch{}}function In(e){s.push({path:`/terminal`,query:{server_id:String(e.id)}})}function Ln(e){s.push({path:`/files`,query:{server_id:String(e.id)}})}let Rn=T(!1),zn=T(``),Bn=T(!1),Vn=I(()=>{let e=he.value.filter(e=>e.name!==`uncategorized`).map(e=>e.label);if(_n.value.length)for(let t of _n.value)t&&!e.includes(t)&&e.push(t);return e.sort((e,t)=>e.localeCompare(t,`zh`))});function Hn(){if(Z.value.size===0){o(`请先勾选至少一台服务器`,`error`);return}zn.value=``,Rn.value=!0}async function Un(){let e=[...Z.value];if(e.length!==0){Bn.value=!0;try{let t=(zn.value||``).trim(),n=0;for(let r=0;r[e.id,e.name,e.domain,e.port,e.username,e.category||``,e.status,e.agent_version||``,e.last_heartbeat||``]),r=``+[t.join(`,`),...n.map(e=>e.map(e=>`"${String(e).replace(/"/g,`""`)}"`).join(`,`))].join(` +`),i=new Blob([r],{type:`text/csv;charset=utf-8;`}),a=URL.createObjectURL(i),s=document.createElement(`a`);s.href=a,s.download=`servers_${new Date().toISOString().slice(0,10)}.csv`,s.click(),URL.revokeObjectURL(a),o(`导出完成`)}catch(e){o(e.message||`导出失败`,`error`)}}let pr=T(!1),mr=T(``),hr=T(22),gr=T(8601),_r=T(!1),$=T(null);function vr(e){let t=e.trim();if(!t)return``;let n=t.indexOf(` `);if(n>=0)return t.slice(n+1).trim();let r=t.lastIndexOf(`,`);if(r>=0){let e=t.slice(r+1).trim(),n=t.slice(0,r).trim();if(e&&n&&(e.includes(`.`)||e.includes(`:`)))return e}return t}function yr(e){let t=new Set,n=[],r=0;for(let i of e.split(` +`)){let e=vr(i);if(!e)continue;r+=1;let a=e.toLowerCase();t.has(a)||(t.add(a),n.push(e))}return{unique:n.length,raw:r,deduped:Math.max(0,r-n.length)}}let br=I(()=>yr(mr.value));function xr(){mr.value=``,hr.value=22,gr.value=8601,$.value=null,pr.value=!0}async function Sr(){let e=mr.value.trim();if(!e){o(`请填写至少一个 IP 或域名`,`error`);return}_r.value=!0,$.value=null;try{let t=await A.post(`/servers/add-by-ips-batch`,{text:e,port:hr.value||22,agent_port:gr.value||8601});$.value=t,t.created>0&&(k(),Fn()),t.pending>0&&St(),o(t.pending>0?`添加完成:${t.created} 台成功,${t.pending} 台进入连接失败列表`:`添加完成:${t.created} 台成功`,t.pending>0?`warning`:`success`)}catch(e){o(K(e,`批量添加失败`),`error`)}finally{_r.value=!1}}async function Cr(e){Q.value=e,En.value=`info`,On.value=!0,Dn.value=[];try{Dn.value=Mn(await A.get(`/servers/${e.id}/logs`,{limit:20}))}catch{Dn.value=[]}finally{On.value=!1}}function wr(e){Cn(e)}function Tr(e){Le.value=e,Fe.value=!0}async function Er(){if(Le.value){Ie.value=!0;try{await A.delete(`/servers/${Le.value.id}`),Fe.value=!1,k(),Fn(),o(`已删除`)}catch(e){o(e.message||`删除失败`,`error`)}finally{Ie.value=!1}}}return xe(()=>{Fn(),ye(),k(),St()}),(n,r)=>(g(),j(u,{fluid:``,class:`pa-4 pa-md-6`},{default:y(()=>[N(Qe,{items:Pn.value},null,8,[`items`]),N(C,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:y(()=>[N(m,{class:`d-flex align-center`},{default:y(()=>[r[45]||=P(` 服务器列表 `,-1),N(b),N(V,{modelValue:O(re),"onUpdate:modelValue":[r[0]||=e=>ve(re)?re.value=e:null,O(ce)],"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,rounded:``,style:{"max-width":`240px`},variant:`outlined`},null,8,[`modelValue`,`onUpdate:modelValue`]),N(S,{color:`primary`,variant:`flat`,class:`ml-3`,"prepend-icon":`mdi-plus`,size:`small`,onClick:O(Sn)},{default:y(()=>[...r[38]||=[P(` 添加 `,-1)]]),_:1},8,[`onClick`]),N(S,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-flash`,size:`small`,onClick:bt},{default:y(()=>[...r[39]||=[P(` 快速添加(IP) `,-1)]]),_:1}),N(S,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-download`,size:`small`,onClick:fr},{default:y(()=>[...r[40]||=[P(` 导出CSV `,-1)]]),_:1}),N(S,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-ip-network`,size:`small`,onClick:xr},{default:y(()=>[...r[41]||=[P(` 批量添加 `,-1)]]),_:1}),N(S,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-folder-search`,size:`small`,disabled:Z.value.size===0,title:`请先勾选至少一台服务器`,onClick:ar},{default:y(()=>[...r[42]||=[P(` 检测路径 `,-1)]]),_:1},8,[`disabled`]),N(Re,{modelValue:w.value,"onUpdate:modelValue":r[1]||=e=>w.value=e,mandatory:``,density:`compact`,class:`ml-2`,color:`primary`,variant:`outlined`,divided:``},{default:y(()=>[N(S,{value:`table`,size:`small`,"prepend-icon":`mdi-table`},{default:y(()=>[...r[43]||=[P(`列表`,-1)]]),_:1}),N(S,{value:`group`,size:`small`,"prepend-icon":`mdi-folder-multiple`},{default:y(()=>[...r[44]||=[P(`分类`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),N(G,{class:`pt-0 pb-2`},{default:y(()=>[H(`div`,wt,[r[46]||=H(`span`,{class:`text-caption text-medium-emphasis mr-1`},`分类筛选`,-1),N(_,{color:O(ae)===``?`primary`:void 0,variant:O(ae)===``?`flat`:`outlined`,size:`small`,label:``,onClick:r[2]||=e=>Oe(``)},{default:y(()=>[P(` 全部 `+p(O(_e)),1)]),_:1},8,[`color`,`variant`]),(g(!0),z(B,null,F(O(he),e=>(g(),j(_,{key:e.name,color:O(ae)===e.name?`primary`:void 0,variant:O(ae)===e.name?`flat`:`outlined`,size:`small`,label:``,onClick:t=>Oe(e.name)},{default:y(()=>[P(p(e.label)+` `+p(e.count),1)]),_:2},1032,[`color`,`variant`,`onClick`]))),128)),O(ge)?(g(),j(L,{key:0,indeterminate:``,size:`16`,width:`2`})):M(``,!0),N(b),N(S,{size:`small`,variant:`tonal`,disabled:O(l)===0,loading:Ae.value,onClick:Me},{default:y(()=>[P(` 全选筛选结果 (`+p(O(l))+`) `,1)]),_:1},8,[`disabled`,`loading`])])]),_:1}),Z.value.size>0?(g(),j(C,{key:0,class:`mx-4 mb-2`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:y(()=>[N(G,{class:`d-flex align-center py-2`},{default:y(()=>[H(`span`,Tt,`已选择 `+p(Z.value.size)+` 台服务器`,1),N(b),N(S,{size:`small`,variant:`text`,onClick:Hn},{default:y(()=>[...r[47]||=[P(`修改分类`,-1)]]),_:1}),N(S,{size:`small`,variant:`text`,onClick:sr},{default:y(()=>[...r[48]||=[P(`健康检查`,-1)]]),_:1}),N(S,{size:`small`,variant:`text`,onClick:ar},{default:y(()=>[...r[49]||=[P(`检测目标路径`,-1)]]),_:1}),N(S,{size:`small`,variant:`text`,onClick:lr,loading:Wn.value},{default:y(()=>[...r[50]||=[P(`安装Agent`,-1)]]),_:1},8,[`loading`]),N(S,{size:`small`,variant:`text`,onClick:ur,loading:Wn.value},{default:y(()=>[...r[51]||=[P(`升级Agent`,-1)]]),_:1},8,[`loading`]),N(S,{size:`small`,variant:`text`,color:`error`,onClick:dr,loading:Wn.value},{default:y(()=>[...r[52]||=[P(`卸载Agent`,-1)]]),_:1},8,[`loading`]),N(S,{size:`small`,variant:`text`,color:`error`,onClick:cr},{default:y(()=>[...r[53]||=[P(`批量删除`,-1)]]),_:1}),N(S,{size:`small`,variant:`text`,onClick:r[3]||=e=>X.value=[]},{default:y(()=>[...r[54]||=[P(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):M(``,!0),w.value===`table`?(g(),j(Ge,{key:1,items:O(c),headers:Nn,"items-length":O(l),loading:O(ee),page:O(te),"items-per-page":O(ne),"items-per-page-options":i,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,modelValue:X.value,"onUpdate:modelValue":r[6]||=e=>X.value=e,"sort-by":O(h),"onUpdate:sortBy":r[7]||=e=>ve(h)?h.value=e:null,"onUpdate:page":O(le),"onUpdate:itemsPerPage":O(de),"onClick:row":r[8]||=(e,{item:t})=>Cr(t)},{"item.status":y(({item:e})=>[N(_,{color:O(Ze)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:y(()=>[P(p(O(Ye)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":y(({item:e})=>[H(`span`,Et,p(e.name),1)]),"item.domain":y(({item:e})=>[H(`span`,Dt,p(e.domain)+`:`+p(e.port),1)]),"item.category":y(({item:e})=>[e.category?(g(),j(_,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:y(()=>[P(p(e.category),1)]),_:2},1024)):(g(),z(`span`,Ot,`—`))]),"item.target_path":y(({item:e})=>[Xn.value===e.id?(g(),z(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:r[5]||=R(()=>{},[`stop`])},[N(V,{modelValue:Zn.value,"onUpdate:modelValue":r[4]||=e=>Zn.value=e,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},onKeyup:[De(t=>ir(e.id),[`enter`]),De(rr,[`esc`])]},null,8,[`modelValue`,`onKeyup`]),N(S,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:Qn.value===e.id,onClick:t=>ir(e.id)},null,8,[`loading`,`onClick`]),N(S,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:rr})])):(g(),z(`div`,kt,[H(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:e.target_path||`未配置`},p(e.target_path?.trim()||`—`),9,At),N(S,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:R(t=>nr(e),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":y(({item:e})=>[H(`span`,jt,p(e.agent_version||`—`),1)]),"item.last_heartbeat":y(({item:e})=>[H(`span`,Mt,p(O(Xe)(e.last_heartbeat)),1)]),"item.actions":y(({item:e})=>[H(`div`,Nt,[N(S,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:R(t=>In(e),[`stop`])},{default:y(()=>[...r[55]||=[P(`终端`,-1)]]),_:1},8,[`onClick`]),N(S,{variant:`text`,size:`x-small`,density:`compact`,onClick:R(t=>Ln(e),[`stop`])},{default:y(()=>[...r[56]||=[P(`文件`,-1)]]),_:1},8,[`onClick`]),N(S,{variant:`text`,size:`x-small`,density:`compact`,onClick:R(t=>wr(e),[`stop`])},{default:y(()=>[...r[57]||=[P(`编辑`,-1)]]),_:1},8,[`onClick`]),N(S,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:R(t=>Tr(e),[`stop`])},{default:y(()=>[...r[58]||=[P(`删除`,-1)]]),_:1},8,[`onClick`])])]),"no-data":y(()=>[...r[59]||=[H(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无服务器数据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`modelValue`,`sort-by`,`onUpdate:page`,`onUpdate:itemsPerPage`])):(g(),z(`div`,Pt,[D.value?(g(),z(`div`,Ft,[N(L,{indeterminate:``,size:`32`}),r[60]||=H(`div`,{class:`text-caption text-medium-emphasis mt-2`},`按分类加载中…`,-1)])):Ee.value.length===0?(g(),z(`div`,It,` 暂无服务器数据 `)):(g(),j(ot,{key:2,modelValue:Ce.value,"onUpdate:modelValue":r[11]||=e=>Ce.value=e,multiple:``,variant:`accordion`},{default:y(()=>[(g(!0),z(B,null,F(Ee.value,t=>(g(),j(it,{key:t.category},{default:y(()=>[N(at,null,{default:y(()=>[H(`div`,Lt,[N(_,{color:`primary`,variant:`tonal`,size:`small`,label:``},{default:y(()=>[P(p(t.label),1)]),_:2},1024),H(`span`,Rt,p(t.servers.length)+` 台`,1),N(b),N(S,{size:`x-small`,variant:`text`,onClick:R(e=>Pe(t.servers),[`stop`])},{default:y(()=>[P(p(Ne(t.servers)?`取消本组`:`全选本组`),1)]),_:2},1032,[`onClick`])])]),_:2},1024),N(rt,null,{default:y(()=>[N(e,{density:`compact`,hover:``},{default:y(()=>[r[62]||=H(`thead`,null,[H(`tr`,null,[H(`th`,{style:{width:`40px`}}),H(`th`,null,`状态`),H(`th`,null,`名称`),H(`th`,null,`地址`),H(`th`,null,`目标路径`),H(`th`,{class:`text-end`},`操作`)])],-1),H(`tbody`,null,[(g(!0),z(B,null,F(t.servers,e=>(g(),z(`tr`,{key:e.id,class:`cursor-pointer`,onClick:t=>Cr(e)},[H(`td`,{onClick:r[9]||=R(()=>{},[`stop`])},[N(a,{"model-value":Z.value.has(e.id),density:`compact`,"hide-details":``,"onUpdate:modelValue":t=>ke(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),H(`td`,null,[N(_,{color:O(Ze)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:y(()=>[P(p(O(Ye)(e.status)),1)]),_:2},1032,[`color`])]),H(`td`,Bt,p(e.name),1),H(`td`,Vt,p(e.domain)+`:`+p(e.port),1),H(`td`,Ht,p(e.target_path?.trim()||`—`),1),H(`td`,{class:`text-end`,onClick:r[10]||=R(()=>{},[`stop`])},[N(S,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>wr(e)},{default:y(()=>[...r[61]||=[P(`编辑`,-1)]]),_:1},8,[`onClick`])])],8,zt))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`]))]))]),_:1}),N(C,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:y(()=>[N(m,{class:`d-flex align-center`},{default:y(()=>[r[64]||=P(` 连接失败列表 `,-1),Ue.value.length?(g(),j(_,{key:0,size:`small`,class:`ml-2`,color:`error`,variant:`tonal`,label:``},{default:y(()=>[P(p(Ue.value.length),1)]),_:1})):M(``,!0),N(b),N(S,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:W.value,onClick:St},{default:y(()=>[...r[63]||=[P(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),N(t,{items:Ue.value,headers:vt,loading:W.value,hover:``,density:`comfortable`,"items-per-page":10},{"item.address":y(({item:e})=>[H(`span`,Ut,p(e.domain)+`:`+p(e.port),1)]),"item.last_attempt_at":y(({item:e})=>[H(`span`,Wt,p(O(Xe)(e.last_attempt_at)),1)]),"item.last_error":y(({item:e})=>[H(`span`,{class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`320px`},title:e.last_error},p(e.last_error||`—`),9,Gt)]),"item.actions":y(({item:e})=>[N(S,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,loading:q.value===e.id,onClick:t=>sn(e)},{default:y(()=>[...r[65]||=[P(` 重试 `,-1)]]),_:1},8,[`loading`,`onClick`]),N(S,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>cn(e)},{default:y(()=>[...r[66]||=[P(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":y(()=>[...r[67]||=[H(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无连接失败记录`,-1)]]),_:1},8,[`items`,`loading`])]),_:1}),N(se,null,{default:y(()=>[Q.value?(g(),j(C,{key:0,class:`mt-4`,elevation:`0`,border:``,rounded:`lg`},{default:y(()=>[N(m,{class:`d-flex align-center`},{default:y(()=>[N(Ve,{class:`mr-2`},{default:y(()=>[...r[68]||=[P(`mdi-information-outline`,-1)]]),_:1}),P(` `+p(Q.value.name)+` `,1),N(_,{color:O(Ze)(Q.value.status),size:`small`,variant:`tonal`,label:``,class:`ml-2`},{default:y(()=>[P(p(O(Ye)(Q.value.status)),1)]),_:1},8,[`color`]),N(b),N(S,{icon:`mdi-close`,size:`small`,variant:`text`,onClick:r[12]||=e=>Q.value=null})]),_:1}),N(me),N(tt,{modelValue:En.value,"onUpdate:modelValue":r[13]||=e=>En.value=e,density:`compact`},{default:y(()=>[N(Y,{value:`info`},{default:y(()=>[...r[69]||=[P(`系统信息`,-1)]]),_:1}),N(Y,{value:`logs`},{default:y(()=>[...r[70]||=[P(`同步日志`,-1)]]),_:1})]),_:1},8,[`modelValue`]),N(et,{modelValue:En.value,"onUpdate:modelValue":r[14]||=e=>En.value=e},{default:y(()=>[N($e,{value:`info`},{default:y(()=>[N(G,null,{default:y(()=>[N(f,{dense:``},{default:y(()=>[N(d,{cols:`6`,md:`3`},{default:y(()=>[r[71]||=H(`div`,{class:`text-caption text-medium-emphasis`},`CPU`,-1),H(`div`,Kt,p(Q.value.system_info?.cpu_usage??`—`)+`%`,1)]),_:1}),N(d,{cols:`6`,md:`3`},{default:y(()=>[r[72]||=H(`div`,{class:`text-caption text-medium-emphasis`},`内存`,-1),H(`div`,qt,p(Q.value.system_info?.mem_usage??`—`)+`%`,1)]),_:1}),N(d,{cols:`6`,md:`3`},{default:y(()=>[r[73]||=H(`div`,{class:`text-caption text-medium-emphasis`},`磁盘`,-1),H(`div`,Jt,p(Q.value.system_info?.disk_usage??`—`)+`%`,1)]),_:1}),N(d,{cols:`6`,md:`3`},{default:y(()=>[r[74]||=H(`div`,{class:`text-caption text-medium-emphasis`},`Agent`,-1),H(`div`,Yt,p(Q.value.agent_version||`未安装`),1)]),_:1}),N(d,{cols:`12`,md:`6`},{default:y(()=>[r[75]||=H(`div`,{class:`text-caption text-medium-emphasis`},`目标路径`,-1),H(`div`,Xt,p(Q.value.target_path?.trim()||`未配置(推送页留空时无法推送到此机)`),1)]),_:1})]),_:1})]),_:1})]),_:1}),N($e,{value:`logs`},{default:y(()=>[N(G,null,{default:y(()=>[On.value?(g(),z(`div`,Zt,[N(L,{indeterminate:``,size:`24`})])):Dn.value.length===0?(g(),z(`div`,Qt,`暂无同步日志`)):(g(),j(be,{key:2,density:`compact`},{default:y(()=>[(g(!0),z(B,null,F(Dn.value,e=>(g(),j(ie,{key:e.id,subtitle:jn(e),title:`${e.source_path} → ${e.target_path}`},{append:y(()=>[N(_,{size:`x-small`,color:kn(e.status),variant:`tonal`,label:``},{default:y(()=>[P(p(An(e.status)),1)]),_:2},1032,[`color`])]),_:2},1032,[`subtitle`,`title`]))),128))]),_:1}))]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1})):M(``,!0)]),_:1}),N(pt,{modelValue:O(un),"onUpdate:modelValue":r[15]||=e=>ve(un)?un.value=e:null,form:O(dn),"is-editing":O(fn),saving:O(pn),"lookups-loading":O(mn),"password-presets":O(hn),"ssh-key-presets":O(gn),"category-options":O(_n),platforms:O(vn),nodes:O(yn),"edit-hints":O(bn),"files-elevation-items":O(xn),onSave:O(Tn)},null,8,[`modelValue`,`form`,`is-editing`,`saving`,`lookups-loading`,`password-presets`,`ssh-key-presets`,`category-options`,`platforms`,`nodes`,`edit-hints`,`files-elevation-items`,`onSave`]),N(J,{modelValue:Fe.value,"onUpdate:modelValue":r[17]||=e=>Fe.value=e,"max-width":`400`},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,null,{default:y(()=>[...r[76]||=[P(`确认删除`,-1)]]),_:1}),N(G,null,{default:y(()=>[r[77]||=P(`确定要删除服务器 `,-1),H(`strong`,null,p(Le.value?.name),1),r[78]||=P(` 吗?`,-1)]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{variant:`text`,onClick:r[16]||=e=>Fe.value=!1},{default:y(()=>[...r[79]||=[P(`取消`,-1)]]),_:1}),N(S,{color:`error`,variant:`flat`,onClick:Er,loading:Ie.value},{default:y(()=>[...r[80]||=[P(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),N(J,{modelValue:Be.value,"onUpdate:modelValue":r[22]||=e=>Be.value=e,"max-width":`480`,persistent:``},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,null,{default:y(()=>[...r[81]||=[P(`快速添加服务器(仅 IP)`,-1)]]),_:1}),N(G,null,{default:y(()=>[r[82]||=H(`p`,{class:`text-body-2 text-medium-emphasis mb-3`},` 将按顺序轮询凭据管理中的全部密码预设与 SSH 密钥预设尝试登录,首个成功即加入服务器列表。 `,-1),N(V,{modelValue:U.value.domain,"onUpdate:modelValue":r[18]||=e=>U.value.domain=e,label:`IP 或域名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`192.168.1.10`,rules:[e=>!!e?.trim()||`必填`]},null,8,[`modelValue`,`rules`]),N(V,{modelValue:U.value.port,"onUpdate:modelValue":r[19]||=e=>U.value.port=e,modelModifiers:{number:!0},label:`SSH 端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),N(V,{modelValue:U.value.name,"onUpdate:modelValue":r[20]||=e=>U.value.name=e,label:`显示名称(可选)`,variant:`outlined`,density:`compact`,hint:`留空则使用 IP`,"persistent-hint":``},null,8,[`modelValue`])]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{variant:`text`,disabled:He.value,onClick:r[21]||=e=>Be.value=!1},{default:y(()=>[...r[83]||=[P(`取消`,-1)]]),_:1},8,[`disabled`]),N(S,{color:`primary`,variant:`flat`,loading:He.value,onClick:on},{default:y(()=>[...r[84]||=[P(`开始轮询`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),N(J,{modelValue:lt.value,"onUpdate:modelValue":r[24]||=e=>lt.value=e,"max-width":`560`},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,{class:`text-error`},{default:y(()=>[...r[85]||=[P(`SSH 连接失败`,-1)]]),_:1}),N(G,null,{default:y(()=>[r[86]||=H(`p`,{class:`text-body-2 mb-3`},`已尝试全部凭据预设,均未登录成功。该服务器已加入「连接失败列表」,可稍后重试。`,-1),dt.value.length?(g(),j(be,{key:0,density:`compact`,class:`bg-grey-lighten-4 rounded`},{default:y(()=>[(g(!0),z(B,null,F(dt.value,(e,t)=>(g(),j(ie,{key:t},{default:y(()=>[N(je,{class:`text-body-2`},{default:y(()=>[P(` [`+p(e.preset_type===`password`?`密码`:e.preset_type===`system`?`系统`:`密钥`)+`] `+p(e.preset_name)+` (`+p(e.username)+`) `,1)]),_:2},1024),N(ue,{class:`text-error`},{default:y(()=>[P(p(e.error),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(g(),z(`p`,$t,p(mt.value),1))]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{color:`primary`,variant:`flat`,onClick:r[23]||=e=>lt.value=!1},{default:y(()=>[...r[87]||=[P(`知道了`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),N(J,{modelValue:ht.value,"onUpdate:modelValue":r[26]||=e=>ht.value=e,"max-width":`400`},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,null,{default:y(()=>[...r[88]||=[P(`确认删除`,-1)]]),_:1}),N(G,null,{default:y(()=>[r[89]||=P(`从失败列表移除 `,-1),H(`strong`,null,p(gt.value?.domain),1),r[90]||=P(`?`,-1)]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{variant:`text`,onClick:r[25]||=e=>ht.value=!1},{default:y(()=>[...r[91]||=[P(`取消`,-1)]]),_:1}),N(S,{color:`error`,variant:`flat`,loading:_t.value,onClick:ln},{default:y(()=>[...r[92]||=[P(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),N(J,{modelValue:Gn.value,"onUpdate:modelValue":r[28]||=e=>Gn.value=e,"max-width":`480`},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,null,{default:y(()=>[...r[93]||=[P(`自动检测目标路径`,-1)]]),_:1}),N(G,null,{default:y(()=>[H(`p`,en,[r[94]||=P(` 将对选中的 `,-1),H(`strong`,null,p(Z.value.size),1),r[95]||=P(` 台服务器执行 SSH 检测。 `,-1)]),r[96]||=H(`p`,{class:`text-body-2 text-medium-emphasis mb-0`},[P(` 在远程 `),H(`code`,null,`/www/wwwroot`),P(` 下搜索 `),H(`code`,null,`workerman.bat`),P(`,找到后将所在目录写入各服务器的 `),H(`strong`,null,`target_path`),P(`(找到第一个即停止)。 `)],-1)]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{variant:`text`,onClick:r[27]||=e=>Gn.value=!1},{default:y(()=>[...r[97]||=[P(`取消`,-1)]]),_:1}),N(S,{color:`primary`,variant:`flat`,onClick:or},{default:y(()=>[...r[98]||=[P(`开始检测`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),N(yt,{modelValue:Kn.value,"onUpdate:modelValue":r[29]||=e=>Kn.value=e,title:Jn.value,loading:qn.value,results:Yn.value},null,8,[`modelValue`,`title`,`loading`,`results`]),N(J,{modelValue:Rn.value,"onUpdate:modelValue":r[32]||=e=>Rn.value=e,"max-width":`420`},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,null,{default:y(()=>[...r[99]||=[P(`批量修改分类`,-1)]]),_:1}),N(G,null,{default:y(()=>[H(`div`,tn,` 已选择 `+p(Z.value.size)+` 台服务器,将统一设置为以下分类(留空表示清除分类)。 `,1),N(ft,{modelValue:zn.value,"onUpdate:modelValue":r[30]||=e=>zn.value=e,items:Vn.value,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``,placeholder:`输入或选择分类`},null,8,[`modelValue`,`items`])]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{variant:`text`,onClick:r[31]||=e=>Rn.value=!1},{default:y(()=>[...r[100]||=[P(`取消`,-1)]]),_:1}),N(S,{color:`primary`,variant:`flat`,loading:Bn.value,onClick:Un},{default:y(()=>[...r[101]||=[P(` 确认 `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),N(J,{modelValue:pr.value,"onUpdate:modelValue":r[37]||=e=>pr.value=e,"max-width":`560`},{default:y(()=>[N(C,{border:``},{default:y(()=>[N(m,null,{default:y(()=>[...r[102]||=[P(`批量添加服务器`,-1)]]),_:1}),N(G,null,{default:y(()=>[r[103]||=H(`div`,{class:`text-body-2 text-medium-emphasis mb-3`},` 每行一个 IP 或域名;也可使用「名称 + Tab + IP」附带显示名称。空白行自动忽略,重复地址自动去重(不区分大小写)。SSH 凭据从「凭据管理」预设轮询匹配;连接失败将进入下方「连接失败列表」。 `,-1),N(qe,{modelValue:mr.value,"onUpdate:modelValue":r[33]||=e=>mr.value=e,label:`IP / 域名列表(可选:名称 Tab IP)`,variant:`outlined`,density:`compact`,rows:`10`,"auto-grow":``,placeholder:`武汉示例公司 192.168.1.10 +192.168.1.11 +10.0.0.5`},null,8,[`modelValue`]),br.value.unique>0?(g(),z(`div`,nn,[P(` 将添加 `+p(br.value.unique)+` 台 `,1),br.value.deduped>0?(g(),z(`span`,rn,`(已去重 `+p(br.value.deduped)+` 个重复)`,1)):M(``,!0)])):M(``,!0),N(f,{dense:``,class:`mt-1`},{default:y(()=>[N(d,{cols:`6`},{default:y(()=>[N(V,{modelValue:hr.value,"onUpdate:modelValue":r[34]||=e=>hr.value=e,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),N(d,{cols:`6`},{default:y(()=>[N(V,{modelValue:gr.value,"onUpdate:modelValue":r[35]||=e=>gr.value=e,modelModifiers:{number:!0},label:`Agent 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1})]),_:1}),$.value?(g(),j(Se,{key:1,type:$.value.pending>0?`warning`:`success`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:y(()=>[P(` 共 `+p($.value.total)+` 台:成功 `+p($.value.created)+`,待连接 `+p($.value.pending)+`,跳过 `+p($.value.skipped)+` `,1),($.value.duplicates_removed??0)>0?(g(),z(`span`,an,` (输入 `+p($.value.input_lines)+` 行,去重 `+p($.value.duplicates_removed)+` 个) `,1)):M(``,!0)]),_:1},8,[`type`])):M(``,!0)]),_:1}),N(v,null,{default:y(()=>[N(b),N(S,{variant:`text`,onClick:r[36]||=e=>pr.value=!1},{default:y(()=>[...r[104]||=[P(`关闭`,-1)]]),_:1}),N(S,{color:`primary`,variant:`flat`,onClick:Sr,loading:_r.value,disabled:!mr.value.trim()},{default:y(()=>[...r[105]||=[P(` 开始添加 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{on as default}; \ No newline at end of file diff --git a/web/app/assets/SettingsPage-DLeYyeUc.js b/web/app/assets/SettingsPage-DLeYyeUc.js new file mode 100644 index 00000000..90e89b6e --- /dev/null +++ b/web/app/assets/SettingsPage-DLeYyeUc.js @@ -0,0 +1,4 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{n as r,t as i}from"./VRow-CamZ4OJs.js";import{$r as a,A as ee,At as o,B as s,Dr as c,F as l,H as u,Ir as d,M as te,Mt as ne,N as f,Nt as re,P as p,Q as m,R as h,T as ie,Tr as ae,Ur as g,Yr as _,Zt as v,_r as y,dr as b,fr as x,gr as S,hr as C,j as oe,jt as w,kr as T,lr as se,ot as ce,pr as E,qt as D,sr as O,t as k,ur as A,ut as j,z as M}from"./index-C6qJAv49.js";import{i as N,n as P,r as F,t as I}from"./validation-DMwOxx4a.js";import{t as L}from"./VDialog-P-nMQayc.js";import{t as le}from"./VTextarea-Dnh3HyOO.js";import{t as R}from"./VSwitch-XZYCP_Om.js";import{n as ue,r as z}from"./useTerminalQuickCommands-E80oyzaI.js";var de={key:1,class:`text-medium-emphasis text-body-2 mb-4`},B={class:`text-caption text-medium-emphasis mr-2`,style:{"min-width":`1.5rem`}},V={class:`d-flex flex-wrap ga-2`},fe=y({__name:`TerminalQuickCommandsSettings`,setup(t){let n=e(),{commands:r,loading:i,load:o,create:ne,update:re,remove:v,reorder:y,customCommands:w,builtinCommands:se}=ue(),D=g(!1),N=g(null),P=g(``),F=g(``),I=g(!1),le=g(!1),R=g(!1),fe=g(null),pe=g(``);function me(){N.value=null,P.value=``,F.value=``,D.value=!0}function he(e){N.value=e.id,P.value=e.name,F.value=e.cmd.replace(/\r$/,``),D.value=!0}async function ge(){if(!P.value.trim()||!F.value.trim()){n(`名称和命令不能为空`,`warning`);return}let e=F.value.trim();e.endsWith(`\r`)||(e+=`\r`),I.value=!0;try{N.value?await re(N.value,P.value,e):await ne(P.value,e),D.value=!1,n(`已保存`)}catch(e){n(e instanceof Error?e.message:`保存失败`,`error`)}finally{I.value=!1}}function _e(e){fe.value=e.id,pe.value=e.name,R.value=!0}async function ve(){if(fe.value){I.value=!0;try{await v(fe.value),R.value=!1,n(`已删除`)}catch(e){n(e instanceof Error?e.message:`删除失败`,`error`)}finally{I.value=!1}}}async function ye(e){let t=w();if(e<=0)return;let n=t.map(e=>e.id),r=n[e-1];n[e-1]=n[e],n[e]=r,await xe(n)}async function be(e){let t=w();if(e>=t.length-1)return;let n=t.map(e=>e.id),r=n[e+1];n[e+1]=n[e],n[e]=r,await xe(n)}async function xe(e){le.value=!0;try{await y(e)}catch(e){n(e instanceof Error?e.message:`排序失败`,`error`)}finally{le.value=!1}}return ae(()=>{o().catch(e=>n(e.message,`error`))}),(e,t)=>(c(),b(h,{id:`terminal-quick-commands`,elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:d(()=>[S(s,{class:`d-flex align-center flex-wrap ga-2`},{default:d(()=>[S(j,{class:`mr-1`},{default:d(()=>[...t[6]||=[C(`mdi-flash`,-1)]]),_:1}),t[8]||=C(` 终端快捷命令 `,-1),S(f),S(m,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-plus`,onClick:me},{default:d(()=>[...t[7]||=[C(` 添加命令 `,-1)]]),_:1})]),_:1}),S(p),S(M,null,{default:d(()=>[t[9]||=A(`div`,{class:`text-body-2 text-medium-emphasis mb-4`},` 自定义命令显示在终端栏最前(优先级最高)。终端页仅可点击执行;在此添加、编辑、删除与调整顺序。 `,-1),_(i)?(c(),b(ce,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):x(``,!0),_(w)().length===0&&!_(i)?(c(),E(`div`,de,` 暂无自定义命令,点击「添加命令」创建。 `)):x(``,!0),_(w)().length?(c(),b(ie,{key:2,density:`compact`,class:`mb-4 pa-0`},{default:d(()=>[(c(!0),E(O,null,T(_(w)(),(e,t)=>(c(),b(ee,{key:e.id,border:``,rounded:`lg`,class:`mb-2`},{prepend:d(()=>[A(`span`,B,a(t+1),1)]),append:d(()=>[S(m,{icon:`mdi-arrow-up`,size:`x-small`,variant:`text`,disabled:t===0||le.value,onClick:e=>ye(t)},null,8,[`disabled`,`onClick`]),S(m,{icon:`mdi-arrow-down`,size:`x-small`,variant:`text`,disabled:t===_(w)().length-1||le.value,onClick:e=>be(t)},null,8,[`disabled`,`onClick`]),S(m,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,onClick:t=>he(e)},null,8,[`onClick`]),S(m,{icon:`mdi-delete`,size:`x-small`,variant:`text`,color:`error`,onClick:t=>_e(e)},null,8,[`onClick`])]),default:d(()=>[S(oe,null,{default:d(()=>[C(a(e.name),1)]),_:2},1024),S(te,{class:`font-mono text-truncate`},{default:d(()=>[C(a(e.cmd),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):x(``,!0),t[10]||=A(`div`,{class:`text-subtitle-2 mb-2`},`系统内置(不可编辑)`,-1),A(`div`,V,[(c(!0),E(O,null,T(_(se)(),e=>(c(),b(l,{key:e.id,size:`small`,variant:`outlined`,label:``},{default:d(()=>[C(a(e.name),1)]),_:2},1024))),128))])]),_:1}),S(L,{modelValue:D.value,"onUpdate:modelValue":t[3]||=e=>D.value=e,"max-width":`520`},{default:d(()=>[S(h,{border:``},{default:d(()=>[S(s,null,{default:d(()=>[C(a(N.value?`编辑命令`:`添加快捷命令`),1)]),_:1}),S(M,null,{default:d(()=>[S(k,{modelValue:P.value,"onUpdate:modelValue":t[0]||=e=>P.value=e,label:`显示名称`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),t[11]||=A(`div`,{class:`text-body-2 text-medium-emphasis mb-2`},`命令内容(发送时自动追加回车)`,-1),S(z,{modelValue:F.value,"onUpdate:modelValue":t[1]||=e=>F.value=e,multiline:``,rows:4,placeholder:`systemctl status nginx`},null,8,[`modelValue`])]),_:1}),S(u,null,{default:d(()=>[S(f),S(m,{variant:`text`,onClick:t[2]||=e=>D.value=!1},{default:d(()=>[...t[12]||=[C(`取消`,-1)]]),_:1}),S(m,{color:`primary`,variant:`flat`,loading:I.value,onClick:ge},{default:d(()=>[...t[13]||=[C(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(L,{modelValue:R.value,"onUpdate:modelValue":t[5]||=e=>R.value=e,"max-width":`400`},{default:d(()=>[S(h,{border:``},{default:d(()=>[S(s,null,{default:d(()=>[...t[14]||=[C(`删除命令`,-1)]]),_:1}),S(M,null,{default:d(()=>[C(`确定删除「`+a(pe.value)+`」?`,1)]),_:1}),S(u,null,{default:d(()=>[S(f),S(m,{variant:`text`,onClick:t[4]||=e=>R.value=!1},{default:d(()=>[...t[15]||=[C(`取消`,-1)]]),_:1}),S(m,{color:`error`,variant:`flat`,loading:I.value,onClick:ve},{default:d(()=>[...t[16]||=[C(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),pe=[{key:`notify_alert_cpu`,label:`CPU 超阈值告警`,desc:`CPU 使用率超过设定阈值时推送`,group:`服务器资源`},{key:`notify_alert_mem`,label:`内存超阈值告警`,desc:`内存使用率超过设定阈值时推送`,group:`服务器资源`},{key:`notify_alert_disk`,label:`磁盘超阈值告警`,desc:`磁盘使用率超过设定阈值时推送`,group:`服务器资源`},{key:`notify_recovery`,label:`资源恢复正常`,desc:`CPU/内存/磁盘告警解除时推送`,group:`服务器资源`},{key:`notify_time_drift`,label:`时钟偏差严重 (≥60s)`,desc:`子机与主机时间偏差过大影响 TOTP/cron`,group:`服务器`},{key:`notify_system_redis`,label:`Redis 连接异常 / 恢复`,desc:`Redis 不可达或恢复时推送`,group:`系统`},{key:`notify_system_mysql`,label:`MySQL 连接异常 / 恢复`,desc:`MySQL 不可达或恢复时推送`,group:`系统`},{key:`notify_restart`,label:`Nexus 后端重启`,desc:`Python 服务崩溃重启成功/失败时推送`,group:`系统`},{key:`notify_script_complete`,label:`脚本执行完成`,desc:`脚本批量执行结束时推送汇总与看板链接(不含失败明细)`,group:`运维`}],me={class:`d-flex flex-wrap ga-2 mb-4`},he={class:`text-caption text-medium-emphasis font-weight-medium mt-2 mb-1`},ge={class:`d-flex flex-wrap align-center ga-2 mb-3`},_e={class:`d-flex flex-wrap ga-2`},ve={key:1,class:`text-caption text-medium-emphasis mt-2 mb-0`},ye={class:`d-flex align-center mb-3`},be={key:0,class:`text-center mb-3`},xe=[`src`],Se={key:0,class:`d-flex align-center justify-center ga-2 mt-2`},Ce={class:`text-caption pa-1 bg-grey-lighten-4 rounded`,style:{"user-select":`all`}},we={key:1},Te={key:1,class:`d-flex ga-2 align-center`},Ee={class:`d-flex align-center ga-2`},De={class:`d-flex flex-wrap ga-2 mb-3`},Oe={key:0,class:`mb-4`},ke={class:`text-caption text-medium-emphasis mb-2`},Ae={key:0},je={class:`d-flex flex-wrap ga-1`},Me={key:1,class:`text-caption text-medium-emphasis mb-4`},Ne={class:`text-caption text-medium-emphasis`},Pe={class:`text-body-2 mb-2`},Fe={class:`d-flex flex-wrap ga-1 mb-2`,style:{"max-height":`240px`,"overflow-y":`auto`}},Ie={key:0,class:`text-body-2 text-medium-emphasis`},Le=y({__name:`SettingsPage`,setup(te){let y=e(),{saveToServer:oe,previewSound:ue}=o(),z=D(),de=ne,B=g(w),V=g(!1),Le=g(!1),H=g({system_name:``,system_title:``,cpu_alert_threshold:80,mem_alert_threshold:80,disk_alert_threshold:80,db_pool_size:10,db_max_overflow:20,telegram_bot_token:``,telegram_chat_id:``}),U=g(``),W=g(!1),Re=g(!1),ze=g(!1),Be=g(!1),G=g(!1),Ve=g([]),K=g(!1),He=g(!1),q=g({}),Ue=g(null),J=g(null),We=g(!1),Ge=g(!1),Ke=se(()=>{let e={};for(let t of pe)e[t.group]||(e[t.group]=[]),e[t.group].push(t);return e});function qe(e){let t=String(e??`true`).trim().toLowerCase();return![`false`,`0`,`no`,`off`].includes(t)}let Y=g({current:``,new_pw:``,confirm:``,totp_code:``}),Je=g(!1),Ye=g(``),Xe=g(``),Ze=g(``),Qe=g(!1),$e=g(!1),et=g(``),tt=g(``),nt=g(!1),X=g(!1),rt=g(``),it=g(!1),at=g(!1),ot=g(!1),Z=g(``),st=g(``),Q=g([]),ct=g(null),lt=g(0),ut=g(!1),dt=g(!1),$=g(!1),ft=g([]),pt=se(()=>Q.value.slice(0,24));async function mt(){Le.value=!0;try{let e=await v.get(`/settings/`),t=Array.isArray(e)?e:[],n=Object.keys(H.value);for(let e of t){let t=e.key;if(t===`telegram_bot_token`){W.value=!!e.value_set,U.value=``;continue}if(t===`script_exec_complete_sound`){B.value=re(e.value);continue}if(t&&pe.some(e=>e.key===t)){q.value[t]=qe(e.value);continue}if(t&&n.includes(t)){let n=e.value;typeof n==`string`&&/^\d+(\.\d+)?$/.test(n)?H.value[t]=Number(n):H.value[t]=n}}}catch{y(`加载设置失败`,`error`)}finally{Le.value=!1}}async function ht(){try{let e=await v.get(`/settings/ip-allowlist`);ot.value=e.enabled||!1,Z.value=e.subscription_url||``,st.value=(e.manual_ips||[]).join(` +`),Q.value=e.subscription_ips||[],ct.value=e.last_refresh||null,lt.value=e.total_count??new Set([...e.manual_ips||[],...e.subscription_ips||[]]).size}catch{y(`加载白名单失败`,`error`)}}async function gt(){Re.value=!0;try{let e=Object.entries(H.value).filter(([e])=>[`system_name`,`system_title`,`cpu_alert_threshold`,`mem_alert_threshold`,`disk_alert_threshold`,`db_pool_size`,`db_max_overflow`].includes(e));for(let[t,n]of e)await v.put(`/settings/${t}`,{value:n});y(`设置已保存`)}catch(e){y(e instanceof Error?e.message:`保存失败`,`error`)}finally{Re.value=!1}}async function _t(e){let t=U.value.trim(),n=String(H.value.telegram_chat_id||``).trim();return e?.requireToken&&!t&&!W.value?(y(`请先填写 Bot Token`,`error`),!1):e?.requireChatId&&!n?(y(`请先填写或检测 Chat ID`,`error`),!1):(t&&(await v.put(`/settings/telegram_bot_token`,{value:t}),W.value=!0,U.value=``,K.value=!1),n&&await v.put(`/settings/telegram_chat_id`,{value:n}),!0)}async function vt(){We.value=!0;try{J.value=await v.get(`/settings/ops-patrol/status`)}catch{J.value=null}finally{We.value=!1}}async function yt(){Ge.value=!0;try{if(!await _t({requireToken:!0,requireChatId:!0}))return;let e=await v.post(`/settings/ops-patrol/sync-telegram`,{});J.value={...J.value||{},telegram_layer3_ready:e.telegram_layer3_ready,telegram_env_synced:e.env_status.env_synced,env_status:e.env_status,telegram_app_configured:!0},y(`巡检 Telegram 已同步至 .env`),await vt()}catch(e){y(e instanceof Error?e.message:`同步失败`,`error`)}finally{Ge.value=!1}}async function bt(){He.value=!0;try{let e=U.value.trim(),t=String(H.value.telegram_chat_id||``).trim();if(!e&&!t&&!W.value){y(`请先填写 Bot Token 或 Chat ID`,`warning`);return}await _t(),await vt(),y(`Telegram 配置已保存`)}catch(e){y(e instanceof Error?e.message:`保存失败`,`error`)}finally{He.value=!1}}async function xt(e){if(!e||V.value)return;let t=B.value;B.value=e,V.value=!0;try{await oe(e),y(`提示音设置已保存`)}catch(e){B.value=t,y(e instanceof Error?e.message:`保存失败`,`error`)}finally{V.value=!1}}function St(){ue(B.value)}async function Ct(e,t){let n=q.value[e];q.value[e]=t,Ue.value=e;try{await v.put(`/settings/${e}`,{value:t?`true`:`false`})}catch(t){q.value[e]=n,y(t instanceof Error?t.message:`保存失败,已撤销`,`error`)}finally{Ue.value=null}}async function wt(){ze.value=!0;try{if(!await _t({requireToken:!0,requireChatId:!0}))return;await v.post(`/settings/telegram/test`),y(`测试消息已发送`)}catch(e){y(e instanceof Error?e.message:`发送失败`,`error`)}finally{ze.value=!1}}async function Tt(){Be.value=!0;try{if(!await _t({requireToken:!0}))return;if(Ve.value=(await v.get(`/settings/telegram/chats`)).chats||[],!Ve.value.length){y(`未检测到对话,请先向 Bot 发送一条消息后再试`,`warning`);return}G.value=!0}catch(e){y(e instanceof Error?e.message:`检测失败`,`error`)}finally{Be.value=!1}}async function Et(e){let t=String(e.id);H.value.telegram_chat_id=t,G.value=!1;try{await v.put(`/settings/telegram_chat_id`,{value:t}),y(`已选择 Chat ID: ${t}`)}catch(e){y(e instanceof Error?e.message:`保存 Chat ID 失败`,`error`)}}async function Dt(){if(Y.value.new_pw!==Y.value.confirm){y(`两次密码不一致`,`error`);return}Je.value=!0;try{let e={current_password:Y.value.current,new_password:Y.value.new_pw};z.admin?.totp_enabled&&Y.value.totp_code&&(e.totp_code=Y.value.totp_code),await v.put(`/auth/password`,e),Y.value={current:``,new_pw:``,confirm:``,totp_code:``},y(`密码已修改`)}catch(e){y(e instanceof Error?e.message:`修改失败`,`error`)}finally{Je.value=!1}}async function Ot(){try{let e=await v.post(`/auth/totp/setup`);Ye.value=e.qr_code,Xe.value=e.secret||``}catch(e){y(e instanceof Error?e.message:`生成失败`,`error`)}}async function kt(){Qe.value=!0;try{await v.post(`/auth/totp/enable`,{code:Ze.value}),await z.fetchProfile(),Ye.value=``,Ze.value=``,y(`TOTP 已启用`)}catch(e){y(e.message||`启用失败`,`error`)}finally{Qe.value=!1}}function At(){$e.value=!0}async function jt(){nt.value=!0;try{await v.post(`/auth/totp/disable`,{admin_id:z.admin?.id,current_password:et.value,totp_code:tt.value}),await z.fetchProfile(),$e.value=!1,et.value=``,tt.value=``,y(`TOTP 已禁用`)}catch(e){y(e.message||`禁用失败`,`error`)}finally{nt.value=!1}}function Mt(){Xe.value&&(navigator.clipboard.writeText(Xe.value),y(`密钥已复制`))}async function Nt(){if(X.value){X.value=!1;return}it.value=!0;try{rt.value=(await v.post(`/settings/api-key/reveal`,{})).value,X.value=!0}catch(e){y(e instanceof Error?e.message:`获取 API Key 失败`,`error`)}finally{it.value=!1}}async function Pt(){if(K.value){K.value=!1,W.value&&(U.value=``);return}if(U.value.trim()){K.value=!0;return}if(!W.value){K.value=!0;return}at.value=!0;try{U.value=(await v.post(`/settings/telegram/reveal-token`,{})).value,K.value=!0}catch(e){y(e instanceof Error?e.message:`获取 Bot Token 失败`,`error`)}finally{at.value=!1}}function Ft(){if(!X.value||!rt.value){y(`请先点击眼睛图标显示 API Key`,`warning`);return}navigator.clipboard.writeText(rt.value),y(`已复制到剪贴板`)}async function It(){try{await v.post(`/settings/ip-allowlist/toggle?enabled=${ot.value?`true`:`false`}`)}catch(e){y(e instanceof Error?e.message:`操作失败`,`error`)}}async function Lt(){let e=Z.value.trim();if(!e){y(`请先填写订阅 URL`,`error`);return}dt.value=!0;try{if(ft.value=(await v.post(`/settings/ip-allowlist/parse-subscription`,{url:e})).hosts||[],!ft.value.length){y(`未能解析出任何节点`,`warning`);return}$.value=!0}catch(e){y(e instanceof Error?e.message:`解析失败`,`error`)}finally{dt.value=!1}}async function Rt(){ut.value=!0;try{let e={manual_ips:st.value.split(` +`).map(e=>e.trim()).filter(Boolean),subscription_url:Z.value.trim(),enabled:ot.value};await v.post(`/settings/ip-allowlist`,e),y(`白名单已保存`),$.value=!1,await ht()}catch(e){y(e instanceof Error?e.message:`保存失败`,`error`)}finally{ut.value=!1}}return ae(()=>{mt(),ht(),vt(),z.fetchProfile()}),(e,o)=>(c(),b(n,{fluid:``,class:`pa-6`},{default:d(()=>[S(i,null,{default:d(()=>[S(r,{cols:`12`,lg:`6`},{default:d(()=>[S(h,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[27]||=[C(`mdi-cog`,-1)]]),_:1}),o[28]||=C(` 系统设置 `,-1)]),_:1}),Le.value?(c(),b(ce,{key:0,indeterminate:``,color:`primary`})):x(``,!0),S(p),S(M,null,{default:d(()=>[S(k,{modelValue:H.value.system_name,"onUpdate:modelValue":o[0]||=e=>H.value.system_name=e,label:`系统名称`,variant:`outlined`,density:`compact`,class:`mb-3`,rules:[_(N)(`系统名称`)]},null,8,[`modelValue`,`rules`]),S(k,{modelValue:H.value.system_title,"onUpdate:modelValue":o[1]||=e=>H.value.system_title=e,label:`系统标题`,variant:`outlined`,density:`compact`,class:`mb-3`,rules:[_(N)(`系统标题`)]},null,8,[`modelValue`,`rules`]),S(p,{class:`my-4`}),o[29]||=A(`div`,{class:`text-subtitle-2 mb-3`},`告警阈值`,-1),S(i,{dense:``},{default:d(()=>[S(r,{cols:`4`},{default:d(()=>[S(k,{modelValue:H.value.cpu_alert_threshold,"onUpdate:modelValue":o[2]||=e=>H.value.cpu_alert_threshold=e,label:`CPU %`,variant:`outlined`,density:`compact`,type:`number`,rules:[_(N)(`阈值`),_(F)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1}),S(r,{cols:`4`},{default:d(()=>[S(k,{modelValue:H.value.mem_alert_threshold,"onUpdate:modelValue":o[3]||=e=>H.value.mem_alert_threshold=e,label:`内存 %`,variant:`outlined`,density:`compact`,type:`number`,rules:[_(N)(`阈值`),_(F)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1}),S(r,{cols:`4`},{default:d(()=>[S(k,{modelValue:H.value.disk_alert_threshold,"onUpdate:modelValue":o[4]||=e=>H.value.disk_alert_threshold=e,label:`磁盘 %`,variant:`outlined`,density:`compact`,type:`number`,rules:[_(N)(`阈值`),_(F)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),S(p,{class:`my-4`}),o[30]||=A(`div`,{class:`text-subtitle-2 mb-3`},`连接池`,-1),S(i,{dense:``},{default:d(()=>[S(r,{cols:`6`},{default:d(()=>[S(k,{modelValue:H.value.db_pool_size,"onUpdate:modelValue":o[5]||=e=>H.value.db_pool_size=e,label:`连接池大小`,variant:`outlined`,density:`compact`,type:`number`,rules:[_(N)(),_(I)()]},null,8,[`modelValue`,`rules`])]),_:1}),S(r,{cols:`6`},{default:d(()=>[S(k,{modelValue:H.value.db_max_overflow,"onUpdate:modelValue":o[6]||=e=>H.value.db_max_overflow=e,label:`溢出连接数`,variant:`outlined`,density:`compact`,type:`number`,rules:[_(N)(),_(I)()]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1})]),_:1}),S(u,{class:`px-4 pb-4`},{default:d(()=>[S(f),S(m,{color:`primary`,variant:`flat`,onClick:gt,loading:Re.value},{default:d(()=>[...o[31]||=[C(`保存设置`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1}),S(fe),S(h,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[32]||=[C(`mdi-bell-ring-outline`,-1)]]),_:1}),o[33]||=C(` 界面提示 `,-1)]),_:1}),S(p),S(M,null,{default:d(()=>[o[35]||=A(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 脚本批量执行全部结束时,在浏览器播放提示音(仅当前登录的管理员会话,与 Telegram 推送无关)。 `,-1),S(t,{modelValue:B.value,"onUpdate:modelValue":[o[7]||=e=>B.value=e,xt],items:_(de),"item-title":`title`,"item-value":`value`,label:`脚本执行完成提示音`,variant:`outlined`,density:`compact`,"hide-details":``,class:`mb-3`,loading:V.value,disabled:V.value},null,8,[`modelValue`,`items`,`loading`,`disabled`]),S(m,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-volume-high`,disabled:B.value===`off`||V.value,onClick:St},{default:d(()=>[...o[34]||=[C(` 试听 `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1}),S(h,{elevation:`0`,border:``,rounded:`lg`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[36]||=[C(`mdi-send`,-1)]]),_:1}),o[37]||=C(` Telegram 推送 `,-1)]),_:1}),S(p),S(M,null,{default:d(()=>[S(k,{modelValue:U.value,"onUpdate:modelValue":o[8]||=e=>U.value=e,label:`Bot Token`,variant:`outlined`,density:`compact`,class:`mb-3`,placeholder:W.value?`已配置(留空保持不变)`:`输入 Bot Token`,type:K.value?`text`:`password`,"append-inner-icon":K.value?`mdi-eye-off`:`mdi-eye`,"onClick:appendInner":Pt},null,8,[`modelValue`,`placeholder`,`type`,`append-inner-icon`]),W.value&&!U.value?(c(),b(l,{key:0,size:`small`,color:`success`,variant:`tonal`,class:`mb-3`},{default:d(()=>[...o[38]||=[C(`Token 已配置`,-1)]]),_:1})):x(``,!0),S(k,{modelValue:H.value.telegram_chat_id,"onUpdate:modelValue":o[9]||=e=>H.value.telegram_chat_id=e,label:`Chat ID`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),o[46]||=A(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 在 Telegram 向 Bot 发送任意消息后,可点击下方按钮自动检测 Chat ID。 `,-1),A(`div`,me,[S(m,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-radar`,onClick:Tt,loading:Be.value},{default:d(()=>[...o[39]||=[C(`检测 Chat ID`,-1)]]),_:1},8,[`loading`]),S(m,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-message-text`,onClick:wt,loading:ze.value},{default:d(()=>[...o[40]||=[C(`发送测试消息`,-1)]]),_:1},8,[`loading`]),S(m,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-content-save`,onClick:bt,loading:He.value},{default:d(()=>[...o[41]||=[C(`保存 Telegram 配置`,-1)]]),_:1},8,[`loading`])]),S(p,{class:`my-3`}),o[47]||=A(`div`,{class:`text-subtitle-2 mb-1`},`告警通知项目`,-1),o[48]||=A(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 关闭后该类告警仍记录日志,但不发送 Telegram 消息。Bot Token 未配置时全部静默。 `,-1),(c(!0),E(O,null,T(Ke.value,(e,t)=>(c(),E(O,{key:t},[A(`div`,he,a(t),1),(c(!0),E(O,null,T(e,e=>(c(),b(R,{key:e.key,"model-value":q.value[e.key]??!0,label:e.label,hint:e.desc,"persistent-hint":``,color:`primary`,density:`compact`,"hide-details":`auto`,class:`mb-1`,disabled:Ue.value===e.key,"onUpdate:modelValue":t=>Ct(e.key,!!t)},null,8,[`model-value`,`label`,`hint`,`disabled`,`onUpdate:modelValue`]))),128))],64))),128)),S(p,{class:`my-4`}),o[49]||=A(`div`,{class:`text-subtitle-2 mb-1`},`Layer 3 宿主机巡检`,-1),o[50]||=A(`p`,{class:`text-caption text-medium-emphasis mb-3`},[C(` 每分钟由宿主机 cron 执行 `),A(`code`,null,`health_monitor.sh`),C(`:连续 3 次 /health 失败则自动重启并推送 Telegram。 配置保存后会自动同步至 .env;亦可手动同步。未同步时脚本会从数据库读取 Telegram 配置。 `)],-1),A(`div`,ge,[S(l,{size:`small`,color:J.value?.telegram_layer3_ready?`success`:`warning`,variant:`tonal`},{default:d(()=>[C(a(J.value?.telegram_layer3_ready?`巡检 Telegram 就绪`:`请先配置 Telegram`),1)]),_:1},8,[`color`]),J.value?(c(),b(l,{key:0,size:`small`,color:J.value.telegram_env_synced?`success`:`grey`,variant:`tonal`},{default:d(()=>[C(a(J.value.telegram_env_synced?`.env 已同步`:`.env 未同步(可用 DB 回退)`),1)]),_:1},8,[`color`])):x(``,!0)]),A(`div`,_e,[S(m,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-sync`,onClick:yt,loading:Ge.value,disabled:!J.value?.telegram_app_configured},{default:d(()=>[...o[42]||=[C(` 同步巡检 Telegram `,-1)]]),_:1},8,[`loading`,`disabled`]),S(m,{size:`small`,variant:`text`,"prepend-icon":`mdi-refresh`,onClick:vt,loading:We.value},{default:d(()=>[...o[43]||=[C(` 刷新状态 `,-1)]]),_:1},8,[`loading`])]),J.value?(c(),E(`p`,ve,[o[44]||=C(` 宿主机安装 cron:`,-1),A(`code`,null,a(J.value.cron_install_command),1),o[45]||=C(` · 日志:`,-1),A(`code`,null,a(J.value.health_log_path),1)])):x(``,!0)]),_:1})]),_:1})]),_:1}),S(r,{cols:`12`,lg:`6`},{default:d(()=>[S(h,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[51]||=[C(`mdi-lock`,-1)]]),_:1}),o[52]||=C(` 修改密码 `,-1)]),_:1}),S(p),S(M,null,{default:d(()=>[S(k,{modelValue:Y.value.current,"onUpdate:modelValue":o[10]||=e=>Y.value.current=e,label:`当前密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[_(N)(`密码`)]},null,8,[`modelValue`,`rules`]),S(k,{modelValue:Y.value.new_pw,"onUpdate:modelValue":o[11]||=e=>Y.value.new_pw=e,label:`新密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[_(N)(`密码`)]},null,8,[`modelValue`,`rules`]),S(k,{modelValue:Y.value.confirm,"onUpdate:modelValue":o[12]||=e=>Y.value.confirm=e,label:`确认新密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[_(N)(`确认密码`),_(P)(()=>Y.value.new_pw)]},null,8,[`modelValue`,`rules`]),_(z).admin?.totp_enabled?(c(),b(k,{key:0,modelValue:Y.value.totp_code,"onUpdate:modelValue":o[13]||=e=>Y.value.totp_code=e,label:`TOTP 验证码`,variant:`outlined`,density:`compact`,type:`text`,inputmode:`numeric`,maxlength:`6`,class:`mb-3`,rules:_(z).admin?.totp_enabled?[_(N)(`验证码`)]:[]},null,8,[`modelValue`,`rules`])):x(``,!0)]),_:1}),S(u,{class:`px-4 pb-4`},{default:d(()=>[S(f),S(m,{color:`primary`,variant:`flat`,onClick:Dt,loading:Je.value},{default:d(()=>[...o[53]||=[C(`修改密码`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1}),S(h,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[54]||=[C(`mdi-shield-key`,-1)]]),_:1}),o[55]||=C(` 双因素认证 (TOTP) `,-1)]),_:1}),S(p),S(M,null,{default:d(()=>[A(`div`,ye,[o[56]||=A(`span`,{class:`text-body-2`},`状态:`,-1),S(l,{color:_(z).admin?.totp_enabled?`success`:`grey`,size:`small`,variant:`tonal`,label:``,class:`ml-2`},{default:d(()=>[C(a(_(z).admin?.totp_enabled?`已启用`:`未启用`),1)]),_:1},8,[`color`])]),Ye.value?(c(),E(`div`,be,[A(`img`,{src:Ye.value,alt:`TOTP QR`,style:{"max-width":`200px`}},null,8,xe),Xe.value?(c(),E(`div`,Se,[A(`code`,Ce,a(Xe.value),1),S(m,{size:`x-small`,variant:`text`,icon:`mdi-content-copy`,onClick:Mt})])):x(``,!0),o[57]||=A(`div`,{class:`text-caption text-medium-emphasis mt-1`},`用认证器 App 扫描二维码或手动输入密钥`,-1)])):x(``,!0),_(z).admin?.totp_enabled?(c(),b(m,{key:2,size:`small`,variant:`tonal`,color:`error`,"prepend-icon":`mdi-shield-off`,onClick:At},{default:d(()=>[...o[60]||=[C(`禁用 TOTP`,-1)]]),_:1})):(c(),E(`div`,we,[Ye.value?(c(),E(`div`,Te,[S(k,{modelValue:Ze.value,"onUpdate:modelValue":o[14]||=e=>Ze.value=e,label:`验证码`,variant:`outlined`,density:`compact`,style:{"max-width":`160px`}},null,8,[`modelValue`]),S(m,{color:`primary`,variant:`flat`,size:`small`,onClick:kt,loading:Qe.value},{default:d(()=>[...o[59]||=[C(`启用`,-1)]]),_:1},8,[`loading`])])):(c(),b(m,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-qrcode`,onClick:Ot},{default:d(()=>[...o[58]||=[C(`生成二维码`,-1)]]),_:1}))]))]),_:1})]),_:1}),S(h,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[61]||=[C(`mdi-key`,-1)]]),_:1}),o[62]||=C(` API Key `,-1)]),_:1}),S(p),S(M,null,{default:d(()=>[A(`div`,Ee,[S(k,{"model-value":X.value?rt.value:`••••••••`,label:`API Key`,variant:`outlined`,density:`compact`,readonly:``,type:X.value?`text`:`password`,style:{"max-width":`320px`}},null,8,[`model-value`,`type`]),S(m,{variant:`text`,size:`small`,icon:X.value?`mdi-eye-off`:`mdi-eye`,onClick:Nt,loading:it.value},null,8,[`icon`,`loading`]),S(m,{variant:`text`,size:`small`,icon:`mdi-content-copy`,onClick:Ft})])]),_:1})]),_:1}),S(h,{elevation:`0`,border:``,rounded:`lg`},{default:d(()=>[S(s,{class:`d-flex align-center`},{default:d(()=>[S(j,{class:`mr-2`},{default:d(()=>[...o[63]||=[C(`mdi-ip-network`,-1)]]),_:1}),o[64]||=C(` 登录 IP 白名单 `,-1)]),_:1}),S(p),S(M,null,{default:d(()=>[S(R,{modelValue:ot.value,"onUpdate:modelValue":[o[15]||=e=>ot.value=e,It],label:`启用 IP 白名单(仅白名单 IP 可登录)`,color:`primary`,density:`compact`,"hide-details":``,class:`mb-4`},null,8,[`modelValue`]),o[67]||=A(`div`,{class:`text-subtitle-2 mb-2`},`代理订阅`,-1),o[68]||=A(`p`,{class:`text-caption text-medium-emphasis mb-2`},` 填写 SS/VMess/VLESS 等订阅链接,保存后每 2 小时自动刷新节点 IP 并合并进白名单。 `,-1),S(k,{modelValue:Z.value,"onUpdate:modelValue":o[16]||=e=>Z.value=e,label:`订阅 URL`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`https://example.com/sub?token=...`},null,8,[`modelValue`]),A(`div`,De,[S(m,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-cloud-download`,onClick:Lt,loading:dt.value},{default:d(()=>[...o[65]||=[C(`解析预览`,-1)]]),_:1},8,[`loading`]),S(m,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-content-save`,onClick:Rt,loading:ut.value},{default:d(()=>[...o[66]||=[C(`保存白名单`,-1)]]),_:1},8,[`loading`])]),Q.value.length?(c(),E(`div`,Oe,[A(`div`,ke,[C(` 订阅节点 `+a(Q.value.length)+` 个 `,1),ct.value?(c(),E(`span`,Ae,` · 上次刷新 `+a(ct.value),1)):x(``,!0)]),A(`div`,je,[(c(!0),E(O,null,T(pt.value,e=>(c(),b(l,{key:e,size:`x-small`,variant:`tonal`,label:``},{default:d(()=>[C(a(e),1)]),_:2},1024))),128)),Q.value.length>pt.value.length?(c(),b(l,{key:0,size:`x-small`,variant:`text`,label:``},{default:d(()=>[C(` +`+a(Q.value.length-pt.value.length)+` 更多 `,1)]),_:1})):x(``,!0)])])):Z.value?(c(),E(`div`,Me,a(ct.value?`上次刷新 ${ct.value},暂无节点`:`等待首次刷新…保存订阅 URL 后将自动拉取`),1)):x(``,!0),S(p,{class:`my-3`}),o[69]||=A(`div`,{class:`text-subtitle-2 mb-2`},`手动 IP`,-1),S(le,{modelValue:st.value,"onUpdate:modelValue":o[17]||=e=>st.value=e,label:`手动 IP / CIDR(每行一个)`,variant:`outlined`,density:`compact`,rows:`4`,class:`mb-2`,placeholder:`1.2.3.4 +10.0.0.0/24`},null,8,[`modelValue`]),A(`div`,Ne,` 手动 IP 与订阅节点合并生效;共 `+a(lt.value)+` 条(去重后)。 `,1)]),_:1})]),_:1})]),_:1})]),_:1}),S(L,{modelValue:$.value,"onUpdate:modelValue":o[20]||=e=>$.value=e,"max-width":`520`},{default:d(()=>[S(h,{border:``},{default:d(()=>[S(s,null,{default:d(()=>[...o[70]||=[C(`订阅解析预览`,-1)]]),_:1}),S(M,null,{default:d(()=>[A(`div`,Pe,[o[71]||=C(`共解析出 `,-1),A(`strong`,null,a(ft.value.length),1),o[72]||=C(` 个节点 IP / 域名:`,-1)]),A(`div`,Fe,[(c(!0),E(O,null,T(ft.value,e=>(c(),b(l,{key:e,size:`small`,variant:`tonal`,label:``},{default:d(()=>[C(a(e),1)]),_:2},1024))),128))]),o[73]||=A(`div`,{class:`text-caption text-medium-emphasis`},`点击「保存白名单」后才会写入订阅 URL 并触发后台刷新。`,-1)]),_:1}),S(u,null,{default:d(()=>[S(f),S(m,{variant:`text`,onClick:o[18]||=e=>$.value=!1},{default:d(()=>[...o[74]||=[C(`关闭`,-1)]]),_:1}),S(m,{color:`primary`,variant:`flat`,onClick:o[19]||=e=>{$.value=!1,Rt()}},{default:d(()=>[...o[75]||=[C(`保存白名单`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(L,{modelValue:G.value,"onUpdate:modelValue":o[22]||=e=>G.value=e,"max-width":`480`},{default:d(()=>[S(h,{border:``},{default:d(()=>[S(s,null,{default:d(()=>[...o[76]||=[C(`选择 Chat ID`,-1)]]),_:1}),S(M,null,{default:d(()=>[Ve.value.length?(c(),b(ie,{key:1,density:`compact`,lines:`two`},{default:d(()=>[(c(!0),E(O,null,T(Ve.value,e=>(c(),b(ee,{key:e.id,title:e.title||e.username||`Chat ${e.id}`,subtitle:`${e.type}${e.username?` · @`+e.username:``} · ID ${e.id}`,onClick:t=>Et(e)},null,8,[`title`,`subtitle`,`onClick`]))),128))]),_:1})):(c(),E(`div`,Ie,` 未检测到对话。请先在 Telegram 向 Bot 发送一条消息,然后重新检测。 `))]),_:1}),S(u,null,{default:d(()=>[S(f),S(m,{variant:`text`,onClick:o[21]||=e=>G.value=!1},{default:d(()=>[...o[77]||=[C(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(L,{modelValue:$e.value,"onUpdate:modelValue":o[26]||=e=>$e.value=e,"max-width":`400`},{default:d(()=>[S(h,{border:``},{default:d(()=>[S(s,null,{default:d(()=>[...o[78]||=[C(`禁用 TOTP`,-1)]]),_:1}),S(M,null,{default:d(()=>[S(k,{modelValue:et.value,"onUpdate:modelValue":o[23]||=e=>et.value=e,label:`当前密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`,rules:[_(N)()]},null,8,[`modelValue`,`rules`]),S(k,{modelValue:tt.value,"onUpdate:modelValue":o[24]||=e=>tt.value=e,label:`验证码`,variant:`outlined`,density:`compact`,rules:[_(N)()]},null,8,[`modelValue`,`rules`])]),_:1}),S(u,null,{default:d(()=>[S(f),S(m,{variant:`text`,onClick:o[25]||=e=>$e.value=!1},{default:d(()=>[...o[79]||=[C(`取消`,-1)]]),_:1}),S(m,{color:`error`,variant:`flat`,onClick:jt,loading:nt.value},{default:d(()=>[...o[80]||=[C(`禁用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{Le as default}; \ No newline at end of file diff --git a/web/app/assets/StatCardsRow-Cd1utvc9.js b/web/app/assets/StatCardsRow-Cd1utvc9.js new file mode 100644 index 00000000..661c0d00 --- /dev/null +++ b/web/app/assets/StatCardsRow-Cd1utvc9.js @@ -0,0 +1 @@ +import{n as e,t}from"./VRow-CamZ4OJs.js";import{$r as n,Dr as r,Er as i,Ir as a,Pr as o,R as s,U as c,Ur as l,Zr as u,_r as d,dr as f,gr as p,kr as m,pr as h,sr as g,ur as _,ut as v,z as y}from"./index-C6qJAv49.js";import{n as b}from"./paginatedFetch-CPtIdw6B.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var S={status:`status`,name:`name`,domain:`domain`,address:`domain`,category:`category`,target_path:`target_path`,agent_version:`agent_version`,agent:`agent_version`,last_heartbeat:`heartbeat`,heartbeat:`heartbeat`};function C(e){if(!e.length)return{};let t=S[e[0].key];return t?{sort_by:t,sort_order:e[0].order}:{}}function w(){let e=l([]),t=l(!1),n=l(1),r=l(20),a=l(0),s=l(``),c=l(``),u=l([]);async function d(i){i?.silent||(t.value=!0);try{let t=await b(`/servers/`,{search:s.value||void 0,category:c.value||void 0,...C(u.value)},n.value,r.value);e.value=t.items,a.value=t.total,r.value===-1&&(n.value=1)}catch(t){throw e.value=[],a.value=0,t}finally{i?.silent||(t.value=!1)}}let f;i(()=>clearTimeout(f));function p(){clearTimeout(f),f=setTimeout(()=>{n.value=1,d()},300)}function m(e){n.value=e,d()}function h(e){r.value=e,n.value=1,d()}function g(e){c.value=e,n.value=1,d()}o(u,()=>{n.value=1,d()},{deep:!0});async function _(){return(await b(`/servers/`,{search:s.value||void 0,category:c.value||void 0,...C(u.value)},1,-1)).items}return{servers:e,loading:t,page:n,itemsPerPage:r,total:a,search:s,categoryFilter:c,sortBy:u,loadServers:d,onSearch:p,onPageChange:m,onItemsPerPageChange:h,onCategoryChange:g,loadAllServers:_}}function T(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function E(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function D(e){if(!e)return`—`;let t=new Date(e);if(isNaN(t.getTime()))return`—`;let n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:`${Math.floor(n/864e5)} 天前`}var O={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},k=x(d({__name:`StatCardsRow`,props:{items:{}},setup(i){return(o,l)=>(r(),f(t,null,{default:a(()=>[(r(!0),h(g,null,m(i.items,(t,i)=>(r(),f(e,{key:i,cols:`6`,sm:`3`},{default:a(()=>[p(s,{elevation:`0`,rounded:`xl`,border:``,class:`stat-card`},{default:a(()=>[p(y,{class:`pa-4 d-flex align-center justify-space-between`},{default:a(()=>[_(`div`,null,[_(`div`,O,n(t.subtitle),1),_(`div`,{class:u([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},n(t.title),3)]),p(c,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:a(()=>[p(v,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),[[`__scopeId`,`data-v-68b984da`]]);export{w as a,E as i,D as n,T as r,k as t}; \ No newline at end of file diff --git a/web/app/assets/TerminalPage-Dkm2aFA7.js b/web/app/assets/TerminalPage-Dkm2aFA7.js new file mode 100644 index 00000000..9c0fb2fa --- /dev/null +++ b/web/app/assets/TerminalPage-Dkm2aFA7.js @@ -0,0 +1,40 @@ +import{_ as e,t,v as n}from"./VSelect-Dy1HeCdk.js";import{$r as r,A as i,Ar as a,B as o,Cr as s,Dr as c,F as l,Ir as u,P as d,Pr as f,Q as p,Qr as m,R as h,Rr as g,Sr as _,T as ee,Tr as te,Ur as v,Yr as y,Zr as ne,Zt as re,_r as ie,an as ae,b as oe,dr as b,en as se,fr as x,gr as S,hr as C,j as ce,kr as w,lr as le,or as ue,pr as T,sr as de,t as fe,tn as pe,ur as E,ut as D,v as me,yr as he,z as ge,zr as _e}from"./index-C6qJAv49.js";import{t as ve}from"./VDialog-P-nMQayc.js";import{t as ye}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as be}from"./wsUrl-CqmqkTTE.js";import{r as xe,t as Se}from"./useTerminalQuickCommands-E80oyzaI.js";var Ce=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Te=(e,t)=>{for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},O=(e,t,n,r)=>{for(var i=r>1?void 0:r?we(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Ce(t,n,i),i},k=(e,t)=>(n,r)=>t(n,r,e),Ee=`Terminal input`,De={get:()=>Ee,set:e=>Ee=e},Oe=`Too much output to announce, navigate to rows manually to read`,ke={get:()=>Oe,set:e=>Oe=e};function Ae(e){return e.replace(/\r?\n/g,`\r`)}function je(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Me(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Ne(e,t,n,r){e.stopPropagation(),e.clipboardData&&Pe(e.clipboardData.getData(`text/plain`),t,n,r)}function Pe(e,t,n,r){e=Ae(e),e=je(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Fe(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Ie(e,t,n,r,i){Fe(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Le(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Re(e,t=0,n=e.length){let r=``;for(let i=t;i65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var ze=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},Be=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Ve=``,He=` `,Ue=class e{constructor(){this.fg=0,this.bg=0,this.extended=new We}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},We=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Ge=class e extends Ue{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new We,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Le(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Ke=`di$target`,qe=`di$dependencies`,Je=new Map;function Ye(e){return e[qe]||[]}function A(e){if(Je.has(e))return Je.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Xe(t,e,r)};return t._id=e,Je.set(e,t),t}function Xe(e,t,n){t[Ke]===t?t[qe].push({id:e,index:n}):(t[qe]=[{id:e,index:n}],t[Ke]=t)}var Ze=A(`BufferService`),Qe=A(`CoreMouseService`),$e=A(`CoreService`),et=A(`CharsetService`),tt=A(`InstantiationService`),nt=A(`LogService`),rt=A(`OptionsService`),it=A(`OscLinkService`),at=A(`UnicodeService`),ot=A(`DecorationService`),st=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Ge,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;ti?i.activate(e,t,a):ct(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};st=O([k(0,Ze),k(1,rt),k(2,it)],st);function ct(e,t){if(confirm(`Do you want to navigate to ${t}? + +WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var lt=A(`CharSizeService`),ut=A(`CoreBrowserService`),dt=A(`MouseService`),ft=A(`RenderService`),pt=A(`SelectionService`),mt=A(`CharacterJoinerService`),ht=A(`ThemeService`),gt=A(`LinkProviderService`),_t=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Ct.isErrorNoTelemetry(e)?new Ct(e.message+` + +`+e.stack):Error(e.message+` + +`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function vt(e){bt(e)||_t.onUnexpectedError(e)}var yt=`Canceled`;function bt(e){return e instanceof xt?!0:e instanceof Error&&e.name===yt&&e.message===yt}var xt=class extends Error{constructor(){super(yt),this.name=this.message}};function St(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var Ct=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},wt=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function Tt(e,t,n=0,r=e.length){let i=n,a=r;for(;i{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Ot||={});function kt(e,t){return(n,r)=>t(e(n),e(r))}var At=(e,t)=>e-t,jt=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>e(n)?(t=n,!1):!0),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||Ot.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};jt.empty=new jt(e=>{});function Mt(e,t){let n=Object.create(null);for(let r of e){let e=t(r),i=n[e];i||=n[e]=[],i.push(r)}return n}var Nt=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}get(e){return this.map.get(e)||new Set}};function Pt(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var Ft;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);tt.source!==null&&!this.getRootParent(t,e).isSingleton).flatMap(([e])=>e)}computeLeakingDisposables(e=10,t){let n;if(t)n=t;else{let e=new Map,t=[...this.livingDisposables.values()].filter(t=>t.source!==null&&!this.getRootParent(t,e).isSingleton);if(t.length===0)return;let r=new Set(t.map(e=>e.value));if(n=t.filter(e=>!(e.parent&&r.has(e.parent))),n.length===0)throw Error(`There are cyclic diposable chains!`)}if(!n)return;function r(e){function t(e,t){for(;e.length>0&&t.some(t=>typeof t==`string`?t===e[0]:e[0].match(t));)e.shift()}let n=e.source.split(` +`).map(e=>e.trim().replace(`at `,``)).filter(e=>e!==``);return t(n,[`Error`,/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),n.reverse()}let i=new Nt;for(let e of n){let t=r(e);for(let n=0;n<=t.length;n++)i.add(t.slice(0,n).join(` +`),e)}n.sort(kt(e=>e.idx,At));let a=``,o=0;for(let t of n.slice(0,e)){o++;let e=r(t),s=[];for(let t=0;tr(e)[t]),e=>e);delete o[e[t]];for(let[e,t]of Object.entries(o))s.unshift(` - stacktraces of ${t.length} other leaks continue with ${e}`);s.unshift(a)}a+=` + + +==================== Leaking disposable ${o}/${n.length}: ${t.value.constructor.name} ==================== +${s.join(` +`)} +============================================================ + +`}return n.length>e&&(a+=` + + +... and ${n.length-e} more leaking disposables + +`),{leaks:n,details:a}}};Rt.idx=0;function zt(e){Lt=e}if(It){let e=`__is_disposable_tracked__`;zt(new class{trackDisposable(t){let n=Error(`Potentially leaked disposable`).stack;setTimeout(()=>{t[e]||console.log(n)},3e3)}setParent(t,n){if(t&&t!==M.None)try{t[e]=!0}catch{}}markAsDisposed(t){if(t&&t!==M.None)try{t[e]=!0}catch{}}markAsSingleton(e){}})}function Bt(e){return Lt?.trackDisposable(e),e}function Vt(e){Lt?.markAsDisposed(e)}function Ht(e,t){Lt?.setParent(e,t)}function Ut(e,t){if(Lt)for(let n of e)Lt.setParent(n,t)}function Wt(e){return Lt?.markAsSingleton(e),e}function Gt(e){if(Ft.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Kt(...e){let t=j(()=>Gt(e));return Ut(e,t),t}function j(e){let t=Bt({dispose:Pt(()=>{Vt(t),e()})});return t}var qt=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,Bt(this)}dispose(){this._isDisposed||(Vt(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Gt(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return Ht(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),Ht(e,null))}};qt.DISABLE_DISPOSED_WARNING=!1;var Jt=qt,M=class{constructor(){this._store=new Jt,Bt(this),Ht(this._store,this)}dispose(){Vt(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};M.None=Object.freeze({dispose(){}});var Yt=class{constructor(){this._isDisposed=!1,Bt(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Ht(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Vt(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Ht(e,null),e}},Xt=typeof window==`object`?window:globalThis,Zt=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};Zt.Undefined=new Zt(void 0);var N=Zt,Qt=class{constructor(){this._first=N.Undefined,this._last=N.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===N.Undefined}clear(){let e=this._first;for(;e!==N.Undefined;){let t=e.next;e.prev=N.Undefined,e.next=N.Undefined,e=t}this._first=N.Undefined,this._last=N.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new N(e);if(this._first===N.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==N.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==N.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==N.Undefined&&e.next!==N.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===N.Undefined&&e.next===N.Undefined?(this._first=N.Undefined,this._last=N.Undefined):e.next===N.Undefined?(this._last=this._last.prev,this._last.next=N.Undefined):e.prev===N.Undefined&&(this._first=this._first.next,this._first.prev=N.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==N.Undefined;)yield e.element,e=e.next}},$t=globalThis.performance&&typeof globalThis.performance.now==`function`,en=class e{static create(t){return new e(t)}constructor(e){this._now=$t&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},tn=!1,nn=!1,rn=!1,P;(e=>{e.None=()=>M.None;function t(e){if(rn){let{onDidAddListener:t}=e,n=un.create(),r=0;e.onDidAddListener=()=>{++r===2&&(console.warn(`snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here`),n.print()),t?.()}}}function n(e,t){return f(e,()=>{},0,void 0,!0,void 0,t)}e.defer=n;function r(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=r;function i(e,t,n){return u((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=i;function a(e,t,n){return u((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=a;function o(e,t,n){return u((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=o;function s(e){return e}e.signal=s;function c(...e){return(t,n=null,r)=>d(Kt(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=c;function l(e,t,n,r){let a=n;return i(e,e=>(a=t(a,e),a),r)}e.reduce=l;function u(e,n){let r,i={onWillAddFirstListener(){r=e(a.fire,a)},onDidRemoveLastListener(){r?.dispose()}};n||t(i);let a=new F(i);return n?.add(a),a.event}function d(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function f(e,n,r=100,i=!1,a=!1,o,s){let c,l,u,d=0,f,p={leakWarningThreshold:o,onWillAddFirstListener(){c=e(e=>{d++,l=n(l,e),i&&!u&&(m.fire(l),l=void 0),f=()=>{let e=l;l=void 0,u=void 0,(!i||d>1)&&m.fire(e),d=0},typeof r==`number`?(clearTimeout(u),u=setTimeout(f,r)):u===void 0&&(u=0,queueMicrotask(f))})},onWillRemoveListener(){a&&d>0&&f?.()},onDidRemoveLastListener(){f=void 0,c.dispose()}};s||t(p);let m=new F(p);return s?.add(m),m.event}e.debounce=f;function p(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=p;function m(e,t=(e,t)=>e===t,n){let r=!0,i;return o(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=m;function h(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=h;function g(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new F({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=g;function _(e,t){return(n,r,i)=>{let a=t(new te);return e(function(e){let t=a.evaluate(e);t!==ee&&n.call(r,t)},void 0,i)}}e.chain=_;let ee=Symbol(`HaltChainable`);class te{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:ee),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:ee}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===ee)break;return e}}function v(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new F({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=v;function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new F({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=y;function ne(e){return new Promise(t=>r(e)(t))}e.toPromise=ne;function re(e){let t=new F;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=re;function ie(e,t){return e(e=>t.fire(e))}e.forward=ie;function ae(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=ae;class oe{constructor(e,n){this._observable=e,this._counter=0,this._hasChanged=!1;let r={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};n||t(r),this.emitter=new F(r),n&&n.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function b(e,t){return new oe(e,t).emitter.event}e.fromObservable=b;function se(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof Jt?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=se})(P||={});var an=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new en,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};an.all=new Set,an._idPool=0;var on=an,sn=-1,cn=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t{if(e instanceof mn)t(e);else for(let n=0;n{e.length!==0&&(console.warn(`[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:`),console.warn(e.join(` +`)),e.length=0)},3e3),_n=new FinalizationRegistry(t=>{typeof t==`string`&&e.push(t)})}var F=class{constructor(e){this._size=0,this._options=e,this._leakageMon=sn>0||this._options?.leakWarningThreshold?new ln(e?.onListenerError??vt,this._options?.leakWarningThreshold??sn):void 0,this._perfMon=this._options?._profName?new on(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(nn){let e=this._listeners;queueMicrotask(()=>{gn(e,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new fn(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||vt)(n),M.None}if(this._disposed)return M.None;t&&(e=e.bind(t));let r=new mn(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=un.create(),i=this._leakageMon.check(r.stack,this._size+1)),nn&&(r.stack=un.create()),this._listeners?this._listeners instanceof mn?(this._deliveryQueue??=new vn,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=j(()=>{_n?.unregister(a),i?.(),this._removeListener(r)});if(n instanceof Jt?n.add(a):Array.isArray(n)&&n.push(a),_n){let e=Error().stack.split(` +`).slice(2,3).join(` +`).trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);_n.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*hn<=t.length){let e=0;for(let n=0;n0}},vn=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},yn=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new F,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new F,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};yn.INSTANCE=new yn;var bn=yn;function xn(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}bn.INSTANCE.onDidChangeZoomLevel;function Sn(e){return bn.INSTANCE.getZoomFactor(e)}bn.INSTANCE.onDidChangeFullscreen;var Cn=typeof navigator==`object`?navigator.userAgent:``,wn=Cn.indexOf(`Firefox`)>=0,Tn=Cn.indexOf(`AppleWebKit`)>=0,En=Cn.indexOf(`Chrome`)>=0,Dn=!En&&Cn.indexOf(`Safari`)>=0;Cn.indexOf(`Electron/`),Cn.indexOf(`Android`);var On=!1;if(typeof Xt.matchMedia==`function`){let e=Xt.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Xt.matchMedia(`(display-mode: fullscreen)`);On=e.matches,xn(Xt,e,({matches:e})=>{On&&t.matches||(On=e)})}function kn(){return On}var An=`en`,jn=!1,Mn=!1,Nn=!1,Pn=!1,Fn=!1,In=An,Ln,Rn=globalThis,zn;typeof Rn.vscode<`u`&&typeof Rn.vscode.process<`u`?zn=Rn.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(zn=process);var Bn=typeof zn?.versions?.electron==`string`&&zn?.type===`renderer`;if(typeof zn==`object`){jn=zn.platform===`win32`,Mn=zn.platform===`darwin`,Nn=zn.platform===`linux`,Nn&&zn.env.SNAP&&zn.env.SNAP_REVISION,zn.env.CI||zn.env.BUILD_ARTIFACTSTAGINGDIRECTORY,In=An;let e=zn.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,In=t.resolvedLanguage||An,t.languagePack?.translationsConfigFile}catch{}Pn=!0}else typeof navigator==`object`&&!Bn?(Ln=navigator.userAgent,jn=Ln.indexOf(`Windows`)>=0,Mn=Ln.indexOf(`Macintosh`)>=0,(Ln.indexOf(`Macintosh`)>=0||Ln.indexOf(`iPad`)>=0||Ln.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,Nn=Ln.indexOf(`Linux`)>=0,Ln?.indexOf(`Mobi`),Fn=!0,In=globalThis._VSCODE_NLS_LANGUAGE||An,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var Vn=jn,Hn=Mn,Un=Nn,Wn=Pn;Fn&&typeof Rn.importScripts==`function`&&Rn.origin;var Gn=Ln,Kn=In,qn;(e=>{function t(){return Kn}e.value=t;function n(){return Kn.length===2?Kn===`en`:Kn.length>=3?Kn[0]===`e`&&Kn[1]===`n`&&Kn[2]===`-`:!1}e.isDefaultVariant=n;function r(){return Kn===`en`}e.isDefault=r})(qn||={});var Jn=typeof Rn.postMessage==`function`&&!Rn.importScripts;(()=>{if(Jn){let e=[];Rn.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n{let r=++t;e.push({id:r,callback:n}),Rn.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var Yn=!!(Gn&&Gn.indexOf(`Chrome`)>=0);Gn&&Gn.indexOf(`Firefox`),!Yn&&Gn&&Gn.indexOf(`Safari`),Gn&&Gn.indexOf(`Edg/`),Gn&&Gn.indexOf(`Android`);var Xn=typeof navigator==`object`?navigator:{};Wn||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||Xn&&Xn.clipboard&&Xn.clipboard.writeText,Wn||Xn&&Xn.clipboard&&Xn.clipboard.readText,Wn||kn()||Xn.keyboard,`ontouchstart`in Xt||Xn.maxTouchPoints,Xt.PointerEvent&&(`ontouchstart`in Xt||navigator.maxTouchPoints);var Zn=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Qn=new Zn,$n=new Zn,er=new Zn,tr=Array(230),nr;(e=>{function t(e){return Qn.keyCodeToStr(e)}e.toString=t;function n(e){return Qn.strToKeyCode(e)}e.fromString=n;function r(e){return $n.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return er.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return $n.strToKeyCode(e)||er.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return Qn.keyCodeToStr(e)}e.toElectronAccelerator=o})(nr||={});var rr=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new ir([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},ir=class{constructor(e){if(e.length===0)throw St(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t{function t(t){return t===e.None||t===e.Cancelled||t instanceof vr?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:P.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:gr})})(_r||={});var vr=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?gr:(this._emitter||=new F,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},yr=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new wt(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new wt(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},br=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new wt(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=j(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var xr;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(xr||={});var Sr=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new F,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};Sr.EMPTY=Sr.fromArray([]);function Cr(e){return 55296<=e&&e<=56319}function wr(e){return 56320<=e&&e<=57343}function Tr(e,t){return(e-55296<<10)+(t-56320)+65536}function Er(e){return Dr(e,0)}function Dr(e,t){switch(typeof e){case`object`:return e===null?Or(349,t):Array.isArray(e)?jr(e,t):Mr(e,t);case`string`:return Ar(e,t);case`boolean`:return kr(e,t);case`number`:return Or(e,t);case`undefined`:return Or(937,t);default:return Or(617,t)}}function Or(e,t){return(t<<5)-t+e|0}function kr(e,t){return Or(e?433:863,t)}function Ar(e,t){t=Or(149417,t);for(let n=0,r=e.length;nDr(t,e),t)}function Mr(e,t){return t=Or(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Ar(n,t),Dr(e[n],t)),t)}function Nr(e,t,n=32){let r=n-t,i=~((1<>>r)>>>0}function Pr(e,t=0,n=e.byteLength,r=0){for(let i=0;ie.toString(16).padStart(2,`0`)).join(``):Fr((e>>>0).toString(16),t/4)}var Lr=class e{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){let t=e.length;if(t===0)return;let n=this._buff,r=this._buffLen,i=this._leftoverHighSurrogate,a,o;for(i===0?(a=e.charCodeAt(0),o=0):(a=i,o=-1,i=0);;){let s=a;if(Cr(a))if(o+1>>6,e[t++]=128|(n&63)>>>0):n<65536?(e[t++]=224|(n&61440)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0):(e[t++]=240|(n&1835008)>>>18,e[t++]=128|(n&258048)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Ir(this._h0)+Ir(this._h1)+Ir(this._h2)+Ir(this._h3)+Ir(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Pr(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Pr(this._buff));let e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){let t=e._bigBlock32,n=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,n.getUint32(e,!1),!1);for(let e=64;e<320;e+=4)t.setUint32(e,Nr(t.getUint32(e-12,!1)^t.getUint32(e-32,!1)^t.getUint32(e-56,!1)^t.getUint32(e-64,!1),1),!1);let r=this._h0,i=this._h1,a=this._h2,o=this._h3,s=this._h4,c,l,u;for(let e=0;e<80;e++)e<20?(c=i&a|~i&o,l=1518500249):e<40?(c=i^a^o,l=1859775393):e<60?(c=i&a|i&o|a&o,l=2400959708):(c=i^a^o,l=3395469782),u=Nr(r,5)+c+s+l+t.getUint32(e*4,!1)&4294967295,s=o,o=a,a=Nr(i,30),i=r,r=u;this._h0=this._h0+r&4294967295,this._h1=this._h1+i&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+s&4294967295}};Lr._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:Rr,getWindow:zr,getDocument:Br,getWindows:Vr,getWindowsCount:Hr,getWindowId:Ur,getWindowById:Wr,hasWindow:Gr,onDidRegisterWindow:Kr,onWillUnregisterWindow:qr,onDidUnregisterWindow:Jr}=function(){let e=new Map,t={window:Xt,disposables:new Jt};e.set(Xt.vscodeWindowId,t);let n=new F,r=new F,i=new F;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return M.None;let a=new Jt,o={window:t,disposables:a.add(new Jt)};return e.set(t.vscodeWindowId,o),a.add(j(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(I(t,L.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:Xt},getDocument(e){return zr(e).document}}}(),Yr=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function I(e,t,n,r){return new Yr(e,t,n,r)}function Xr(e,t){return function(n){return t(new mr(e,n))}}function Zr(e){return function(t){return e(new ur(t))}}var Qr=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=Xr(zr(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=Zr(n)),I(e,t,i,r)},$r,ei=class extends br{constructor(e){super(),this.defaultTarget=e&&zr(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},ti=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){vt(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(ti.sort),a.shift().execute();r.set(i,!1)};$r=(t,r,a=0)=>{let o=Ur(t),s=new ti(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var ni=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};ni.None=new ni(0,0);function ri(e){let t=e.getBoundingClientRect(),n=zr(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Er(n),a=r.get(i);if(a)a.users+=1;else{let o=new F,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(j(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var L={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:Tn?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Tn?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Tn?`webkitAnimationIteration`:`animationiteration`},ii=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function ai(e,t,n,...r){let i=ii.exec(t);if(!i)throw Error(`Bad use of emmet`);let a=i[1]||`div`,o;return o=e===`http://www.w3.org/1999/xhtml`?document.createElement(a):document.createElementNS(e,a),i[3]&&(o.id=i[3]),i[4]&&(o.className=i[4].replace(/\./g,` `).trim()),n&&Object.entries(n).forEach(([e,t])=>{typeof t>`u`||(/^on\w+$/.test(e)?o[e]=t:e===`selected`?t&&o.setAttribute(e,`true`):o.setAttribute(e,t))}),o.append(...r),o}function oi(e,t,...n){return ai(`http://www.w3.org/1999/xhtml`,e,t,...n)}oi.SVG=function(e,t,...n){return ai(`http://www.w3.org/2000/svg`,e,t,...n)};var si=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingTop=``,this._paddingLeft=``,this._paddingBottom=``,this._paddingRight=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=ci(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=ci(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=ci(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=ci(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=ci(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=ci(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=ci(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=ci(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=ci(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=ci(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=ci(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=ci(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=ci(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=ci(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function ci(e){return typeof e==`number`?`${e}px`:e}function li(e){return new si(e)}var ui=class{constructor(){this._hooks=new Jt,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(j(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=zr(e)}this._hooks.add(I(a,L.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(I(a,L.POINTER_UP,e=>this.stopMonitoring(!0)))}};function di(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var fi;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(fi||={});var pi=class e extends M{constructor(){super(),this.dispatched=!1,this.targets=new Qt,this.ignoreTargets=new Qt,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(P.runAndSubscribe(Kr,({window:e,disposables:t})=>{t.add(I(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(I(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(I(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:Xt,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Wt(new e),j(e.INSTANCE.targets.push(t))):M.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Wt(new e),j(e.INSTANCE.ignoreTargets.push(t))):M.None}static isTouchDevice(){return`ontouchstart`in Xt||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n=e.HOLD_DELAY&&Math.abs(s.initialPageX-Dt(s.rollingPageX))<30&&Math.abs(s.initialPageY-Dt(s.rollingPageY))<30){let e=this.newGestureEvent(fi.Contextmenu,s.initialTarget);e.pageX=Dt(s.rollingPageX),e.pageY=Dt(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=Dt(s.rollingPageX),n=Dt(s.rollingPageY),i=Dt(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(fi.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===fi.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else (t.type===fi.Change||t.type===fi.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=$r(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(fi.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};pi.SCROLL_FRICTION=-.005,pi.HOLD_DELAY=700,pi.CLEAR_TAP_COUNT_TIME=400,O([di],pi,`isTouchDevice`,1);var mi=pi,hi=class extends M{onclick(e,t){this._register(I(e,L.CLICK,n=>t(new mr(zr(e),n))))}onmousedown(e,t){this._register(I(e,L.MOUSE_DOWN,n=>t(new mr(zr(e),n))))}onmouseover(e,t){this._register(I(e,L.MOUSE_OVER,n=>t(new mr(zr(e),n))))}onmouseleave(e,t){this._register(I(e,L.MOUSE_LEAVE,n=>t(new mr(zr(e),n))))}onkeydown(e,t){this._register(I(e,L.KEY_DOWN,e=>t(new ur(e))))}onkeyup(e,t){this._register(I(e,L.KEY_UP,e=>t(new ur(e))))}oninput(e,t){this._register(I(e,L.INPUT,t))}onblur(e,t){this._register(I(e,L.BLUR,t))}onfocus(e,t){this._register(I(e,L.FOCUS,t))}onchange(e,t){this._register(I(e,L.CHANGE,t))}ignoreGesture(e){return mi.ignoreTarget(e)}},gi=11,_i=class extends hi{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=gi+`px`,this.domNode.style.height=gi+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new ui),this._register(Qr(this.bgDomNode,L.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(Qr(this.domNode,L.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new ei),this._pointerdownScheduleRepeatTimer=this._register(new yr)}_arrowPointerDown(e){!e.target||!(e.target instanceof Element)||(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,zr(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},vi=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<`u`?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<`u`?t.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},yi=class extends M{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new vi(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>`u`?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>`u`?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new Ci(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=Ci.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},bi=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function xi(e,t){let n=t-e;return function(t){return e+n*Ti(t)}}function Si(e,t,n){return function(r){return r2.5*n){let r,i;return e{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},Di=140,Oi=class extends hi{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Ei(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new ui),this._shouldRender=!0,this.domNode=li(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(I(this.domNode.domNode,L.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new _i(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=li(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(I(this.slider.domNode,L.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=ri(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(Vn&&a>Di){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},ki=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize===t?!1:(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize===t?!1:(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition===t?!1:(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};Ii.INSTANCE=new Ii;var Li=Ii,Ri=class extends hi{constructor(e,t,n){super(),this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new F),this.onWillScroll=this._onWillScroll.event,this._options=Bi(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new ji(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new Ai(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`xterm-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=li(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=li(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=li(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new yr),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Gt(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Hn&&(this._options.className+=` mac`),this._domNode.className=`xterm-scrollable-element `+this._options.className}updateOptions(e){typeof e.handleMouseWheel<`u`&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<`u`&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<`u`&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<`u`&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<`u`&&(this._options.horizontal=e.horizontal),typeof e.vertical<`u`&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<`u`&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<`u`&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<`u`&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new hr(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Gt(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(I(this._listenOnDomNode,L.MOUSE_WHEEL,e=>{this._onMouseWheel(new hr(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=Li.INSTANCE;Pi&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!Hn&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=Ni*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=Ni*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(Pi&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Mi)}},zi=class extends Ri{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Bi(e){let t={lazyRender:typeof e.lazyRender<`u`?e.lazyRender:!1,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<`u`?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`?e.horizontalHasArrows:!1,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`?e.scrollByPage:!1};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,Hn&&(t.className+=` mac`),t}var Vi=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new F),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new yi({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>$r(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new zi(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(P.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(j(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(j(()=>this._styleElement.remove())),this._register(P.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(` +`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};Vi=O([k(2,Ze),k(3,ut),k(4,Qe),k(5,ht),k(6,rt),k(7,ft)],Vi);var Hi=class extends M{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(`div`),this._container.classList.add(`xterm-decoration-container`),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e))),this._register(j(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Hi=O([k(1,Ze),k(2,ut),k(3,ot),k(4,ft)],Hi);var Ui=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Wi={full:0,left:0,center:0,right:0},Gi={full:0,left:0,center:0,right:0},Ki={full:0,left:0,center:0,right:0},qi=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new Ui,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-decoration-overview-ruler`),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(j(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw Error(`Ctx cannot be null`);this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?`none`:`block`})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(`overviewRuler`,()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);Gi.full=this._canvas.width,Gi.left=e,Gi.center=t,Gi.right=e,this._refreshDrawHeightConstants(),Ki.full=1,Ki.left=1,Ki.center=1+Gi.left,Ki.right=1+Gi.left+Gi.center}_refreshDrawHeightConstants(){Wi.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Wi.left=t,Wi.center=t,Wi.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Wi.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Wi.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Wi.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Wi.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(Ki[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Wi[e.position||`full`]/2),Gi[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Wi[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};qi=O([k(2,Ze),k(3,ot),k(4,ft),k(5,rt),k(6,ht),k(7,ut)],qi);var R;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=` +`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))(R||={});var Ji;(e=>(e.PAD=`€`,e.HOP=``,e.BPH=`‚`,e.NBH=`ƒ`,e.IND=`„`,e.NEL=`…`,e.SSA=`†`,e.ESA=`‡`,e.HTS=`ˆ`,e.HTJ=`‰`,e.VTS=`Š`,e.PLD=`‹`,e.PLU=`Œ`,e.RI=``,e.SS2=`Ž`,e.SS3=``,e.DCS=``,e.PU1=`‘`,e.PU2=`’`,e.STS=`“`,e.CCH=`”`,e.MW=`•`,e.SPA=`–`,e.EPA=`—`,e.SOS=`˜`,e.SGCI=`™`,e.SCI=`š`,e.CSI=`›`,e.ST=`œ`,e.OSC=``,e.PM=`ž`,e.APC=`Ÿ`))(Ji||={});var Yi;(e=>e.ST=`${R.ESC}\\`)(Yi||={});var Xi=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.lengththis.updateCompositionElements(!0),0)}}};Xi=O([k(2,Ze),k(3,rt),k(4,$e),k(5,ft)],Xi);var z=0,B=0,V=0,H=0,Zi={css:`#00000000`,rgba:0},U;(e=>{function t(e,t,n,r){return r===void 0?`#${ea(e)}${ea(t)}${ea(n)}`:`#${ea(e)}${ea(t)}${ea(n)}${ea(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(U||={});var W;(e=>{function t(e,t){if(H=(t.rgba&255)/255,H===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return z=a+Math.round((n-a)*H),B=o+Math.round((r-o)*H),V=s+Math.round((i-s)*H),{css:U.toCss(z,B,V),rgba:U.toRgba(z,B,V)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=$i.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return U.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[z,B,V]=$i.toChannels(t),{css:U.toCss(z,B,V),rgba:t}}e.opaque=i;function a(e,t){return H=Math.round(t*255),[z,B,V]=$i.toChannels(e.rgba),{css:U.toCss(z,B,V,H),rgba:U.toRgba(z,B,V,H)}}e.opacity=a;function o(e,t){return H=e.rgba&255,a(e,H*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(W||={});var G;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return z=parseInt(e.slice(1,2).repeat(2),16),B=parseInt(e.slice(2,3).repeat(2),16),V=parseInt(e.slice(3,4).repeat(2),16),U.toColor(z,B,V);case 5:return z=parseInt(e.slice(1,2).repeat(2),16),B=parseInt(e.slice(2,3).repeat(2),16),V=parseInt(e.slice(3,4).repeat(2),16),H=parseInt(e.slice(4,5).repeat(2),16),U.toColor(z,B,V,H);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return z=parseInt(r[1]),B=parseInt(r[2]),V=parseInt(r[3]),H=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),U.toColor(z,B,V,H);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[z,B,V,H]=t.getImageData(0,0,1,1).data,H!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:U.toRgba(z,B,V,H),css:e}}e.toColor=r})(G||={});var Qi;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(Qi||={});var $i;(e=>{function t(e,t){if(H=(t&255)/255,H===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return z=a+Math.round((n-a)*H),B=o+Math.round((r-o)*H),V=s+Math.round((i-s)*H),U.toRgba(z,B,V)}e.blend=t;function n(e,t,n){let a=Qi.relativeLuminance(e>>8),o=Qi.relativeLuminance(t>>8);if(ta(a,o)>8));if(sta(a,Qi.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=ta(a,Qi.relativeLuminance(s>>8));if(cta(a,Qi.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=ta(Qi.relativeLuminance2(o,s,c),Qi.relativeLuminance2(r,i,a));for(;l0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=ta(Qi.relativeLuminance2(o,s,c),Qi.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=ta(Qi.relativeLuminance2(o,s,c),Qi.relativeLuminance2(r,i,a));for(;l>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})($i||={});function ea(e){let t=e.toString(16);return t.length<2?`0`+t:t}function ta(e,t){return e1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t=oe,ce=x,w=this._workCell;if(f.length>0&&x===f[0][0]&&C){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(ee=r[0]+1;ee=r[1],C?(S=!0,w=new na(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),ce=r[1]-1,m=w.getWidth()):oe=r[1]}let le=this._isCellInSelection(x,t),ue=n&&x===a,T=se&&x>=l&&x<=u,de=!1;this._decorationService.forEachDecorationAtCell(x,t,void 0,e=>{de=!0});let fe=w.getChars()||He;if(fe===` `&&(w.isUnderline()||w.isOverline())&&(fe=`\xA0`),ae=m*s-c.get(fe,w.isBold(),w.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(le&&ie||!le&&!ie&&w.bg===te)&&(le&&ie&&p.selectionForeground||w.fg===v)&&w.extended.ext===y&&T===ne&&ae===re&&!ue&&!S&&!de&&C){w.isInvisible()?_+=He:_+=fe,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(te=w.bg,v=w.fg,y=w.extended.ext,ne=T,re=ae,ie=le,S&&a>=x&&a<=ce&&(a=x),!this._coreService.isCursorHidden&&ue&&this._coreService.isCursorInitialized){if(b.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&b.push(`xterm-cursor-blink`),b.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:b.push(`xterm-cursor-outline`);break;case`block`:b.push(`xterm-cursor-block`);break;case`bar`:b.push(`xterm-cursor-bar`);break;case`underline`:b.push(`xterm-cursor-underline`);break;default:break}}if(w.isBold()&&b.push(`xterm-bold`),w.isItalic()&&b.push(`xterm-italic`),w.isDim()&&b.push(`xterm-dim`),_=w.isInvisible()?He:w.getChars()||He,w.isUnderline()&&(b.push(`xterm-underline-${w.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!w.isUnderlineColorDefault()))if(w.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${Ue.toColorRGB(w.getUnderlineColor()).join(`,`)})`;else{let e=w.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&w.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}w.isOverline()&&(b.push(`xterm-overline`),_===` `&&(_=`\xA0`)),w.isStrikethrough()&&b.push(`xterm-strikethrough`),T&&(h.style.textDecoration=`underline`);let pe=w.getFgColor(),E=w.getFgColorMode(),D=w.getBgColor(),me=w.getBgColorMode(),he=!!w.isInverse();if(he){let e=pe;pe=D,D=e;let t=E;E=me,me=t}let ge,_e,ve=!1;this._decorationService.forEachDecorationAtCell(x,t,void 0,e=>{e.options.layer!==`top`&&ve||(e.backgroundColorRGB&&(me=50331648,D=e.backgroundColorRGB.rgba>>8&16777215,ge=e.backgroundColorRGB),e.foregroundColorRGB&&(E=50331648,pe=e.foregroundColorRGB.rgba>>8&16777215,_e=e.foregroundColorRGB),ve=e.options.layer===`top`)}),!ve&&le&&(ge=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,D=ge.rgba>>8&16777215,me=50331648,ve=!0,p.selectionForeground&&(E=50331648,pe=p.selectionForeground.rgba>>8&16777215,_e=p.selectionForeground)),ve&&b.push(`xterm-decoration-top`);let ye;switch(me){case 16777216:case 33554432:ye=p.ansi[D],b.push(`xterm-bg-${D}`);break;case 50331648:ye=U.toColor(D>>16,D>>8&255,D&255),this._addStyle(h,`background-color:#${ua((D>>>0).toString(16),`0`,6)}`);break;default:he?(ye=p.foreground,b.push(`xterm-bg-257`)):ye=p.background}switch(ge||w.isDim()&&(ge=W.multiplyOpacity(ye,.5)),E){case 16777216:case 33554432:w.isBold()&&pe<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(pe+=8),this._applyMinimumContrast(h,ye,p.ansi[pe],w,ge,void 0)||b.push(`xterm-fg-${pe}`);break;case 50331648:let e=U.toColor(pe>>16&255,pe>>8&255,pe&255);this._applyMinimumContrast(h,ye,e,w,ge,_e)||this._addStyle(h,`color:#${ua(pe.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,ye,p.foreground,w,ge,_e)||he&&b.push(`xterm-fg-257`)}b.length&&=(h.className=b.join(` `),0),!ue&&!S&&!de&&C?g++:h.textContent=_,ae!==this.defaultSpacing&&(h.style.letterSpacing=`${ae}px`),d.push(h),x=ce}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||oa(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=W.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t=n[0]&&e=n[0]}};la=O([k(1,mt),k(2,rt),k(3,ut),k(4,$e),k(5,ot),k(6,ht)],la);function ua(e,t,n){for(;e.length0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},fa=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n=this.startCol&&t=this.startCol):!1}};function pa(){return new fa}var ma=`xterm-dom-renderer-owner-`,ha=`xterm-rows`,ga=`xterm-fg-`,_a=`xterm-bg-`,va=`xterm-focus`,ya=`xterm-selection`,ba=1,xa=class extends M{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=ba++,this._rowElements=[],this._selectionRenderModel=pa(),this.onRequestRedraw=this._register(new F).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(ha),this._rowContainer.style.lineHeight=`normal`,this._rowContainer.setAttribute(`aria-hidden`,`true`),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(`div`),this._selectionContainer.classList.add(ya),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=sa(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(la,document),this._element.classList.add(ma+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(j(()=>{this._element.classList.remove(ma+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new da(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${ha} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${ha} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${ha} .xterm-dim { color: ${W.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${ha}.${va} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${ha}.${va} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${ha}.${va} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${ha} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${ha} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${ha} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${ha} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${ha} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${ya} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${ya} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${ya} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${ga}${n} { color: ${r.css}; }${this._terminalSelector} .${ga}${n}.xterm-dim { color: ${W.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${_a}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${ga}257 { color: ${W.opaque(e.background).css}; }${this._terminalSelector} .${ga}257.xterm-dim { color: ${W.multiplyOpacity(W.opaque(e.background),.5).css}; }${this._terminalSelector} .${_a}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(va),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(va),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${ma}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};xa=O([k(7,tt),k(8,lt),k(9,rt),k(10,Ze),k(11,$e),k(12,ut),k(13,ht)],xa);var Sa=class extends M{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new F),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Ta(this._optionsService))}catch{this._measureStrategy=this._register(new wa(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};Sa=O([k(2,rt)],Sa);var Ca=class extends M{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},wa=class extends Ca{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,this._measureElement=this._document.createElement(`span`),this._measureElement.classList.add(`xterm-char-measure-element`),this._measureElement.textContent=`W`.repeat(32),this._measureElement.setAttribute(`aria-hidden`,`true`),this._measureElement.style.whiteSpace=`pre`,this._measureElement.style.fontKerning=`none`,this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},Ta=class extends Ca{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},Ea=class extends M{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Da(this._window)),this._onDprChange=this._register(new F),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new F),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(P.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(I(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(I(this._textarea,`blur`,()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Da=class extends M{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Yt),this._onDprChange=this._register(new F),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(j(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=I(this._parentWindow,`resize`,()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Oa=class extends M{constructor(){super(),this.linkProviders=[],this._register(j(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function ka(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function Aa(e,t,n,r,i,a,o,s,c){if(!a)return;let l=ka(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var ja=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return Aa(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=ka(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};ja=O([k(0,ft),k(1,lt)],ja);var Ma=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},Na={};Te(Na,{getSafariVersion:()=>Ba,isChromeOS:()=>Ka,isFirefox:()=>La,isIpad:()=>Ha,isIphone:()=>Ua,isLegacyEdge:()=>Ra,isLinux:()=>Ga,isMac:()=>Va,isNode:()=>Pa,isSafari:()=>za,isWindows:()=>Wa});var Pa=typeof process<`u`&&`title`in process,Fa=Pa?`node`:navigator.userAgent,Ia=Pa?`node`:navigator.platform,La=Fa.includes(`Firefox`),Ra=Fa.includes(`Edge`),za=/^((?!chrome|android).)*safari/i.test(Fa);function Ba(){if(!za)return 0;let e=Fa.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var Va=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(Ia),Ha=Ia===`iPad`,Ua=Ia===`iPhone`,Wa=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(Ia),Ga=Ia.indexOf(`Linux`)>=0,Ka=/\bCrOS\b/.test(Fa),qa=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ii){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},Ja=class extends qa{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},Ya=class extends qa{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Xa=!Pa&&`requestIdleCallback`in window?Ya:Ja,Za=class{constructor(){this._queue=new Xa}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},Qa=class extends M{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new Yt),this._pausedResizeTask=new Za,this._observerDisposable=this._register(new Yt),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new F),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new F),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new F),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new F),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ma((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new $a(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(j(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=j(()=>n.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};Qa=O([k(2,rt),k(3,lt),k(4,$e),k(5,ot),k(6,Ze),k(7,ut),k(8,ht)],Qa);var $a=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function eo(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return ro(i,a,e,t,n,r)+io(a,t,n,r)+ao(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,po(Math.abs(i-e),fo(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return po(no(a>t?e:i,n)+(s-1)*n.cols+1+to(a>t?i:e,n),fo(o,r))}function to(e,t){return e-1}function no(e,t){return t.cols-e}function ro(e,t,n,r,i,a){return io(t,r,i,a).length===0?``:po(uo(e,t,e,t-so(t,i),!1,i).length,fo(`D`,a))}function io(e,t,n,r){let i=e-so(e,n),a=t-so(t,n);return po(Math.abs(i-a)-oo(e,t,n),fo(lo(e,t),r))}function ao(e,t,n,r,i,a){let o;o=io(t,r,i,a).length>0?r-so(r,i):t;let s=r,c=co(e,t,n,r,i,a);return po(uo(e,o,n,s,c===`C`,i).length,fo(c,a))}function oo(e,t,n){let r=0,i=e-so(e,n),a=t-so(t,n);for(let o=0;o=0&&e0?r-so(r,i):t,e=n&&ot?`A`:`B`}function uo(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&sa.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function fo(e,t){let n=t?`O`:`[`;return R.ESC+n+e}function po(e,t){e=Math.floor(e);let n=``;for(let r=0;rthis._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function ho(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var go=50,_o=15,vo=50,yo=500,bo=RegExp(`\xA0`,`g`),xo=class extends M{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Ge,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new F),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new F),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new F),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new F),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new mo(this._bufferService),this._activeSelectionMode=0,this._register(j(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]e.replace(bo,` `)).join(Wa?`\r +`:` +`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),Ga&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=ho(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=ka(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-go),go),t/=go,t/Math.abs(t)+Math.round(t*(_o-1)))}shouldForceSelection(e){return Va?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(`mouseup`,this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),vo)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(`mouseup`,this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(Va&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&tthis._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(!(!t&&o.slice(s,c).trim()===``)){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=ho(n,this._bufferService.cols)}};xo=O([k(3,Ze),k(4,$e),k(5,dt),k(6,rt),k(7,ft),k(8,ut)],xo);var So=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},Co=class{constructor(){this._color=new So,this._css=new So}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},K=Object.freeze((()=>{let e=[G.toColor(`#2e3436`),G.toColor(`#cc0000`),G.toColor(`#4e9a06`),G.toColor(`#c4a000`),G.toColor(`#3465a4`),G.toColor(`#75507b`),G.toColor(`#06989a`),G.toColor(`#d3d7cf`),G.toColor(`#555753`),G.toColor(`#ef2929`),G.toColor(`#8ae234`),G.toColor(`#fce94f`),G.toColor(`#729fcf`),G.toColor(`#ad7fa8`),G.toColor(`#34e2e2`),G.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:U.toCss(r,i,a),rgba:U.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:U.toCss(n,n,n),rgba:U.toRgba(n,n,n)})}return e})()),wo=G.toColor(`#ffffff`),To=G.toColor(`#000000`),Eo=G.toColor(`#ffffff`),Do=To,Oo={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},ko=wo,Ao=class extends M{constructor(e){super(),this._optionsService=e,this._contrastCache=new Co,this._halfContrastCache=new Co,this._onChangeColors=this._register(new F),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:wo,background:To,cursor:Eo,cursorAccent:Do,selectionForeground:void 0,selectionBackgroundTransparent:Oo,selectionBackgroundOpaque:W.blend(To,Oo),selectionInactiveBackgroundTransparent:Oo,selectionInactiveBackgroundOpaque:W.blend(To,Oo),scrollbarSliderBackground:W.opacity(wo,.2),scrollbarSliderHoverBackground:W.opacity(wo,.4),scrollbarSliderActiveBackground:W.opacity(wo,.5),overviewRulerBorder:wo,ansi:K.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(`minimumContrastRatio`,()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(`theme`,()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=q(e.foreground,wo),t.background=q(e.background,To),t.cursor=W.blend(t.background,q(e.cursor,Eo)),t.cursorAccent=W.blend(t.background,q(e.cursorAccent,Do)),t.selectionBackgroundTransparent=q(e.selectionBackground,Oo),t.selectionBackgroundOpaque=W.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=q(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=W.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?q(e.selectionForeground,Zi):void 0,t.selectionForeground===Zi&&(t.selectionForeground=void 0),W.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=W.opacity(t.selectionBackgroundTransparent,.3)),W.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=W.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=q(e.scrollbarSliderBackground,W.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=q(e.scrollbarSliderHoverBackground,W.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=q(e.scrollbarSliderActiveBackground,W.opacity(t.foreground,.5)),t.overviewRulerBorder=q(e.overviewRulerBorder,ko),t.ansi=K.slice(),t.ansi[0]=q(e.black,K[0]),t.ansi[1]=q(e.red,K[1]),t.ansi[2]=q(e.green,K[2]),t.ansi[3]=q(e.yellow,K[3]),t.ansi[4]=q(e.blue,K[4]),t.ansi[5]=q(e.magenta,K[5]),t.ansi[6]=q(e.cyan,K[6]),t.ansi[7]=q(e.white,K[7]),t.ansi[8]=q(e.brightBlack,K[8]),t.ansi[9]=q(e.brightRed,K[9]),t.ansi[10]=q(e.brightGreen,K[10]),t.ansi[11]=q(e.brightYellow,K[11]),t.ansi[12]=q(e.brightBlue,K[12]),t.ansi[13]=q(e.brightMagenta,K[13]),t.ansi[14]=q(e.brightCyan,K[14]),t.ansi[15]=q(e.brightWhite,K[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;re.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},No={trace:0,debug:1,info:2,warn:3,error:4,off:5},Po=`xterm.js: `,Fo=class extends M{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),Io=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=No[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;tthis._length)for(let t=this._length;t=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;tthis._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*J+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*J+0]=e|2097152|t[2]<<22):this._data[e*J+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*J+0]>>22}hasWidth(e){return this._data[e*J+0]&12582912}getFg(e){return this._data[e*J+1]}getBg(e){return this._data[e*J+2]}hasContent(e){return this._data[e*J+0]&4194303}getCodePoint(e){let t=this._data[e*J+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*J+0]&2097152}getString(e){let t=this._data[e*J+0];return t&2097152?this._combined[e]:t&2097151?Le(t&2097151):``}isProtected(e){return this._data[e*J+2]&536870912}loadCell(e,t){return Ro=e*J,t.content=this._data[Ro+0],t.fg=this._data[Ro+1],t.bg=this._data[Ro+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*J+0]=t.content,this._data[e*J+1]=t.fg,this._data[e*J+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*J+0]=t|n<<22,this._data[e*J+1]=r.fg,this._data[e*J+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*J+0];r&2097152?this._combined[e]+=Le(t):r&2097151?(this._combined[e]=Le(r&2097151)+Le(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*J+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;rthis.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*zo=0;--e)if(this._data[e*J+0]&4194303)return e+(this._data[e*J+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*J+0]&4194303||this._data[e*J+2]&50331648)return e+(this._data[e*J+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t>22||1}return r&&r.push(t),i}};function Vo(e,t,n,r,i,a){let o=[];for(let s=0;s=s&&r0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function Ho(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;oGo(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;sc&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function Go(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var Ko=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new F),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Gt(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};Ko._nextId=1;var qo=Ko,X={},Jo=X.B;X[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:`␤`,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},X.A={"#":`£`},X.B=void 0,X[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},X.C=X[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},X.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},X.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},X.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},X.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},X.E=X[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},X.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},X.H=X[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},X[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var Yo=4294967295,Xo=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=Y.clone(),this.savedCharset=Jo,this.markers=[],this._nullCell=Ge.fromCharData([0,Ve,1,0]),this._whitespaceCell=Ge.fromCharData([0,He,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Xa,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Lo(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new We),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new We),this._whitespaceCell}getBlankLine(e,t){return new Bo(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&eYo?Yo:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Y);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Lo(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(Y),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new Bo(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=Vo(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Y),n);if(r.length>0){let n=Ho(this.lines,r);Uo(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(Y),i=n;for(;i-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=Go(c,Math.max(g,0),this._cols))}for(let t=0;t0;)this.ybase===0?this.y0){let e=[],t=[];for(let e=0;e=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.linee.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Zo=class extends M{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new F),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(`scrollback`,()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(`tabStopWidth`,()=>this.setupTabStops()))}reset(){this._normal=new Xo(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new Xo(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},Qo=2,$o=1,es=class extends M{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new F),this.onResize=this._onResize.event,this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Qo),this.rows=Math.max(e.rawOptions.rows||0,$o),this.buffers=this._register(new Zo(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};es=O([k(0,rt)],es);var ts={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Va,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},ns=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],rs=class extends M{constructor(e){super(),this._onOptionChange=this._register(new F),this.onOptionChange=this._onOptionChange.event;let t={...ts};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(j(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in ts))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in ts))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=ts[e],!is(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=ts[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=ns.includes(t)?t:ts[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={};break}return t}};function is(e){return e===`block`||e===`underline`||e===`bar`}function as(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&as(e[r],t-1);return n}var os=Object.freeze({insertMode:!1}),ss=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),cs=class extends M{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new F),this.onData=this._onData.event,this._onUserInput=this._register(new F),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new F),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new F),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=as(os),this.decPrivateModes=as(ss)}reset(){this.modes=as(os),this.decPrivateModes=as(ss)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};cs=O([k(0,Ze),k(1,nt),k(2,rt)],cs);var ls={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function us(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var ds=String.fromCharCode,fs={DEFAULT:e=>{let t=[us(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${ds(t[0])}${ds(t[1])}${ds(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${us(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${us(e,!0)};${e.x};${e.y}${t}`}},ps=class extends M{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new F),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(ls))this.addProtocol(e,ls[e]);for(let e of Object.keys(fs))this.addEncoding(e,fs[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};ps=O([k(0,Ze),k(1,$e),k(2,rt)],ps);var ms=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],hs=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],Z;function gs(e,t){let n=0,r=t.length-1,i;if(et[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=vs.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return vs.createPropertyValue(0,n,r)}},vs=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new F,this.onChange=this._onChange.event;let e=new _s;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!=0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},ys=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function bs(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var xs=2147483647,Ss=256,Cs=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>Ss)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>xs?xs:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>xs?xs:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,xs):e}},ws=[],Ts=class{constructor(){this._state=0,this._active=ws,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=ws}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=ws,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||ws,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,Re(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=ws,this._id=-1,this._state=0}}},Es=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Re(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},Ds=[],Os=class{constructor(){this._handlers=Object.create(null),this._active=Ds,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Ds}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Ds,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Ds,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,Re(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Ds,this._ident=0}},ks=new Cs;ks.addParam(0);var As=class{constructor(e){this._handler=e,this._data=``,this._params=ks,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():ks,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Re(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=ks,this._data=``,this._hitLimit=!1,e));return this._params=ks,this._data=``,this._hitLimit=!1,t}},js=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;it),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(Ms,0,2,0),e.add(Ms,8,5,8),e.add(Ms,6,0,6),e.add(Ms,11,0,11),e.add(Ms,13,13,13),e}(),Ps=class extends M{constructor(e=Ns){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Cs,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(j(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new Ts),this._dcsParser=this._register(new Os),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;tr||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let n=a;n>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r=t||(r=e[i])<32||r>126&&r=t||(r=e[i])<32||r>126&&r=t||(r=e[i])<32||r>126&&r=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r=t||(r=e[i])<32||r>127&&r>4:i>>8}return n}}function Rs(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function zs(e,t=16){let[n,r,i]=e;return`rgb:${Rs(n,t)}/${Rs(r,t)}/${Rs(i,t)}`}var Bs={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Vs=131072,Hs=10;function Us(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Ws=5e3,Gs=0,Ks=class extends M{constructor(e,t,n,r,i,a,o,s,c=new Ps){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new ze,this._utf8Decoder=new Be,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Y.clone(),this._eraseAttrDataInternal=Y.clone(),this._onRequestBell=this._register(new F),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new F),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new F),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new F),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new F),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new F),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new F),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new F),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new F),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new F),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new F),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new F),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new qs(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(R.BEL,()=>this.bell()),this._parser.setExecuteHandler(R.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(R.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(R.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(R.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(R.BS,()=>this.backspace()),this._parser.setExecuteHandler(R.HT,()=>this.tab()),this._parser.setExecuteHandler(R.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(R.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Ji.IND,()=>this.index()),this._parser.setExecuteHandler(Ji.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Ji.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Es(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new Es(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new Es(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new Es(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new Es(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new Es(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new Es(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new Es(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new Es(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new Es(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new Es(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new Es(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:`7`},()=>this.saveCursor()),this._parser.registerEscHandler({final:`8`},()=>this.restoreCursor()),this._parser.registerEscHandler({final:`D`},()=>this.index()),this._parser.registerEscHandler({final:`E`},()=>this.nextLine()),this._parser.registerEscHandler({final:`H`},()=>this.tabSet()),this._parser.registerEscHandler({final:`M`},()=>this.reverseIndex()),this._parser.registerEscHandler({final:`=`},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:`>`},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:`c`},()=>this.fullReset()),this._parser.registerEscHandler({final:`n`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`o`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`|`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`}`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`~`},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:`%`,final:`@`},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:`%`,final:`G`},()=>this.selectDefaultCharset());for(let e in X)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new As((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),Ws))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${Ws} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Vs&&(a=this._parseStack.position+Vs)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.lengthVs)for(let t=a;t0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;ps){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof Bo&&d.copyCellsFrom(e,t,0,m,!1);t=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>Us(e.params[0],this._optionsService.rawOptions.windowOptions)?t(e):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new As(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Es(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let c=s;for(let e=1;e0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(R.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(R.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(R.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(R.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(R.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${R.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=Ue.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=Y.fg,e.bg=Y.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=Y.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=Y.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=Y.fg&16777215,r.bg&=-67108864,r.bg|=Y.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${R.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${R.ESC}[${e};${t}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${R.ESC}[?${e};${t}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=Y.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`;break}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!Us(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${R.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Hs&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Hs&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(Js(n))if(r===`?`)t.push({type:0,index:n});else{let e=Ls(r);e&&t.push({type:1,index:n,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):n.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=Ls(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=Y.clone(),this._eraseAttrDataInternal=Y.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new Ge;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${R.ESC}${e}${R.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},qs=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){ethis.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(Gs=e,e=t,t=Gs),ethis.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};qs=O([k(0,Ze)],qs);function Js(e){return 0<=e&&e<256}var Ys=5e7,Xs=12,Zs=50,Qs=class extends M{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new F),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>Ys)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=Xs?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=Xs)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Zs&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},$s=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};$s=O([k(0,Ze)],$s);var ec=!1,tc=class extends M{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Yt),this._onBinary=this._register(new F),this.onBinary=this._onBinary.event,this._onData=this._register(new F),this.onData=this._onData.event,this._onLineFeed=this._register(new F),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new F),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new F),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new F),this._instantiationService=new Mo,this.optionsService=this._register(new rs(e)),this._instantiationService.setService(rt,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(es)),this._instantiationService.setService(Ze,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Fo)),this._instantiationService.setService(nt,this._logService),this.coreService=this._register(this._instantiationService.createInstance(cs)),this._instantiationService.setService($e,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(ps)),this._instantiationService.setService(Qe,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(vs)),this._instantiationService.setService(at,this.unicodeService),this._charsetService=this._instantiationService.createInstance(ys),this._instantiationService.setService(et,this._charsetService),this._oscLinkService=this._instantiationService.createInstance($s),this._instantiationService.setService(it,this._oscLinkService),this._inputHandler=this._register(new Ks(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(P.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(P.forward(this._bufferService.onResize,this._onResize)),this._register(P.forward(this.coreService.onData,this._onData)),this._register(P.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Qs((e,t)=>this._inputHandler.parse(e,t))),this._register(P.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new F),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!ec&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),ec=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,Qo),t=Math.max(t,$o),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(bs.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(bs(this._bufferService),!1))),this._windowsWrappingHeuristics.value=j(()=>{for(let t of e)t.dispose()})}}},nc={48:[`0`,`)`],49:[`1`,`!`],50:[`2`,`@`],51:[`3`,`#`],52:[`4`,`$`],53:[`5`,`%`],54:[`6`,`^`],55:[`7`,`&`],56:[`8`,`*`],57:[`9`,`(`],186:[`;`,`:`],187:[`=`,`+`],188:[`,`,`<`],189:[`-`,`_`],190:[`.`,`>`],191:[`/`,`?`],192:["`",`~`],219:[`[`,`{`],220:[`\\`,`|`],221:[`]`,`}`],222:[`'`,`"`]};function rc(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?t?i.key=R.ESC+`OA`:i.key=R.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?t?i.key=R.ESC+`OD`:i.key=R.ESC+`[D`:e.key===`UIKeyInputRightArrow`?t?i.key=R.ESC+`OC`:i.key=R.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(t?i.key=R.ESC+`OB`:i.key=R.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:R.DEL,e.altKey&&(i.key=R.ESC+i.key);break;case 9:if(e.shiftKey){i.key=R.ESC+`[Z`;break}i.key=R.HT,i.cancel=!0;break;case 13:i.key=e.altKey?R.ESC+R.CR:R.CR,i.cancel=!0;break;case 27:i.key=R.ESC,e.altKey&&(i.key=R.ESC+R.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`D`:t?i.key=R.ESC+`OD`:i.key=R.ESC+`[D`;break;case 39:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`C`:t?i.key=R.ESC+`OC`:i.key=R.ESC+`[C`;break;case 38:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`A`:t?i.key=R.ESC+`OA`:i.key=R.ESC+`[A`;break;case 40:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`B`:t?i.key=R.ESC+`OB`:i.key=R.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=R.ESC+`[2~`);break;case 46:a?i.key=R.ESC+`[3;`+(a+1)+`~`:i.key=R.ESC+`[3~`;break;case 36:a?i.key=R.ESC+`[1;`+(a+1)+`H`:t?i.key=R.ESC+`OH`:i.key=R.ESC+`[H`;break;case 35:a?i.key=R.ESC+`[1;`+(a+1)+`F`:t?i.key=R.ESC+`OF`:i.key=R.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:e.ctrlKey?i.key=R.ESC+`[5;`+(a+1)+`~`:i.key=R.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:e.ctrlKey?i.key=R.ESC+`[6;`+(a+1)+`~`:i.key=R.ESC+`[6~`;break;case 112:a?i.key=R.ESC+`[1;`+(a+1)+`P`:i.key=R.ESC+`OP`;break;case 113:a?i.key=R.ESC+`[1;`+(a+1)+`Q`:i.key=R.ESC+`OQ`;break;case 114:a?i.key=R.ESC+`[1;`+(a+1)+`R`:i.key=R.ESC+`OR`;break;case 115:a?i.key=R.ESC+`[1;`+(a+1)+`S`:i.key=R.ESC+`OS`;break;case 116:a?i.key=R.ESC+`[15;`+(a+1)+`~`:i.key=R.ESC+`[15~`;break;case 117:a?i.key=R.ESC+`[17;`+(a+1)+`~`:i.key=R.ESC+`[17~`;break;case 118:a?i.key=R.ESC+`[18;`+(a+1)+`~`:i.key=R.ESC+`[18~`;break;case 119:a?i.key=R.ESC+`[19;`+(a+1)+`~`:i.key=R.ESC+`[19~`;break;case 120:a?i.key=R.ESC+`[20;`+(a+1)+`~`:i.key=R.ESC+`[20~`;break;case 121:a?i.key=R.ESC+`[21;`+(a+1)+`~`:i.key=R.ESC+`[21~`;break;case 122:a?i.key=R.ESC+`[23;`+(a+1)+`~`:i.key=R.ESC+`[23~`;break;case 123:a?i.key=R.ESC+`[24;`+(a+1)+`~`:i.key=R.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=R.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=R.DEL:e.keyCode===219?i.key=R.ESC:e.keyCode===220?i.key=R.FS:e.keyCode===221&&(i.key=R.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=nc[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=R.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=R.ESC+n}else if(e.keyCode===32)i.key=R.ESC+(e.ctrlKey?R.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=R.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=R.US),e.key===`@`&&(i.key=R.NUL));break}return i}var Q=0,ic=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Xa,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Xa,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(Q=this._search(t),Q===-1)||this._getKey(this._array[Q])!==t)return!1;do if(this._array[Q]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Q),!0;while(++Qe-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Q=this._search(e),!(Q<0||Q>=this._array.length)&&this._getKey(this._array[Q])===e))do yield this._array[Q];while(++Q=this._array.length)&&this._getKey(this._array[Q])===e))do t(this._array[Q]);while(++Q=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},ac=0,oc=0,sc=class extends M{constructor(){super(),this._decorations=new ic(e=>e?.marker.line),this._onDecorationRegistered=this._register(new F),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new F),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(j(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new cc(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e{ac=t.options.x??0,oc=ac+(t.options.width??1),e>=ac&&e=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},dc=20,fc=!1,pc=class extends M{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;ethis._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new uc(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);fc?(this._accessibilityContainer.classList.add(`debug`),this._rowContainer.classList.add(`debug`),this._debugRootContainer=i.createElement(`div`),this._debugRootContainer.classList.add(`xterm`),this._debugRootContainer.appendChild(i.createTextNode(`------start a11y------`)),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(i.createTextNode(`------end a11y------`)),this._terminal.element.insertAdjacentElement(`afterend`,this._debugRootContainer)):this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` +`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(I(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(j(()=>{fc?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===` +`&&(this._liveRegionLineCount++,this._liveRegionLineCount===dc+1&&(this._liveRegion.textContent+=ke.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;ee;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e{Gt(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(I(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(I(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(I(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(I(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;re?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;tthis._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;ethis._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&hc(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Gt(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};mc=O([k(1,dt),k(2,ft),k(3,Ze),k(4,gt)],mc);function hc(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var gc=class extends tc{constructor(e={}){super(e),this._linkifier=this._register(new Yt),this.browser=Na,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Yt),this._onCursorMove=this._register(new F),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new F),this.onKey=this._onKey.event,this._onRender=this._register(new F),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new F),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new F),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new F),this.onBell=this._onBell.event,this._onFocus=this._register(new F),this._onBlur=this._register(new F),this._onA11yCharEmitter=this._register(new F),this._onA11yTabEmitter=this._register(new F),this._onWillOpen=this._register(new F),this._setup(),this._decorationService=this._instantiationService.createInstance(sc),this._instantiationService.setService(ot,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Oa),this._instantiationService.setService(gt,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(st)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(P.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(P.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(P.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(P.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(j(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=W.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${R.ESC}]${n};${zs(r)}${Yi.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=U.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=U.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(pc,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(R.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(R.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(I(this.element,`copy`,e=>{this.hasSelection()&&Me(e,this._selectionService)}));let e=e=>Ne(e,this.textarea,this.coreService,this.optionsService);this._register(I(this.textarea,`paste`,e)),this._register(I(this.element,`paste`,e)),La?this._register(I(this.element,`mousedown`,e=>{e.button===2&&Ie(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(I(this.element,`contextmenu`,e=>{Ie(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Ga&&this._register(I(this.element,`auxclick`,e=>{e.button===1&&Fe(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(I(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(I(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(I(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(I(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(I(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(I(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(I(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(I(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,De.get()),Ka||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ea,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(ut,this._coreBrowserService),this._register(I(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(I(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Sa,this._document,this._helperContainer),this._instantiationService.setService(lt,this._charSizeService),this._themeService=this._instantiationService.createInstance(Ao),this._instantiationService.setService(ht,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(ra),this._instantiationService.setService(mt,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Qa,this.rows,this.screenElement)),this._instantiationService.setService(ft,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(Xi,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ja),this._instantiationService.setService(dt,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(mc,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Vi,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(xo,this.element,this.screenElement,r)),this._instantiationService.setService(pt,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(P.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Hi,this.screenElement)),this._register(I(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(pc,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(qi,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(qi,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(xa,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(I(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(I(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=R.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){Pe(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=rc(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===R.ETX||n.key===R.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(_c(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new Ge)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},bc=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new yc(t)}getNullCell(){return new Ge}},xc=class extends M{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new F),this.onBufferChange=this._onBufferChange.event,this._normal=new bc(this._core.buffers.normal,`normal`),this._alternate=new bc(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Sc=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Cc=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},wc=[`cols`,`rows`],Tc=0,Ec=class extends M{constructor(e){super(),this._core=this._register(new gc(e)),this._addonManager=this._register(new vc),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(wc.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new Sc(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Cc(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new xc(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`;break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r +`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return De.get()},set promptLabel(e){De.set(e)},get tooMuchOutput(){return ke.get()},set tooMuchOutput(e){ke.set(e)}}}_verifyIntegers(...e){for(Tc of e)if(Tc===1/0||isNaN(Tc)||Tc%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Tc of e)if(Tc&&(Tc===1/0||isNaN(Tc)||Tc%1!=0||Tc<0))throw Error(`This API only accepts positive integers`)}},Dc=2,Oc=1,kc=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(Dc,Math.floor(u/e.css.cell.width)),rows:Math.max(Oc,Math.floor(l/e.css.cell.height))}}},Ac=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=Mc.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function jc(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var Mc=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!jc(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),!(!n.isWrapped||o.indexOf(` `)!==-1)););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function Pc(e,t){let n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}var Fc=class{constructor(e=Pc,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,n=t.urlRegex||Nc;this._linkProvider=this._terminal.registerLinkProvider(new Ac(this._terminal,n,this._handler,t))}dispose(){this._linkProvider?.dispose()}},Ic=new Map;function Lc(){return{ws:null,term:null,fitAddon:null,resizeObserver:null,reconnectTimer:null,pingTimer:null,uptimeTimer:null}}function Rc(e){let t=Lc();return Ic.set(e,t),t}function $(e){return Ic.get(e)}function zc(e){Ic.delete(e)}function Bc(e,t){let n=$(e);n&&(n.term=_e(t))}function Vc(e,t){let n=$(e);n&&(n.fitAddon=_e(t))}function Hc(e,t){let n=$(e);n&&(n.resizeObserver=_e(t))}function Uc(e){return $(e)?.ws?.readyState===WebSocket.OPEN}function Wc(e){Ic.forEach((t,n)=>e(n,t))}function Gc(e){let t=(e||``).trim();return t&&/^[^\x00-\x1f\x7f"'`\\]+$/.test(t)?t:``}function Kc(e){switch(e.status){case`connecting`:return`连接中…`;case`connected`:return`已连接`;case`error`:return`连接失败`;default:return`未连接`}}function qc(e){switch(e.status){case`connecting`:return`warning`;case`connected`:return`success`;case`error`:return`error`;default:return`grey`}}var Jc=`nexus_term_fontSize`,Yc=`nexus_term_scrollback`,Xc=[{title:`1 千行`,value:1e3},{title:`5 千行`,value:5e3},{title:`1 万行`,value:1e4},{title:`5 万行`,value:5e4}];function Zc(){let e=v(parseInt(localStorage.getItem(Jc)||`14`,10)),t=v(parseInt(localStorage.getItem(Yc)||`1000`,10));function n(t){e.value=Math.max(10,Math.min(24,e.value+t)),localStorage.setItem(Jc,String(e.value)),Wc((t,n)=>{if(n.term){n.term.options.fontSize=e.value;try{n.fitAddon?.fit()}catch{}}})}function r(e){t.value=e,localStorage.setItem(Yc,String(e)),Wc((t,n)=>{n.term&&(n.term.options.scrollback=e)})}function i(t){let n=$(t)?.term;n&&(n.options.fontSize=e.value)}return{fontSize:e,scrollback:t,scrollbackOptions:Xc,changeFontSize:n,changeScrollback:r,applyFontToSession:i}}var Qc=`nexus_term_history`;function $c(){try{return JSON.parse(localStorage.getItem(Qc)||`[]`)}catch{return[]}}function el(e,t,n){let r=v(``);function i(){let i=e();if(!i)return;if(!Uc(i.id)){n?.();return}let a=r.value;if(!a||(i.cmdHistory.push(a),i.cmdIdx=-1,!t(i.id,a+`\r`)))return;r.value=``;let o=$c();o.length>=200&&o.shift(),o.push(a),localStorage.setItem(Qc,JSON.stringify(o))}function a(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),i();return}if(e.key===`ArrowUp`){e.preventDefault(),o();return}e.key===`ArrowDown`&&(e.preventDefault(),s())}function o(){let t=e();t&&t.cmdIdx0?(t.cmdIdx--,r.value=t.cmdHistory[t.cmdHistory.length-1-t.cmdIdx]):(t.cmdIdx=-1,r.value=``))}function c(){return[...$c()]}return{cmdInput:r,sendCmd:i,onCmdKeydown:a,cmdHistoryUp:o,cmdHistoryDown:s,loadHistoryForNewSession:c}}var tl=10;function nl(t){let n=se(),r=pe(),i=ae(),a=e(),o=Zc(),s=v([]),c=v(``),l=v(null),u=new Map,d=v(!1),p=v([]),m=v(``),h=v([]),g=le(()=>s.value.find(e=>e.id===c.value)||null),ee=le(()=>{let e=c.value;return e?Uc(e):!1}),te=le(()=>!g.value);function y(){let e=n.query.server_id??n.query.server,t=Number(e);return Number.isFinite(t)&&t>0?t:0}async function ne(e,t=24){for(let n=0;n{let e=m.value.toLowerCase().trim();return p.value.filter(t=>!e||t.name.toLowerCase().includes(e)||t.domain.toLowerCase().includes(e))}),oe=le(()=>s.value.length===0&&!d.value);function b(e){return s.value.find(t=>t.id===e)}function x(e,t){let n=$(e)?.ws;return!n||n.readyState!==WebSocket.OPEN?!1:(n.send(JSON.stringify({type:`DATA`,data:t})),!0)}let S=el(()=>g.value,x,()=>a(`终端连接中,请稍候`,`warning`));function C(){Wc((e,t)=>{try{t.fitAddon?.fit()}catch{}})}f(t,()=>{_(()=>{C(),setTimeout(C,220)})});function ce(e,t){e&&u.set(t,e)}function w(){let e=i.global.current.value.dark;return new Ec({cursorBlink:!0,cursorStyle:`bar`,fontSize:o.fontSize.value,scrollback:o.scrollback.value,fontFamily:`"Cascadia Code","Fira Code","JetBrains Mono",Menlo,monospace`,theme:e?{background:`#0b1120`,foreground:`#e2e8f0`,cursor:`#7c8bf4`,selectionBackground:`#334155`,black:`#1e293b`,red:`#f87171`,green:`#4ade80`,yellow:`#fbbf24`,blue:`#60a5fa`,magenta:`#c084fc`,cyan:`#22d3ee`,white:`#e2e8f0`,brightBlack:`#64748b`,brightRed:`#fca5a5`,brightGreen:`#86efac`,brightYellow:`#fde047`,brightBlue:`#93c5fd`,brightMagenta:`#d8b4fe`,brightCyan:`#67e8f9`,brightWhite:`#f8fafc`}:{background:`#f8fafc`,foreground:`#0f172a`,cursor:`#4f46e5`,selectionBackground:`#bfdbfe`,black:`#1e293b`,red:`#dc2626`,green:`#16a34a`,yellow:`#ca8a04`,blue:`#2563eb`,magenta:`#9333ea`,cyan:`#0891b2`,white:`#f1f5f9`,brightBlack:`#64748b`,brightRed:`#ef4444`,brightGreen:`#22c55e`,brightYellow:`#eab308`,brightBlue:`#3b82f6`,brightMagenta:`#a855f7`,brightCyan:`#06b6d4`,brightWhite:`#ffffff`},allowProposedApi:!0,drawBoldTextInBrightColors:!0})}function ue(e,t){let n=Gc(t);!n||!Uc(e.id)||(x(e.id,`cd ${n}\r`),e.initialCdSent=!0)}function T(e){let t=$(e.id);t?.uptimeTimer&&(clearInterval(t.uptimeTimer),t.uptimeTimer=null),e.uptime=``}function de(e){if(!e.connectionStartTime){e.uptime=``;return}let t=Math.floor((Date.now()-e.connectionStartTime)/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;e.uptime=`${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function fe(e){e.connectionStartTime=Date.now(),T(e),de(e);let t=$(e.id);t&&(t.uptimeTimer=setInterval(()=>de(e),1e3))}function E(e){let t=$(e.id);t?.pingTimer&&(clearInterval(t.pingTimer),t.pingTimer=null),e.pingMs=null}function D(e){E(e),e.pingMs=null;let t=$(e.id);t&&(t.pingTimer=setInterval(()=>{Uc(e.id)&&$(e.id)?.ws?.send(JSON.stringify({type:`PING`,ts:Date.now()}))},5e3))}function me(e){let t=$(e);if(t){if(t.reconnectTimer&&=(clearTimeout(t.reconnectTimer),null),t.pingTimer&&=(clearInterval(t.pingTimer),null),t.uptimeTimer&&=(clearInterval(t.uptimeTimer),null),t.ws){try{t.ws.close(1e3)}catch{}t.ws=null}if(t.term){try{t.term.dispose()}catch{}t.term=null}if(t.resizeObserver){try{t.resizeObserver.disconnect()}catch{}t.resizeObserver=null}t.fitAddon=null,zc(e)}}async function he(e){let t=b(e);if(!t)return;let n=$(e);if(!n)return;if(n.ws){try{n.ws.close(1e3)}catch{}n.ws=null}t.status=`connecting`;let i;try{i=(await re.post(`/auth/webssh-token`,{server_id:t.serverId})).webssh_token}catch(e){let r=e instanceof Error?e.message:`无法获取终端令牌`;t.status=`error`,n.term?.writeln(`\r\n\x1b[31m⚠ ${r}\x1b[0m`),t.showOverlay=!0,t.overlayMsg=r,t.reconnectCountdown=``;return}let a=be(`/ws/terminal/${t.serverId}`,{token:i}),o=new WebSocket(a);n.ws=o,o.onopen=()=>{t.status=`connected`,t.manualDisconnect=!1,t.reconnectAttempt=0,n.reconnectTimer&&=(clearTimeout(n.reconnectTimer),null),t.showOverlay=!1,t.overlayMsg=``,t.reconnectCountdown=``,fe(t),D(t),n.term?.focus()},o.onmessage=e=>{try{let r=JSON.parse(e.data);switch(r.type){case`TERMINAL_INIT`:t.serverName=r.server_name||t.serverName;{let e=n.fitAddon?.proposeDimensions();e&&o.readyState===WebSocket.OPEN&&o.send(JSON.stringify({type:`RESIZE`,cols:e.cols,rows:e.rows}))}t.pendingPath&&!t.initialCdSent&&o.readyState===WebSocket.OPEN&&ue(t,t.pendingPath);break;case`DATA`:n.term?.write(r.data);break;case`ERROR`:n.term?.write(`\r\n\x1b[31m⚠ ${r.message}\x1b[0m\r\n`);break;case`PONG`:t.pingMs=Date.now()-(r.ts||0);break;case`CLOSE`:n.term?.write(`\r +\x1B[33m━━ 连接已关闭 ━━\x1B[0m\r +`);break}}catch{n.term?.write(e.data)}},o.onclose=e=>{if(E(t),e.code===4001){n.term?.write(`\r +\x1B[31m⚠ 认证失败,请重新登录\x1B[0m\r +`),setTimeout(()=>r.push(`/login`),2e3);return}if(e.code===4003){t.status=`error`,n.term?.write(`\r\n\x1b[31m⚠ 授权失败: ${e.reason||`SSH凭据未配置`}\x1b[0m\r\n`),t.showOverlay=!0,t.overlayMsg=e.reason||`SSH 凭据未配置`,t.reconnectCountdown=``;return}t.status=`error`,n.ws=null,!t.manualDisconnect&&e.code!==1e3&&e.code!==4001&&e.code!==4003?ge(t):(t.showOverlay=!0,t.overlayMsg=`连接已断开`,t.reconnectCountdown=``)},o.onerror=()=>{}}function ge(e){let t=$(e.id);if(!t)return;e.reconnectAttempt++;let n=Math.min(1e3*2**(e.reconnectAttempt-1),3e4);e.showOverlay=!0,e.overlayMsg=`连接已断开`,e.reconnectCountdown=`${Math.ceil(n/1e3)} 秒后自动重连…`,t.reconnectTimer=setTimeout(()=>{_e(e)},n)}async function _e(e){let t=$(e.id);t&&(e.showOverlay=!1,e.reconnectCountdown=``,e.manualDisconnect=!1,e.reconnectAttempt=0,t.term?.clear(),await he(e.id))}function ve(){let e=g.value;if(!e)return;let t=$(e.id);t?.reconnectTimer&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),e.reconnectAttempt=0,_e(e)}function ye(){let e=g.value;if(!e)return;let t=$(e.id);t&&(e.manualDisconnect=!0,t.reconnectTimer&&=(clearTimeout(t.reconnectTimer),null),t.ws&&=(t.ws.readyState===WebSocket.OPEN&&(t.ws.send(JSON.stringify({type:`CLOSE`})),t.ws.close(1e3,`User disconnect`)),null),E(e),T(e),e.showOverlay=!0,e.overlayMsg=`连接已断开`,e.reconnectCountdown=``)}async function xe(e){c.value=e,await _();let t=$(e);t?.fitAddon&&setTimeout(()=>{try{t.fitAddon.fit()}catch{}},50),t?.term?.focus()}async function Ce(e){let t=s.value.findIndex(t=>t.id===e);if(t<0)return;if(me(e),u.delete(e),s.value.splice(t,1),s.value.length===0){c.value=``;return}let n=Math.min(t,s.value.length-1);await xe(s.value[n].id)}async function we(e,t){if(s.value.length>=tl){a(`最多10个标签`,`warning`);return}if(!e){d.value=!0;return}let n=s.value.find(t=>t.serverId===e);if(n){a(`该服务器已有会话,已切换过去`,`info`),await xe(n.id),t?.path&&ue(n,t.path);return}let r=p.value.find(t=>t.id===e),i=r?r.name:`#${e}`,o=`term_${Date.now()}`,c={id:o,serverId:e,serverName:i,cwd:``,cmdHistory:S.loadHistoryForNewSession(),cmdIdx:-1,reconnectAttempt:0,manualDisconnect:!1,status:`idle`,showOverlay:!1,overlayMsg:``,reconnectCountdown:``,uptime:``,pingMs:null,connectionStartTime:0,pendingPath:Gc(t?.path||``),initialCdSent:!1};Rc(o),s.value.push(c),await xe(o);let l=await ne(o);if(!l){a(`终端面板未就绪,请关闭标签后重试`,`error`),await Ce(o);return}let u=w(),f=new kc;u.loadAddon(f),u.loadAddon(new Fc),u.open(l),Bc(o,u),Vc(o,f),u.onData(e=>{Uc(o)&&x(o,e)}),u.onResize(({cols:e,rows:t})=>{let n=$(o)?.ws;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify({type:`RESIZE`,cols:e,rows:t}))}),u.onTitleChange(e=>{let t=b(o);if(t){let n=e.match(/^(\/.+)/);n&&(t.cwd=n[1])}});let m=new ResizeObserver(()=>{try{f.fit()}catch{}});m.observe(l),Hc(o,m),await he(o),setTimeout(()=>{try{f.fit()}catch{}},100),u.focus()}async function Te(){let e=y(),t=Gc(String(n.query.path||``)),r=n.query.new_tab===`1`||n.query.new_tab===`true`;if(e){if(!r){let n=s.value.find(t=>t.serverId===e);if(n){await xe(n.id),t&&ue(n,t);return}}await we(e,{path:t})}}function O(){document.fullscreenElement?document.exitFullscreen?.():l.value?.requestFullscreen?.()}async function k(){try{h.value=Se(await re.get(`/terminal/quick-commands`)||[])}catch{a(`快捷命令加载失败,已使用内置命令`,`warning`),h.value=Se([{id:1,name:`系统状态`,cmd:`systemctl status --no-pager 2>&1 | head -20\r`,is_builtin:!0,sort_order:1001},{id:2,name:`系统日志`,cmd:`journalctl -n 30 --no-pager 2>&1\r`,is_builtin:!0,sort_order:1002},{id:3,name:`磁盘使用`,cmd:`df -h\r`,is_builtin:!0,sort_order:1003},{id:4,name:`内存使用`,cmd:`free -h\r`,is_builtin:!0,sort_order:1004},{id:5,name:`进程列表`,cmd:`ps aux --sort=-%mem 2>&1 | head -15\r`,is_builtin:!0,sort_order:1005}])}}function Ee(e){let t=g.value;if(!t||!Uc(t.id)){a(`终端未连接`,`warning`);return}x(t.id,e),$(t.id)?.term?.focus()}async function De(){try{p.value=(await re.get(`/servers/`,{per_page:200})).items||[]}catch{}}function Oe(e){if(e.ctrlKey&&e.key===`l`){e.preventDefault();let t=g.value,n=t?$(t.id):void 0;n?.term&&(n.term.clear(),Uc(t.id)&&x(t.id,`\f`));return}if(e.ctrlKey&&(e.key===`+`||e.key===`=`)){e.preventDefault(),o.changeFontSize(1);return}e.ctrlKey&&e.key===`-`&&(e.preventDefault(),o.changeFontSize(-1)),e.ctrlKey&&e.shiftKey&&e.key===`F`&&(e.preventDefault(),O())}function ke(){s.value.map(e=>e.id).forEach(me),u.clear(),s.value=[],c.value=``}return f(()=>[n.query.server_id,n.query.server,n.query.path,n.query.new_tab],()=>{Te()}),{sessions:s,activeSessionId:c,activeSession:g,activeSessionConnected:ee,cmdBarDisabled:te,termContainer:l,showServerDialog:d,servers:p,serverSearch:m,filteredServers:ie,showEmptyPicker:oe,quickCmds:h,fontSize:o.fontSize,scrollback:o.scrollback,scrollbackOptions:o.scrollbackOptions,changeFontSize:o.changeFontSize,changeScrollback:o.changeScrollback,cmdInput:S.cmdInput,sendCmd:S.sendCmd,onCmdKeydown:S.onCmdKeydown,setTermRef:ce,switchTab:xe,closeTab:Ce,newSession:we,disconnect:ye,reconnect:ve,toggleFullscreen:O,loadQuickCmds:k,execQuickCmd:Ee,loadServers:De,applyRouteQuery:Te,onGlobalKeydown:Oe,disposeAllSessions:ke,getNative:$,sendWsData:x}}var rl={class:`d-flex align-center px-2 py-1 shrink-0 terminal-tab-bar`},il={class:`d-flex align-center ga-1 overflow-x-auto flex-grow-1`},al={class:`text-truncate terminal-tab-bar__title`},ol=ye(ie({__name:`TerminalTabBar`,props:{sessions:{},activeSessionId:{}},emits:[`switch`,`close`,`new`],setup(e){return(t,n)=>(c(),T(`div`,rl,[E(`div`,il,[(c(!0),T(de,null,w(e.sessions,i=>(c(),b(l,{key:i.id,variant:i.id===e.activeSessionId?`flat`:`outlined`,color:i.id===e.activeSessionId?`primary`:`default`,size:`small`,label:``,class:`cursor-pointer`,onClick:e=>t.$emit(`switch`,i.id)},{prepend:u(()=>[S(D,{size:`8`,color:i.status===`connected`?`success`:i.status===`connecting`?`warning`:`grey`},{default:u(()=>[...n[1]||=[C(` mdi-circle `,-1)]]),_:1},8,[`color`])]),default:u(()=>[E(`span`,al,r(i.serverName),1),S(D,{end:``,size:`12`,class:`ml-1`,onClick:ue(e=>t.$emit(`close`,i.id),[`stop`])},{default:u(()=>[...n[2]||=[C(`mdi-close`,-1)]]),_:1},8,[`onClick`])]),_:2},1032,[`variant`,`color`,`onClick`]))),128)),S(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-plus`,onClick:n[0]||=e=>t.$emit(`new`)},{default:u(()=>[...n[3]||=[C(` 新建会话 `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-071fb540`]]),sl={class:`d-flex align-center justify-space-between px-4 py-1 shrink-0 terminal-toolbar`},cl={class:`d-flex align-center ga-3`},ll={class:`text-body-2 font-weight-medium`},ul={key:0,class:`text-caption text-medium-emphasis font-mono terminal-toolbar__cwd`},dl={key:2,class:`text-caption text-medium-emphasis`},fl={key:3,class:`text-caption text-medium-emphasis`},pl={class:`d-flex align-center ga-2 terminal-toolbar-actions`},ml={class:`text-body-2 font-weight-medium terminal-toolbar__font-size`},hl=ye(ie({__name:`TerminalToolbar`,props:{session:{},fontSize:{},scrollback:{}},emits:[`font-change`,`scrollback-change`,`fullscreen`,`disconnect`],setup(e){let n=e,i=le(()=>n.session?Kc(n.session):``),a=le(()=>n.session?qc(n.session):`grey`);return(n,o)=>(c(),T(`div`,sl,[E(`div`,cl,[E(`span`,ll,r(e.session?.serverName||`...`),1),e.session?.cwd?(c(),T(`span`,ul,r(e.session.cwd),1)):x(``,!0),e.session?(c(),b(l,{key:1,color:a.value,variant:`tonal`,size:`x-small`,label:``},{prepend:u(()=>[S(D,{start:``,size:`8`},{default:u(()=>[...o[5]||=[C(`mdi-circle`,-1)]]),_:1})]),default:u(()=>[C(` `+r(i.value),1)]),_:1},8,[`color`])):x(``,!0),e.session?.uptime?(c(),T(`span`,dl,r(e.session.uptime),1)):x(``,!0),e.session?.pingMs!==null&&e.session?.pingMs!==void 0?(c(),T(`span`,fl,r(e.session.pingMs)+`ms `,1)):x(``,!0)]),E(`div`,pl,[o[10]||=E(`span`,{class:`text-body-2 text-medium-emphasis shrink-0`},`字号`,-1),S(p,{variant:`tonal`,size:`small`,onClick:o[0]||=e=>n.$emit(`font-change`,-1)},{default:u(()=>[...o[6]||=[C(`缩小`,-1)]]),_:1}),E(`span`,ml,r(e.fontSize),1),S(p,{variant:`tonal`,size:`small`,onClick:o[1]||=e=>n.$emit(`font-change`,1)},{default:u(()=>[...o[7]||=[C(`放大`,-1)]]),_:1}),S(t,{"model-value":e.scrollback,items:y(Xc),"item-title":`title`,"item-value":`value`,label:`回滚行数`,density:`comfortable`,"hide-details":``,variant:`outlined`,class:`terminal-toolbar-scrollback`,"onUpdate:modelValue":o[2]||=e=>n.$emit(`scrollback-change`,e)},null,8,[`model-value`,`items`]),S(p,{variant:`tonal`,size:`small`,"prepend-icon":`mdi-fullscreen`,onClick:o[3]||=e=>n.$emit(`fullscreen`)},{default:u(()=>[...o[8]||=[C(` 全屏 `,-1)]]),_:1}),S(p,{variant:`tonal`,size:`small`,color:`error`,"prepend-icon":`mdi-link-off`,onClick:o[4]||=e=>n.$emit(`disconnect`)},{default:u(()=>[...o[9]||=[C(` 断开 `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-951cf59a`]]),gl={key:0,class:`d-flex flex-column align-center justify-center fill-height pa-6`},_l={class:`text-center`},vl={class:`text-h6 mb-2`},yl={key:0,class:`text-body-2 text-medium-emphasis mb-4`},bl={class:`d-flex ga-3 justify-center`},xl=ye(ie({__name:`TerminalArea`,props:{sessions:{},activeSessionId:{},activeSession:{},showEmpty:{type:Boolean}},emits:[`context-menu`,`reconnect`,`go-servers`,`pane-ref`],setup(e,{expose:t,emit:n}){let i=e,o=n,s=v(null);function l(e){let t=e===i.activeSessionId;return{position:`absolute`,top:`0`,right:`0`,bottom:`0`,left:`0`,zIndex:+!!t,pointerEvents:t?`auto`:`none`,opacity:+!!t}}function d(e,t){o(`pane-ref`,e,t)}return t({containerRef:s}),(t,n)=>(c(),T(`div`,{ref_key:`containerRef`,ref:s,class:`flex-grow-1 terminal-area`,onContextmenu:n[2]||=e=>t.$emit(`context-menu`,e)},[(c(!0),T(de,null,w(e.sessions,e=>(c(),T(`div`,{key:e.id,ref_for:!0,ref:t=>d(t,e.id),class:`terminal-area__pane`,style:m(l(e.id))},null,4))),128)),e.showEmpty?(c(),T(`div`,gl,[S(D,{size:`56`,color:`primary`,class:`mb-3`},{default:u(()=>[...n[3]||=[C(`mdi-console-network`,-1)]]),_:1}),n[4]||=E(`div`,{class:`text-h6 mb-1 text-center`},`WebSSH 终端`,-1),n[5]||=E(`div`,{class:`text-body-2 text-medium-emphasis mb-4 text-center`},` 选择一台服务器开始会话,或从服务器页点击「终端」 `,-1),a(t.$slots,`empty-picker`,{},void 0,!0)])):x(``,!0),e.activeSession?.showOverlay?(c(),b(oe,{key:1,"model-value":!0,contained:``,class:`terminal-area__overlay d-flex align-center justify-center`,persistent:``,scrim:`rgba(0, 0, 0, 0.72)`},{default:u(()=>[E(`div`,_l,[E(`div`,vl,r(e.activeSession.overlayMsg),1),e.activeSession.reconnectCountdown?(c(),T(`div`,yl,r(e.activeSession.reconnectCountdown),1)):x(``,!0),E(`div`,bl,[S(p,{color:`primary`,variant:`flat`,onClick:n[0]||=e=>t.$emit(`reconnect`)},{default:u(()=>[...n[6]||=[C(`重新连接`,-1)]]),_:1}),S(p,{variant:`outlined`,onClick:n[1]||=e=>t.$emit(`go-servers`)},{default:u(()=>[...n[7]||=[C(`返回列表`,-1)]]),_:1})])])]),_:1})):x(``,!0)],544))}}),[[`__scopeId`,`data-v-b2bd3d02`]]),Sl={class:`flex-grow-1 cmd-bar__input-wrap`},Cl=ye(ie({__name:`TerminalCmdBar`,props:{modelValue:{},disabled:{type:Boolean}},emits:[`update:modelValue`,`keydown`,`context-menu`],setup(e,{expose:t}){let n=v(null);function r(){return n.value?.getInputEl()??null}function i(){return n.value?.getSelectionText()??``}function a(){n.value?.selectAllInput()}async function o(e){await n.value?.insertAtSelection(e)}return t({getInputEl:r,getSelectionText:i,selectAllInput:a,insertAtSelection:o}),(t,r)=>(c(),T(`div`,{class:ne([`d-flex align-start ga-2 px-3 py-2 shrink-0 cmd-bar cmd-bar--tall`,{"cmd-bar--inactive":e.disabled}]),onContextmenu:r[2]||=e=>t.$emit(`context-menu`,e)},[r[3]||=E(`span`,{class:`cmd-bar__prompt font-mono text-primary shrink-0`},`❯`,-1),E(`div`,Sl,[S(xe,{ref_key:`fieldRef`,ref:n,"model-value":e.modelValue,multiline:``,rows:2,size:`large`,placeholder:`输入命令,Enter 发送,Shift+Enter 换行`,disabled:e.disabled,"onUpdate:modelValue":r[0]||=e=>t.$emit(`update:modelValue`,e),onKeydown:r[1]||=e=>t.$emit(`keydown`,e)},null,8,[`model-value`,`disabled`])])],34))}}),[[`__scopeId`,`data-v-2a4c9019`]]),wl={class:`terminal-quick-bar shrink-0`},Tl={class:`d-flex align-center ga-1 flex-grow-1 overflow-x-auto`},El=ye(ie({__name:`TerminalQuickBar`,props:{commands:{}},emits:[`exec`],setup(e){return(t,n)=>(c(),T(`div`,wl,[n[1]||=E(`span`,{class:`terminal-quick-bar__label`},`快捷命令`,-1),E(`div`,Tl,[(c(!0),T(de,null,w(e.commands,e=>(c(),b(l,{key:e.id,size:`small`,variant:e.is_builtin?`outlined`:`flat`,color:e.is_builtin?`default`:`primary`,label:``,class:`cursor-pointer`,onClick:n=>t.$emit(`exec`,e.cmd)},{default:u(()=>[C(r(e.name),1)]),_:2},1032,[`variant`,`color`,`onClick`]))),128))]),S(p,{size:`small`,variant:`text`,"prepend-icon":`mdi-cog-outline`,to:{path:`/settings`,hash:`#terminal-quick-commands`}},{default:u(()=>[...n[0]||=[C(` 管理 `,-1)]]),_:1})]))}}),[[`__scopeId`,`data-v-aa74ff73`]]),Dl=ye(ie({__name:`TerminalServerPicker`,props:{servers:{},search:{},mode:{default:`inline`}},emits:[`update:search`,`select`],setup(e){return(t,n)=>e.mode===`inline`?(c(),b(h,{key:0,border:``,rounded:`lg`,class:`empty-server-picker`,"max-width":`520`,width:`100%`},{default:u(()=>[S(ge,{class:`pa-3`},{default:u(()=>[S(fe,{"model-value":e.search,"prepend-inner-icon":`mdi-magnify`,placeholder:`搜索服务器…`,variant:`outlined`,density:`compact`,"hide-details":``,class:`mb-2`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:search`,e)},null,8,[`model-value`]),S(ee,{density:`compact`,class:`empty-server-picker__list`,nav:``},{default:u(()=>[(c(!0),T(de,null,w(e.servers,e=>(c(),b(i,{key:e.id,title:e.name,subtitle:e.domain,rounded:`lg`,onClick:n=>t.$emit(`select`,e.id)},{prepend:u(()=>[S(D,{color:e.is_online?`success`:`grey`,size:`8`},{default:u(()=>[...n[2]||=[C(`mdi-circle`,-1)]]),_:1},8,[`color`])]),_:2},1032,[`title`,`subtitle`,`onClick`]))),128)),e.servers.length===0?(c(),b(i,{key:0,class:`text-medium-emphasis`},{default:u(()=>[...n[3]||=[C(` 暂无匹配的服务器 `,-1)]]),_:1})):x(``,!0)]),_:1})]),_:1})]),_:1})):(c(),T(de,{key:1},[S(fe,{"model-value":e.search,"prepend-inner-icon":`mdi-magnify`,placeholder:`搜索…`,variant:`outlined`,density:`compact`,class:`mb-3`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:search`,e)},null,8,[`model-value`]),S(ee,{density:`compact`,"max-height":`300`,style:{"overflow-y":`auto`}},{default:u(()=>[(c(!0),T(de,null,w(e.servers,e=>(c(),b(i,{key:e.id,title:e.name,subtitle:e.domain,onClick:n=>t.$emit(`select`,e.id)},{prepend:u(()=>[S(D,{color:e.is_online?`success`:`grey`,size:`8`},{default:u(()=>[...n[4]||=[C(`mdi-circle`,-1)]]),_:1},8,[`color`])]),_:2},1032,[`title`,`subtitle`,`onClick`]))),128)),e.servers.length===0?(c(),b(i,{key:0,class:`text-medium-emphasis`},{default:u(()=>[...n[5]||=[C(` 暂无匹配的服务器 `,-1)]]),_:1})):x(``,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-abd2b4bc`]]),Ol={class:`d-flex flex-column flex-grow-1`,style:{"min-height":`0`}},kl=ye(ie({__name:`TerminalPage`,setup(t){let r=pe(),a=ae(),l=e(),{sessions:p,activeSessionId:m,activeSession:_,cmdBarDisabled:re,termContainer:ie,showServerDialog:oe,serverSearch:se,filteredServers:w,showEmptyPicker:ue,quickCmds:fe,fontSize:D,scrollback:_e,changeFontSize:ye,changeScrollback:be,cmdInput:xe,onCmdKeydown:Se,setTermRef:Ce,switchTab:we,closeTab:Te,newSession:O,disconnect:k,reconnect:Ee,toggleFullscreen:De,loadQuickCmds:Oe,execQuickCmd:ke,loadServers:Ae,applyRouteQuery:je,onGlobalKeydown:Me,disposeAllSessions:Ne,getNative:Pe}=nl(he(`nexusDrawer`,v(!0))),Fe=v(null),Ie=v(null);f(()=>Fe.value?.containerRef,e=>{ie.value=e??null},{flush:`post`});let Le=v(!1),Re=v(0),ze=v(0),Be=v(`terminal`),Ve=le(()=>ze.value>window.innerHeight*.55?`top end`:`bottom end`);function He(e){se.value=e}function Ue(e,t){e.preventDefault(),Be.value=t,Re.value=e.clientX,ze.value=e.clientY,Le.value=!0}function We(e){Ue(e,`terminal`)}function Ge(e){Ue(e,`command`)}function Ke(e){oe.value=!1,O(e)}function qe(){if(Le.value=!1,Be.value===`command`){let e=Ie.value?.getSelectionText()||``;if(e){navigator.clipboard.writeText(e).catch(()=>l(`复制失败`,`error`));return}}let e=window.getSelection()?.toString();if(e){navigator.clipboard.writeText(e).catch(()=>l(`复制失败`,`error`));return}let t=_.value;if(t){let e=Pe(t.id)?.term?.getSelection();e&&navigator.clipboard.writeText(e).catch(()=>l(`复制失败`,`error`))}}async function Je(){Le.value=!1;try{let e=await navigator.clipboard.readText();if(!e)return;if(Be.value===`command`){await Ie.value?.insertAtSelection(e);return}let t=_.value;Pe(t?.id||``)?.term?.paste(e)}catch{l(`剪贴板访问被拒绝`,`warning`)}}function Ye(){if(Le.value=!1,Be.value===`command`){Ie.value?.selectAllInput();return}Pe(_.value?.id||``)?.term?.selectAll()}function A(){Le.value=!1,Pe(_.value?.id||``)?.term?.clear()}function Xe(){Le.value=!1;let e=_.value;e&&Te(e.id)}return te(async()=>{document.addEventListener(`keydown`,Me),await Ae(),await Oe(),await je()}),s(()=>{document.removeEventListener(`keydown`,Me),Ne()}),(e,t)=>(c(),b(n,{fluid:``,class:ne([`pa-0 d-flex flex-column terminal-root`,y(a).global.current.value.dark?`terminal-root--dark`:`terminal-root--light`])},{default:u(()=>[S(me,{modelValue:Le.value,"onUpdate:modelValue":t[0]||=e=>Le.value=e,target:[Re.value,ze.value],location:Ve.value,"content-class":`terminal-ctx-menu`},{default:u(()=>[S(ee,{density:`comfortable`,nav:``,class:`py-1`},{default:u(()=>[S(i,{"prepend-icon":`mdi-content-copy`,rounded:`lg`,onClick:qe},{default:u(()=>[S(ce,null,{default:u(()=>[...t[6]||=[C(`复制`,-1)]]),_:1})]),_:1}),S(i,{"prepend-icon":`mdi-content-paste`,rounded:`lg`,onClick:Je},{default:u(()=>[S(ce,null,{default:u(()=>[...t[7]||=[C(`粘贴`,-1)]]),_:1})]),_:1}),S(i,{"prepend-icon":`mdi-select-all`,rounded:`lg`,onClick:Ye},{default:u(()=>[S(ce,null,{default:u(()=>[...t[8]||=[C(`全选`,-1)]]),_:1})]),_:1}),Be.value===`terminal`?(c(),T(de,{key:0},[S(d,{class:`my-1`}),S(i,{"prepend-icon":`mdi-delete-sweep`,rounded:`lg`,onClick:A},{default:u(()=>[S(ce,null,{default:u(()=>[...t[9]||=[C(`清屏`,-1)]]),_:1})]),_:1}),S(i,{"prepend-icon":`mdi-logout`,rounded:`lg`,disabled:!y(_),onClick:Xe},{default:u(()=>[S(ce,{class:`text-error`},{default:u(()=>[...t[10]||=[C(`断开连接`,-1)]]),_:1})]),_:1},8,[`disabled`])],64)):x(``,!0)]),_:1})]),_:1},8,[`modelValue`,`target`,`location`]),E(`div`,Ol,[S(ol,{sessions:y(p),"active-session-id":y(m),onSwitch:y(we),onClose:y(Te),onNew:t[1]||=e=>y(O)()},null,8,[`sessions`,`active-session-id`,`onSwitch`,`onClose`]),y(p).length>0?(c(),b(hl,{key:0,session:y(_),"font-size":y(D),scrollback:y(_e),onFontChange:y(ye),onScrollbackChange:y(be),onFullscreen:y(De),onDisconnect:y(k)},null,8,[`session`,`font-size`,`scrollback`,`onFontChange`,`onScrollbackChange`,`onFullscreen`,`onDisconnect`])):x(``,!0),S(xl,{ref_key:`areaRef`,ref:Fe,sessions:y(p),"active-session-id":y(m),"active-session":y(_),"show-empty":y(ue),onContextMenu:We,onPaneRef:y(Ce),onReconnect:y(Ee),onGoServers:t[3]||=e=>y(r).push(`/servers`)},{"empty-picker":u(()=>[S(Dl,{servers:y(w),search:y(se),mode:`inline`,"onUpdate:search":He,onSelect:t[2]||=e=>y(O)(e)},null,8,[`servers`,`search`])]),_:1},8,[`sessions`,`active-session-id`,`active-session`,`show-empty`,`onPaneRef`,`onReconnect`]),S(El,{commands:y(fe),onExec:y(ke)},null,8,[`commands`,`onExec`]),S(Cl,{ref_key:`cmdBarRef`,ref:Ie,modelValue:y(xe),"onUpdate:modelValue":t[4]||=e=>g(xe)?xe.value=e:null,disabled:y(re),onKeydown:y(Se),onContextMenu:Ge},null,8,[`modelValue`,`disabled`,`onKeydown`])]),S(ve,{modelValue:y(oe),"onUpdate:modelValue":t[5]||=e=>g(oe)?oe.value=e:null,"max-width":`400`},{default:u(()=>[S(h,{border:``},{default:u(()=>[S(o,null,{default:u(()=>[...t[11]||=[C(`选择服务器`,-1)]]),_:1}),S(ge,null,{default:u(()=>[S(Dl,{servers:y(w),search:y(se),mode:`dialog`,"onUpdate:search":He,onSelect:Ke},null,8,[`servers`,`search`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-28921dff`]]);export{kl as default}; \ No newline at end of file diff --git a/web/app/assets/VCheckbox-Nzkf754R.js b/web/app/assets/VCheckbox-Nzkf754R.js new file mode 100644 index 00000000..8b7ca234 --- /dev/null +++ b/web/app/assets/VCheckbox-Nzkf754R.js @@ -0,0 +1 @@ +import{d as e,f as t}from"./VSelect-Dy1HeCdk.js";import{Cn as n,Fn as r,Mr as i,Ur as a,Yn as o,dn as s,gr as c,mn as l,o as u,p as d,s as f,xr as p,y as m,yn as h}from"./index-C6qJAv49.js";var g=n({...o(f(),[`direction`]),...o(t(),[`inline`])},`VCheckbox`),_=h()({name:`VCheckbox`,inheritAttrs:!1,props:g(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(t,{attrs:n,slots:o}){let f=s(t,`modelValue`),{isFocused:h,focus:g,blur:_}=d(t),v=a(),y=i();return l(()=>{let[i,a]=r(n),s=u.filterProps(t),l=e.filterProps(t);return c(u,p({ref:v,class:[`v-checkbox`,t.class]},i,s,{modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,id:t.id||`checkbox-${y}`,focused:h.value,style:t.style}),{...o,default:({id:t,messagesId:n,isDisabled:r,isReadonly:i,isValid:s})=>c(e,p(l,{id:t.value,"aria-describedby":n.value,disabled:r.value,readonly:i.value},a,{error:s.value===!1,modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,onFocus:g,onBlur:_}),o)})}),m({},v)}});export{_ as t}; \ No newline at end of file diff --git a/web/app/assets/VDataTable-B6PKw1TS.js b/web/app/assets/VDataTable-B6PKw1TS.js new file mode 100644 index 00000000..f18466da --- /dev/null +++ b/web/app/assets/VDataTable-B6PKw1TS.js @@ -0,0 +1 @@ +import{a as e,d as t,o as n,t as r}from"./VSelect-Dy1HeCdk.js";import{$r as i,An as a,Cn as o,Dt as s,En as c,Et as l,F as u,Fr as d,Gn as f,Gr as p,Hn as m,Jr as h,Kr as g,Ln as _,Or as v,Ot as y,P as b,Pr as x,Q as S,Qr as C,Rn as w,Sn as T,Sr as E,St as D,Tn as O,Un as k,Ur as A,Vn as j,Wn as ee,Wr as te,Xn as M,Xr as N,Yn as ne,Zn as P,Zr as F,_n as re,at as ie,bn as ae,cn as I,dn as L,dt as oe,gr as R,hr as se,in as ce,it as z,jn as B,kn as le,ln as V,lr as H,mn as U,nn as ue,or as W,pn as G,qr as de,rn as fe,rt as pe,sn as me,sr as K,tr as he,un as ge,ur as q,ut as _e,vn as ve,vt as ye,wr as be,wt as xe,xn as Se,xr as J,xt as Ce,yn as Y,yr as X,yt as we}from"./index-C6qJAv49.js";function Te(e,t,n){return Object.keys(e).filter(e=>k(e)&&e.endsWith(t)).reduce((r,i)=>(r[i.slice(0,-t.length)]=t=>c(e[i],t,n(t)),r),{})}function Ee(){let e=A([]);be(()=>e.value=[]);function t(t,n){e.value[n]=t}return{refs:e,updateRef:t}}var De=o({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1==0},totalVisible:[Number,String],firstIcon:{type:G,default:`$first`},prevIcon:{type:G,default:`$prev`},nextIcon:{type:G,default:`$next`},lastIcon:{type:G,default:`$last`},ariaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.root`},pageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.page`},currentPageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.currentPage`},firstAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.first`},previousAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.previous`},nextAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.next`},lastAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.last`},ellipsis:{type:String,default:`...`},showFirstLastPage:Boolean,...y(),...T(),...l(),...xe(),...D(),...oe(),...Ce({tag:`nav`}),...fe(),...ye({variant:`text`})},`VPagination`),Oe=Y()({name:`VPagination`,props:De(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,{slots:t,emit:n}){let r=L(e,`modelValue`),{t:i,n:a}=V(),{isRtl:o}=ge(),{themeClasses:s}=ce(e),{width:c}=I(),l=te(-1);ae(void 0,{scoped:!0});let{resizeRef:u}=ue(e=>{if(!e.length)return;let{target:t,contentRect:n}=e[0],r=t.querySelector(`.v-pagination__list > *`);if(!r)return;let i=n.width;l.value=h(i,r.offsetWidth+parseFloat(getComputedStyle(r).marginRight)*2)}),d=H(()=>parseInt(e.length,10)),p=H(()=>parseInt(e.start,10)),m=H(()=>e.totalVisible==null?l.value>=0?l.value:h(c.value,58):parseInt(e.totalVisible,10));function h(t,n){let r=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((t-n*r)/n).toFixed(2))))}let _=H(()=>{if(d.value<=0||isNaN(d.value)||d.value>2**53-1||m.value<=0)return[];if(m.value===1)return[r.value];if(d.value<=m.value)return B(d.value,p.value);let t=m.value%2==0,n=t?m.value/2:Math.floor(m.value/2),i=t?n:n+1,a=d.value-n;if(i-r.value>=0)return[...B(Math.max(1,m.value-1),p.value),e.ellipsis,d.value];if(r.value-a>=+!!t){let t=m.value-1,n=d.value-t+p.value;return[p.value,e.ellipsis,...B(t,n)]}else{let t=Math.max(1,m.value-2),n=t===1?r.value:r.value-Math.ceil(t/2)+p.value;return[p.value,e.ellipsis,...B(t,n),e.ellipsis,d.value]}});function v(e,t,i){e.preventDefault(),r.value=t,i&&n(i,t)}let{refs:y,updateRef:b}=Ee();ae({VPaginationBtn:{color:g(()=>e.color),border:g(()=>e.border),density:g(()=>e.density),size:g(()=>e.size),variant:g(()=>e.variant),rounded:g(()=>e.rounded),elevation:g(()=>e.elevation)}});let x=H(()=>_.value.map((t,n)=>{let o=e=>b(e,n);if(typeof t==`string`)return{isActive:!1,key:`ellipsis-${n}`,page:t,props:{ref:o,ellipsis:!0,icon:!0,disabled:!0}};{let n=t===r.value;return{isActive:n,key:t,page:a(t),props:{ref:o,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:n?e.activeColor:e.color,"aria-current":n,"aria-label":i(n?e.currentPageAriaLabel:e.pageAriaLabel,t),onClick:e=>v(e,t)}}}})),w=H(()=>{let t=!!e.disabled||r.value<=p.value,n=!!e.disabled||r.value>=p.value+d.value-1;return{first:e.showFirstLastPage?{icon:o.value?e.lastIcon:e.firstIcon,onClick:e=>v(e,p.value,`first`),disabled:t,"aria-label":i(e.firstAriaLabel),"aria-disabled":t}:void 0,prev:{icon:o.value?e.nextIcon:e.prevIcon,onClick:e=>v(e,r.value-1,`prev`),disabled:t,"aria-label":i(e.previousAriaLabel),"aria-disabled":t},next:{icon:o.value?e.prevIcon:e.nextIcon,onClick:e=>v(e,r.value+1,`next`),disabled:n,"aria-label":i(e.nextAriaLabel),"aria-disabled":n},last:e.showFirstLastPage?{icon:o.value?e.firstIcon:e.lastIcon,onClick:e=>v(e,p.value+d.value-1,`last`),disabled:n,"aria-label":i(e.lastAriaLabel),"aria-disabled":n}:void 0}});function T(){let e=r.value-p.value;y.value[e]?.$el.focus()}function D(t){t.key===f.left&&!e.disabled&&r.value>Number(e.start)?(--r.value,E(T)):t.key===f.right&&!e.disabled&&r.valueR(e.tag,{ref:u,class:F([`v-pagination`,s.value,e.class]),style:C(e.style),role:`navigation`,"aria-label":i(e.ariaLabel),onKeydown:D,"data-test":`v-pagination-root`},{default:()=>[q(`ul`,{class:`v-pagination__list`},[e.showFirstLastPage&&q(`li`,{key:`first`,class:`v-pagination__first`,"data-test":`v-pagination-first`},[t.first?t.first(w.value.first):R(S,J({_as:`VPaginationBtn`},w.value.first),null)]),q(`li`,{key:`prev`,class:`v-pagination__prev`,"data-test":`v-pagination-prev`},[t.prev?t.prev(w.value.prev):R(S,J({_as:`VPaginationBtn`},w.value.prev),null)]),x.value.map((e,n)=>q(`li`,{key:e.key,class:F([`v-pagination__item`,{"v-pagination__item--is-active":e.isActive}]),"data-test":`v-pagination-item`},[t.item?t.item(e):R(S,J({_as:`VPaginationBtn`},e.props),{default:()=>[e.page]})])),q(`li`,{key:`next`,class:`v-pagination__next`,"data-test":`v-pagination-next`},[t.next?t.next(w.value.next):R(S,J({_as:`VPaginationBtn`},w.value.next),null)]),e.showFirstLastPage&&q(`li`,{key:`last`,class:`v-pagination__last`,"data-test":`v-pagination-last`},[t.last?t.last(w.value.last):R(S,J({_as:`VPaginationBtn`},w.value.last),null)])])]})),{}}}),ke=o({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:`any`}},`DataTable-paginate`),Ae=Symbol.for(`vuetify:data-table-pagination`);function je(e){return{page:L(e,`page`,void 0,e=>Number(e??1)),itemsPerPage:L(e,`itemsPerPage`,void 0,e=>Number(e??10))}}function Me(e){let{page:t,itemsPerPage:n,itemsLength:r}=e,i=H(()=>n.value===-1?0:n.value*(t.value-1)),a=H(()=>n.value===-1?r.value:Math.min(r.value,i.value+n.value)),o=H(()=>n.value===-1||r.value===0?1:Math.ceil(r.value/n.value));x([t,o],()=>{t.value>o.value&&(t.value=o.value)});function s(e){n.value=e,t.value=1}function c(){t.value=le(t.value+1,1,o.value)}function l(){t.value=le(t.value-1,1,o.value)}function u(e){t.value=le(e,1,o.value)}let d={page:t,itemsPerPage:n,startIndex:i,stopIndex:a,pageCount:o,itemsLength:r,nextPage:c,prevPage:l,setPage:u,setItemsPerPage:s};return v(Ae,d),d}function Ne(){let e=X(Ae);if(!e)throw Error(`Missing pagination!`);return e}function Pe(e){let t=Se(`usePaginatedItems`),{items:n,startIndex:r,stopIndex:i,itemsPerPage:a}=e,o=H(()=>a.value<=0?h(n):h(n).slice(r.value,i.value));return x(o,e=>{t.emit(`update:currentItems`,e)},{immediate:!0}),{paginatedItems:o}}function Fe(e){let{sortedItems:t,paginate:n,group:r}=e,i=h(e.pageBy);if(i===`item`){let{paginatedItems:e,pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c}=n(t),{flatItems:l}=r(e);return{pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c,paginatedItems:l}}if(i===`group`){let{flatItems:e,groups:i}=r(t),{paginatedItems:a,pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u}=n(i);return{pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u,paginatedItems:H(()=>{if(!a.value.length)return[];let t=a.value.at(0).id,n=a.value.at(-1).id,r=e.value.findIndex(e=>e.type===`group`&&e.id===t),i=e.value.findIndex(e=>e.type===`group`&&e.id===n),o=e.value.findIndex((e,t)=>t>i&&e.type===`group`&&e.depth===0);return e.value.slice(r,o===-1?void 0:o)})}}if(i===`any`){let{flatItems:e}=r(t),{paginatedItems:i,pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l}=n(e);return{pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l,paginatedItems:i}}throw Error(`Unrecognized pagination target ${i}`)}var Ie=o({color:String,prevIcon:{type:G,default:`$prev`},nextIcon:{type:G,default:`$next`},firstIcon:{type:G,default:`$first`},lastIcon:{type:G,default:`$last`},itemsPerPageText:{type:String,default:`$vuetify.dataFooter.itemsPerPageText`},pageText:{type:String,default:`$vuetify.dataFooter.pageText`},firstPageLabel:{type:String,default:`$vuetify.dataFooter.firstPage`},prevPageLabel:{type:String,default:`$vuetify.dataFooter.prevPage`},nextPageLabel:{type:String,default:`$vuetify.dataFooter.nextPage`},lastPageLabel:{type:String,default:`$vuetify.dataFooter.lastPage`},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:`10`},{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:-1,title:`$vuetify.dataFooter.itemsPerPageAll`}]},showCurrentPage:Boolean},`VDataTableFooter`),Le=Y()({name:`VDataTableFooter`,props:Ie(),setup(e,{slots:t}){let{t:n}=V(),{page:i,pageCount:a,startIndex:o,stopIndex:s,itemsLength:c,itemsPerPage:l,setItemsPerPage:u}=Ne(),d=H(()=>e.itemsPerPageOptions.map(e=>typeof e==`number`?{value:e,title:e===-1?n(`$vuetify.dataFooter.itemsPerPageAll`):String(e)}:{...e,title:isNaN(Number(e.title))?n(e.title):e.title}));return U(()=>{let f=Oe.filterProps(e);return q(`div`,{class:`v-data-table-footer`},[t.prepend?.(),q(`div`,{class:`v-data-table-footer__items-per-page`},[q(`span`,null,[n(e.itemsPerPageText)]),R(r,{items:d.value,itemColor:e.color,modelValue:l.value,"onUpdate:modelValue":e=>u(Number(e)),density:`compact`,variant:`outlined`,"aria-label":n(e.itemsPerPageText),hideDetails:!0},null)]),q(`div`,{class:`v-data-table-footer__info`},[q(`div`,null,[n(e.pageText,c.value?o.value+1:0,s.value,c.value)])]),q(`div`,{class:`v-data-table-footer__pagination`},[R(Oe,J({modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,density:`comfortable`,firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:a.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:+!!e.showCurrentPage,variant:`plain`},ne(f,[`color`])),null)])])}),{}}}),Z=ve({align:{type:String,default:`start`},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,{slots:t})=>{let n=e.tag??`td`,r=typeof e.fixed==`string`?e.fixed:e.fixed?`start`:`none`;return R(n,{class:F([`v-data-table__td`,{"v-data-table-column--fixed":r===`start`,"v-data-table-column--fixed-end":r===`end`,"v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:a(e.height),width:a(e.width),maxWidth:a(e.maxWidth),left:r===`start`?a(e.fixedOffset||null):void 0,right:r===`end`?a(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?a(e.indent):void 0}},{default:()=>[t.default?.()]})}),Re=o({headers:Array},`DataTable-header`),ze=Symbol.for(`vuetify:data-table-headers`),Be={title:``,sortable:!1},Ve={...Be,width:48};function He(e=[]){let t=e.map(e=>({element:e,priority:0}));return{enqueue:(e,n)=>{let r=!1;for(let i=0;in){t.splice(i,0,{element:e,priority:n}),r=!0;break}r||t.push({element:e,priority:n})},size:()=>t.length,count:()=>{let e=0;if(!t.length)return 0;let n=Math.floor(t[0].priority);for(let r=0;rt.shift()}}function Ue(e,t=[]){if(!e.children)t.push(e);else for(let n of e.children)Ue(n,t);return t}function We(e,t=new Set){for(let n of e)n.key&&t.add(n.key),n.children&&We(n.children,t);return t}function Ge(e){if(e.key){if(e.key===`data-table-group`)return Be;if([`data-table-expand`,`data-table-select`].includes(e.key))return Ve}}function Ke(e,t=0){return e.children?Math.max(t,...e.children.map(e=>Ke(e,t+1))):t}function qe(e){let t=!1;function n(e,r,i=`none`){if(e)if(i!==`none`&&(e.fixed=i),e.fixed===!0&&(e.fixed=`start`),e.fixed===r)if(e.children)if(r===`start`)for(let t=e.children.length-1;t>=0;t--)n(e.children[t],r,r);else for(let t=0;t=0;t--)n(e.children[t],r);else for(let t=0;t=0;t--)n(e[t],`start`);for(let t=0;t=0;t--)i=Ye(e[t],i)}function Je(e,t=0){if(!e)return t;if(e.children){e.fixedOffset=t;for(let n of e.children)t=Je(n,t)}else e.fixed&&e.fixed!==`end`&&(e.fixedOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Ye(e,t=0){if(!e)return t;if(e.children){e.fixedEndOffset=t;for(let n of e.children)t=Ye(n,t)}else e.fixed===`end`&&(e.fixedEndOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Xe(e,t){let n=[],r=0,i=He(e);for(;i.size()>0;){let e=i.count(),a=[],o=1;for(;e>0;){let{element:n,priority:s}=i.dequeue(),c=t-r-Ke(n);if(a.push({...n,rowspan:c??1,colspan:n.children?Ue(n).length:1}),n.children)for(let e of n.children){let t=s%1+o/10**(r+2);i.enqueue(e,r+c+t)}o+=1,--e}r+=1,n.push(a)}return{columns:e.map(e=>Ue(e)).flat(),headers:n}}function Ze(e){let t=[];for(let n of e){let e={...Ge(n),...n},r=e.key??(typeof e.value==`string`?e.value:null),i=e.value??r??null,a={...e,key:r,value:i,sortable:e.sortable??(e.key!=null||!!e.sort),children:e.children?Ze(e.children):void 0};t.push(a)}return t}function Qe(e,t){let n=A([]),r=A([]),i=A({}),a=A({}),o=A({});d(()=>{let s=(e.headers||Object.keys(e.items[0]??{}).map(e=>({key:e,title:N(e)}))).slice(),c=We(s);t?.groupBy?.value.length&&!c.has(`data-table-group`)&&s.unshift({key:`data-table-group`,title:`Group`}),t?.showSelect?.value&&!c.has(`data-table-select`)&&s.unshift({key:`data-table-select`}),t?.showExpand?.value&&!c.has(`data-table-expand`)&&s.push({key:`data-table-expand`});let l=Ze(s);qe(l);let u=Xe(l,Math.max(...l.map(e=>Ke(e)))+1);n.value=u.headers,r.value=u.columns;let d=u.headers.flat(1);for(let e of d)e.key&&(e.sortable&&(e.sort&&(i.value[e.key]=e.sort),e.sortRaw&&(a.value[e.key]=e.sortRaw)),e.filter&&(o.value[e.key]=e.filter))});let s={headers:n,columns:r,sortFunctions:i,sortRawFunctions:a,filterFunctions:o};return v(ze,s),s}function Q(){let e=X(ze);if(!e)throw Error(`Missing headers!`);return e}var $e={showSelectAll:!1,allSelected:()=>[],select:({items:e,value:t})=>new Set(t?[e[0]?.value]:[]),selectAll:({selected:e})=>e},et={showSelectAll:!0,allSelected:({currentPage:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,currentPage:t,selected:n})=>et.select({items:t,value:e,selected:n})},tt={showSelectAll:!0,allSelected:({allItems:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,allItems:t})=>new Set(e?t.map(e=>e.value):[])},nt=o({showSelect:Boolean,selectStrategy:{type:[String,Object],default:`page`},modelValue:{type:Array,default:()=>[]},valueComparator:Function},`DataTable-select`),rt=Symbol.for(`vuetify:data-table-selection`);function it(e,{allItems:t,currentPage:n}){let r=L(e,`modelValue`,e.modelValue,n=>{let r=e.valueComparator;return r?new Set(P(n).map(e=>t.value.find(t=>r(e,t.value))?.value??e)):new Set(P(n).map(e=>ee(e)?t.value.find(t=>e===t.value)?.value??e:t.value.find(t=>re(e,t.value))?.value??e))},e=>[...e.values()]),i=H(()=>t.value.filter(e=>e.selectable)),a=H(()=>h(n).filter(e=>e.selectable)),o=H(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;switch(e.selectStrategy){case`single`:return $e;case`all`:return tt;default:return et}}),s=te(null);function c(e){return P(e).every(e=>r.value.has(e.value))}function l(e){return P(e).some(e=>r.value.has(e.value))}function u(e,t){r.value=o.value.select({items:e,value:t,selected:new Set(r.value)})}function d(t,r,i){let a=[],o=h(n);if(r??=o.findIndex(e=>e.value===t.value),e.selectStrategy!==`single`&&i?.shiftKey&&s.value!==null){let[e,t]=[s.value,r].sort((e,t)=>e-t);a.push(...o.slice(e,t+1).filter(e=>e.selectable))}else a.push(t),s.value=r;u(a,!c([t]))}function f(e){r.value=o.value.selectAll({value:e,allItems:i.value,currentPage:a.value,selected:new Set(r.value)})}let p={toggleSelect:d,select:u,selectAll:f,isSelected:c,isSomeSelected:l,someSelected:H(()=>r.value.size>0),allSelected:H(()=>{let e=o.value.allSelected({allItems:i.value,currentPage:a.value});return!!e.length&&c(e)}),showSelectAll:g(()=>o.value.showSelectAll),lastSelectedIndex:s,selectStrategy:o};return v(rt,p),p}function $(){let e=X(rt);if(!e)throw Error(`Missing selection!`);return e}var at=o({initialSortOrder:{type:String,default:`asc`,validator:e=>!e||[`asc`,`desc`].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},`DataTable-sort`),ot=Symbol.for(`vuetify:data-table-sort`);function st(e){let t=g(()=>e.initialSortOrder),n=L(e,`sortBy`),r=g(()=>e.mustSort);return{initialSortOrder:t,sortBy:n,multiSort:g(()=>e.multiSort),mustSort:r}}function ct(e,t){if(!m(e))return{active:!!e};let{key:n,mode:r,modifier:i}=e,a=i===`alt`&&t?.altKey||i===`shift`&&t?.shiftKey;return{active:!n||t?.ctrlKey||t?.metaKey||!1,mode:a?r===`append`?`prepend`:`append`:r}}function lt(e){let{initialSortOrder:t,sortBy:n,mustSort:r,multiSort:i,page:a}=e,o=(e,o,s=!1)=>{if(e.key==null)return;let c=n.value.map(e=>({...e}))??[],l=c.find(t=>t.key===e.key),u=t.value,d=t.value===`desc`?`asc`:`desc`;if(l)l.order===d?s||r.value&&c.length===1?l.order=t.value:c=c.filter(t=>t.key!==e.key):l.order=d;else{let{active:t,mode:n}=ct(i.value,o);t?n===`prepend`?c.unshift({key:e.key,order:u}):c.push({key:e.key,order:u}):c=[{key:e.key,order:u}]}n.value=c,a&&(a.value=1)};function s(e){return!!n.value.find(t=>t.key===e.key)}let c={sortBy:n,toggleSort:o,isSorted:s};return v(ot,c),c}function ut(){let e=X(ot);if(!e)throw Error(`Missing sort!`);return e}function dt(e,t,n,r){let i=V();return{sortedItems:H(()=>n.value.length?ft(t.value,n.value,i.current.value,{transform:r?.transform,sortFunctions:{...e.customKeySort,...r?.sortFunctions?.value},sortRawFunctions:r?.sortRawFunctions?.value}):t.value)}}function ft(e,t,n,r){let i=new Intl.Collator(n,{sensitivity:`accent`,usage:`sort`});return e.map(e=>[e,r?.transform?r.transform(e):e]).sort((e,n)=>{for(let a=0;ae==null?e:e.toString().toLocaleLowerCase()),l!==u))return j(l)&&j(u)?0:j(l)?-1:j(u)?1:!isNaN(l)&&!isNaN(u)?Number(l)-Number(u):i.compare(l,u)}return 0}).map(([e])=>e)}var pt=o({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:G},sortAscIcon:{type:G,default:`$sortAsc`},sortDescIcon:{type:G,default:`$sortDesc`},headerProps:{type:Object},sticky:Boolean,...l(),...me(),...z()},`VDataTableHeaders`),mt=Y()({name:`VDataTableHeaders`,props:pt(),setup(e,{slots:n}){let{t:i}=V(),{toggleSort:o,sortBy:s,isSorted:c}=ut(),{someSelected:l,allSelected:d,selectAll:f,showSelectAll:p}=$(),{columns:m,headers:h}=Q(),{loaderClasses:g}=ie(e);function _(t,n){if(!(e.sticky||e.fixedHeader)&&!t.fixed)return;let r=typeof t.fixed==`string`?t.fixed:t.fixed?`start`:`none`;return{position:`sticky`,left:r===`start`?a(t.fixedOffset):void 0,right:r===`end`?a(t.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${n})`:void 0}}function v(t,n){t.key===`Enter`&&!e.disableSort&&o(n,t)}function y(t){switch(s.value.find(e=>e.key===t.key)?.order){case`asc`:return e.sortAscIcon;case`desc`:return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder===`asc`?e.sortAscIcon:e.sortDescIcon)}}let{backgroundColorClasses:b,backgroundColorStyles:x}=we(()=>e.color),{displayClasses:S,mobile:w}=I(e),T=H(()=>({headers:h.value,columns:m.value,toggleSort:o,isSorted:c,sortBy:s.value,someSelected:l.value,allSelected:d.value,selectAll:f,getSortIcon:y})),D=H(()=>[`v-data-table__th`,{"v-data-table__th--sticky":e.sticky||e.fixedHeader},S.value,g.value]),O=({column:r,x:i,y:u})=>{let m=r.key===`data-table-select`||r.key===`data-table-expand`,h=r.key===`data-table-group`&&r.width===0&&!r.title,g=J(e.headerProps??{},r.headerProps??{}),S=r.sortable&&!e.disableSort;return R(Z,J({tag:`th`,align:r.align,class:[{"v-data-table__th--sortable":S,"v-data-table__th--sorted":c(r),"v-data-table__th--fixed":r.fixed},...D.value],style:{width:a(r.width),minWidth:a(r.minWidth),maxWidth:a(r.maxWidth),..._(r,u)},colspan:r.colspan,rowspan:r.rowspan,fixed:r.fixed,nowrap:r.nowrap,lastFixed:r.lastFixed,firstFixedEnd:r.firstFixedEnd,noPadding:m,empty:h,tabindex:S?0:void 0,onClick:S?e=>o(r,e):void 0,onKeydown:S?e=>v(e,r):void 0},g),{default:()=>{let i=`header.${r.key}`,a={column:r,selectAll:f,isSorted:c,toggleSort:o,sortBy:s.value,someSelected:l.value,allSelected:d.value,getSortIcon:y};return n[i]?n[i](a):h?``:r.key===`data-table-select`?n[`header.data-table-select`]?.(a)??(p.value&&R(t,{color:e.color,density:e.density,modelValue:d.value,indeterminate:l.value&&!d.value,"onUpdate:modelValue":f},null)):q(`div`,{class:`v-data-table-header__content`},[q(`span`,null,[r.title]),r.sortable&&!e.disableSort&&R(_e,{key:`icon`,class:`v-data-table-header__sort-icon`,icon:y(r)},null),e.multiSort&&c(r)&&q(`div`,{key:`badge`,class:F([`v-data-table-header__sort-badge`,...b.value]),style:C(x.value)},[s.value.findIndex(e=>e.key===r.key)+1])])}})},k=()=>{let n=H(()=>m.value.filter(t=>t?.sortable&&!e.disableSort)),a=m.value.find(e=>e.key===`data-table-select`),p=H({get:()=>n.value.filter(({key:e})=>s.value.some(t=>t.key===e)),set:e=>{let t=P(e),n=s.value.map(e=>e.key);t.filter(({key:e})=>!n.includes(e)).forEach(e=>o(e)),E(()=>s.value=s.value.filter(({key:e})=>t.some(t=>t.key===e)))}});return R(Z,J({tag:`th`,class:[...D.value],colspan:h.value.length+1},e.headerProps),{default:()=>[q(`div`,{class:`v-data-table-header__content`},[R(r,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,chips:!0,color:e.color,class:`v-data-table__td-sort-select`,clearable:!0,density:`default`,items:n.value,label:i(`$vuetify.dataTable.sortBy`),multiple:e.multiSort,variant:`underlined`,returnObject:!0,"onClick:clear":()=>s.value=[]},{append:a?()=>R(t,{color:e.color,density:`compact`,modelValue:d.value,indeterminate:l.value&&!d.value,"onUpdate:modelValue":()=>f(!d.value)},null):void 0,chip:({internalItem:e})=>R(u,{onClick:e.raw.sortable?()=>o(e.raw,void 0,!0):void 0,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},{default:()=>[e.title,R(_e,{class:F([`v-data-table__td-sort-icon`,c(e.raw)&&`v-data-table__td-sort-icon-active`]),icon:y(e.raw),size:`small`},null)]})})])]})};U(()=>w.value?q(`tr`,null,[R(k,null,null)]):q(K,null,[n.headers?n.headers(T.value):h.value.map((e,t)=>q(`tr`,null,[e.map((e,n)=>R(O,{column:e,x:n,y:t},null))])),e.loading&&q(`tr`,{class:`v-data-table-progress`},[q(`th`,{colspan:m.value.length},[R(pe,{name:`v-data-table-progress`,absolute:!0,active:!0,color:typeof e.loading==`boolean`||e.loading===`true`?e.color:e.loading,indeterminate:!0},{default:n.loader})])])]))}}),ht=o({groupBy:{type:Array,default:()=>[]}},`DataTable-group`),gt=Symbol.for(`vuetify:data-table-group`);function _t(e){return{groupBy:L(e,`groupBy`)}}function vt(e){let{disableSort:t,groupBy:n,sortBy:r}=e,i=A(new Set),a=H(()=>n.value.map(e=>({...e,order:e.order??!1})).concat(t?.value?[]:r.value));function o(e){return i.value.has(e.id)}function s(e){let t=new Set(i.value);o(e)?t.delete(e.id):t.add(e.id),i.value=t}function c(e){function t(e){let n=[];for(let r of e.items)`type`in r&&r.type===`group`?n.push(...t(r)):n.push(r);return[...new Set(n)]}return t({type:`group`,items:e,id:`dummy`,key:`dummy`,value:`dummy`,depth:0})}let l={sortByWithGroups:a,toggleGroup:s,opened:i,groupBy:n,extractRows:c,isGroupOpen:o};return v(gt,l),l}function yt(){let e=X(gt);if(!e)throw Error(`Missing group!`);return e}function bt(e,t){if(!e.length)return[];let n=new Map;for(let r of e){let e=_(r.raw,t);n.has(e)||n.set(e,[]),n.get(e).push(r)}return n}function xt(e,t,n=0,r=`root`){if(!t.length)return[];let i=bt(e,t[0]),a=[],o=t.slice(1);return i.forEach((e,i)=>{let s=t[0],c=`${r}_${s}_${i}`;a.push({depth:n,id:c,key:s,value:i,items:o.length?xt(e,o,n+1,c):e,type:`group`})}),a}function St(e,t,n){let r=[];for(let i of e)`type`in i&&i.type===`group`?(i.value!=null&&r.push(i),(t.has(i.id)||i.value==null)&&(r.push(...St(i.items,t,n)),n&&r.push({...i,type:`group-summary`}))):r.push(i);return r}function Ct(e,t,n,r){let i=H(()=>t.value.length?xt(h(e),t.value.map(e=>e.key)):[]);return{groups:i,flatItems:H(()=>t.value.length?St(i.value,n.value,h(r)):h(e))}}var wt=o({item:{type:Object,required:!0},groupCollapseIcon:{type:G,default:`$tableGroupCollapse`},groupExpandIcon:{type:G,default:`$tableGroupExpand`},...l()},`VDataTableGroupHeaderRow`),Tt=Y()({name:`VDataTableGroupHeaderRow`,props:wt(),setup(e,{slots:n}){let{isGroupOpen:r,toggleGroup:i,extractRows:a}=yt(),{isSelected:o,isSomeSelected:s,select:c}=$(),{columns:l}=Q(),u=H(()=>a([e.item])),d=g(()=>l.value.length-+!!l.value.some(e=>e.key===`data-table-select`));return()=>q(`tr`,{class:`v-data-table-group-header-row`,style:{"--v-data-table-group-header-row-depth":e.item.depth}},[l.value.map(a=>{if(a.key===`data-table-group`){let t=r(e.item)?e.groupCollapseIcon:e.groupExpandIcon,a=()=>i(e.item);return n[`data-table-group`]?.({item:e.item,count:u.value.length,props:{icon:t,onClick:a}})??R(Z,{class:`v-data-table-group-header-row__column`,colspan:d.value},{default:()=>[R(S,{size:`small`,variant:`text`,icon:t,onClick:a},null),q(`span`,null,[e.item.value]),q(`span`,null,[se(`(`),u.value.length,se(`)`)])]})}else if(a.key===`data-table-select`){let r=u.value.filter(e=>e.selectable),i=r.length>0&&o(r),a=s(r)&&!i,l=e=>c(r,e);return n[`data-table-select`]?.({props:{modelValue:i,indeterminate:a,"onUpdate:modelValue":l}})??R(Z,{class:`v-data-table__td--select-row`,noPadding:!0},{default:()=>[R(t,{density:e.density,disabled:r.length===0,modelValue:i,indeterminate:a,"onUpdate:modelValue":l},null)]})}return``})])}}),Et=o({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},`DataTable-expand`),Dt=Symbol.for(`vuetify:datatable:expanded`);function Ot(e){let t=g(()=>e.expandOnClick),n=L(e,`expanded`,e.expanded,e=>new Set(e),e=>[...e.values()]);function r(e,t){let r=new Set(n.value),i=p(e.value);if(t)r.add(e.value);else{let e=[...n.value].find(e=>p(e)===i);r.delete(e)}n.value=r}function i(e){let t=p(e.value);return[...n.value].some(e=>p(e)===t)}function a(e){r(e,!i(e))}let o={expand:r,expanded:n,expandOnClick:t,isExpanded:i,toggleExpand:a};return v(Dt,o),o}function kt(){let e=X(Dt);if(!e)throw Error(`foo`);return e}var At=o({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:G,default:`$collapse`},expandIcon:{type:G,default:`$expand`},onClick:O(),onContextmenu:O(),onDblclick:O(),...l(),...me()},`VDataTableRow`),jt=Y()({name:`VDataTableRow`,props:At(),setup(e,{slots:n}){let{displayClasses:r,mobile:a}=I(e,`v-data-table__tr`),{isSelected:o,toggleSelect:s,someSelected:c,allSelected:l,selectAll:u}=$(),{isExpanded:d,toggleExpand:f}=kt(),{toggleSort:p,sortBy:m,isSorted:h}=ut(),{columns:g}=Q();U(()=>q(`tr`,{class:F([`v-data-table__tr`,{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},r.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&g.value.map((r,g)=>{let v=e.item,y=`item.${r.key}`,b=`header.${r.key}`,x={index:e.index,item:v.raw,internalItem:v,value:_(v.columns,r.key),column:r,isSelected:o,toggleSelect:s,isExpanded:d,toggleExpand:f},C={column:r,selectAll:u,isSorted:h,toggleSort:p,sortBy:m.value,someSelected:c.value,allSelected:l.value,getSortIcon:()=>``},w=typeof e.cellProps==`function`?e.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value,column:r}):e.cellProps,T=typeof r.cellProps==`function`?r.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value}):r.cellProps,E=r.key===`data-table-select`||r.key===`data-table-expand`,D=r.key===`data-table-group`&&r.width===0&&!r.title;return R(Z,J({align:r.align,indent:r.indent,class:{"v-data-table__td--expanded-row":r.key===`data-table-expand`,"v-data-table__td--select-row":r.key===`data-table-select`},fixed:r.fixed,fixedOffset:r.fixedOffset,fixedEndOffset:r.fixedEndOffset,lastFixed:r.lastFixed,firstFixedEnd:r.firstFixedEnd,maxWidth:a.value?void 0:r.maxWidth,noPadding:E,empty:D,nowrap:r.nowrap,width:a.value?void 0:r.width},w,T),{default:()=>{if(r.key===`data-table-select`)return n[`item.data-table-select`]?.({...x,props:{color:e.color,disabled:!v.selectable,modelValue:o([v]),onClick:W(()=>s(v),[`stop`])}})??R(t,{color:e.color,disabled:!v.selectable,density:e.density,modelValue:o([v]),onClick:W(t=>s(v,e.index,t),[`stop`])},null);if(r.key===`data-table-expand`)return n[`item.data-table-expand`]?.({...x,props:{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:W(()=>f(v),[`stop`])}})??R(S,{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:W(()=>f(v),[`stop`])},null);if(n[y]&&!a.value)return n[y](x);let c=i(x.value);return a.value?q(K,null,[q(`div`,{class:`v-data-table__td-title`},[n[b]?.(C)??r.title]),q(`div`,{class:`v-data-table__td-value`},[n[y]?.(x)??c])]):c}})})]))}}),Mt=o({color:String,loading:[Boolean,String],loadingText:{type:String,default:`$vuetify.dataIterator.loadingText`},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:`$vuetify.noDataText`},rowProps:[Object,Function],cellProps:[Object,Function],...M(At(),[`collapseIcon`,`expandIcon`,`density`]),...M(wt(),[`groupCollapseIcon`,`groupExpandIcon`,`density`]),...me()},`VDataTableRows`),Nt=Y()({name:`VDataTableRows`,inheritAttrs:!1,props:Mt(),setup(e,{attrs:t,slots:n}){let{columns:r}=Q(),{expandOnClick:i,toggleExpand:a,isExpanded:o}=kt(),{isSelected:s,toggleSelect:c}=$(),{toggleGroup:l,isGroupOpen:u}=yt(),{t:d}=V(),{mobile:f}=I(e);return U(()=>{let p=M(e,[`groupCollapseIcon`,`groupExpandIcon`,`density`]);return e.loading&&(!e.items.length||n.loading)?q(`tr`,{class:`v-data-table-rows-loading`,key:`loading`},[q(`td`,{colspan:r.value.length},[n.loading?.()??d(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?q(`tr`,{class:`v-data-table-rows-no-data`,key:`no-data`},[q(`td`,{colspan:r.value.length},[n[`no-data`]?.()??d(e.noDataText)])]):q(K,null,[e.items.map((d,m)=>{if(d.type===`group`){let e={index:m,item:d,columns:r.value,isExpanded:o,toggleExpand:a,isSelected:s,toggleSelect:c,toggleGroup:l,isGroupOpen:u};return n[`group-header`]?n[`group-header`](e):R(Tt,J({key:`group-header_${d.id}`,item:d},Te(t,`:groupHeader`,()=>e),p),n)}if(d.type===`group-summary`){let e={index:m,item:d,columns:r.value,toggleGroup:l};return n[`group-summary`]?.(e)??``}let h={index:d.virtualIndex??m,item:d.raw,internalItem:d,columns:r.value,isExpanded:o,toggleExpand:a,isSelected:s,toggleSelect:c},g={...h,props:J({key:`item_${d.key??d.index}`,onClick:i.value?()=>{a(d)}:void 0,index:m,item:d,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:f.value},Te(t,`:row`,()=>h),typeof e.rowProps==`function`?e.rowProps({item:h.item,index:h.index,internalItem:h.internalItem}):e.rowProps)};return q(K,{key:g.props.key},[n.item?n.item(g):R(jt,g.props,n),o(d)&&n[`expanded-row`]?.(h)])})])}),{}}}),Pt=o({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>[`even`,`odd`].includes(e)},...T(),...l(),...Ce(),...fe()},`VTable`),Ft=Y()({name:`VTable`,props:Pt(),setup(e,{slots:t,emit:n}){let{themeClasses:r}=ce(e),{densityClasses:i}=s(e);return U(()=>R(e.tag,{class:F([`v-table`,{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped===`even`,"v-table--striped-odd":e.striped===`odd`},r.value,i.value,e.class]),style:C(e.style)},{default:()=>[t.top?.(),t.default?q(`div`,{class:`v-table__wrapper`,style:{height:a(e.height)}},[q(`table`,null,[t.default()])]):t.wrapper?.(),t.bottom?.()]})),{}}}),It=o({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:`id`},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},`DataTable-items`);function Lt(e,t,n,r){let i=e.returnObject?t:w(t,e.itemValue),a=w(t,e.itemSelectable,!0),o=r.reduce((e,n)=>(n.key!=null&&(e[n.key]=w(t,n.value)),e),{});return{type:`item`,key:e.returnObject?w(t,e.itemValue):i,index:n,value:i,selectable:a,columns:o,raw:t}}function Rt(e,t,n){return t.map((t,r)=>Lt(e,t,r,n))}function zt(e,t){return{items:H(()=>Rt(e,e.items,t.value))}}function Bt({page:e,itemsPerPage:t,sortBy:n,groupBy:r,search:i}){let a=Se(`VDataTable`),o=()=>({page:e.value,itemsPerPage:t.value,sortBy:n.value,groupBy:r.value,search:i.value}),s=null;x(o,t=>{re(s,t)||(s&&s.search!==t.search&&(e.value=1),a.emit(`update:options`,t),s=t)},{deep:!0,immediate:!0})}var Vt=o({...Mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...Et(),...ht(),...Re(),...It(),...nt(),...at(),...ne(pt(),[`multiSort`,`initialSortOrder`]),...Pt()},`DataTable`),Ht=o({...ke(),...Vt(),...e(),...Ie()},`VDataTable`),Ut=Y()({name:`VDataTable`,props:Ht(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,{attrs:t,slots:r}){let{groupBy:i}=_t(e),{initialSortOrder:a,sortBy:o,multiSort:s,mustSort:c}=st(e),{page:l,itemsPerPage:u}=je(e),{disableSort:d}=de(e),{columns:f,headers:p,sortFunctions:m,sortRawFunctions:_,filterFunctions:v}=Qe(e,{groupBy:i,showSelect:g(()=>e.showSelect),showExpand:g(()=>e.showExpand)}),{items:y}=zt(e,f),x=g(()=>e.search),{filteredItems:S}=n(e,y,x,{transform:e=>e.columns,customKeyFilter:v}),{toggleSort:C}=lt({initialSortOrder:a,sortBy:o,multiSort:s,mustSort:c,page:l}),{sortByWithGroups:w,opened:T,extractRows:E,isGroupOpen:D,toggleGroup:O}=vt({groupBy:i,sortBy:o,disableSort:d}),{sortedItems:k}=dt(e,S,w,{transform:e=>({...e.raw,...e.columns}),sortFunctions:m,sortRawFunctions:_}),{pageCount:A,setItemsPerPage:j,prevPage:ee,nextPage:te,setPage:M,paginatedItems:N}=Fe({pageBy:H(()=>e.pageBy===`auto`?e.groupBy.length?`group`:`item`:e.pageBy),sortedItems:k,paginate:e=>{let{startIndex:t,stopIndex:n,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}=Me({page:l,itemsPerPage:u,itemsLength:H(()=>h(e).length)}),{paginatedItems:c}=Pe({items:e,startIndex:t,stopIndex:n,itemsPerPage:u});return{paginatedItems:c,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}},group:e=>Ct(e,i,T,()=>!!r[`group-summary`])}),P=H(()=>E(N.value)),{isSelected:F,select:re,selectAll:ie,toggleSelect:I,someSelected:L,allSelected:oe}=it(e,{allItems:y,currentPage:P}),{isExpanded:se,toggleExpand:ce}=Ot(e);Bt({page:l,itemsPerPage:u,sortBy:o,groupBy:i,search:x}),ae({VDataTableRows:{hideNoData:g(()=>e.hideNoData),noDataText:g(()=>e.noDataText),loading:g(()=>e.loading),loadingText:g(()=>e.loadingText)}});let z=H(()=>({page:l.value,itemsPerPage:u.value,sortBy:o.value,pageCount:A.value,toggleSort:C,setItemsPerPage:j,prevPage:ee,nextPage:te,setPage:M,someSelected:L.value,allSelected:oe.value,isSelected:F,select:re,selectAll:ie,toggleSelect:I,isExpanded:se,toggleExpand:ce,isGroupOpen:D,toggleGroup:O,items:P.value.map(e=>e.raw),internalItems:P.value,groupedItems:N.value,columns:f.value,headers:p.value}));return U(()=>{let n=Le.filterProps(e),i=mt.filterProps(ne(e,[`multiSort`])),a=Nt.filterProps(e),o=Ft.filterProps(e);return R(Ft,J({class:[`v-data-table`,{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},o,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>r.top?.(z.value),default:()=>r.default?r.default(z.value):q(K,null,[r.colgroup?.(z.value),!e.hideDefaultHeader&&q(`thead`,{key:`thead`},[R(mt,J(i,{multiSort:!!e.multiSort}),r)]),r.thead?.(z.value),!e.hideDefaultBody&&q(`tbody`,null,[r[`body.prepend`]?.(z.value),r.body?r.body(z.value):R(Nt,J(t,a,{items:N.value}),r),r[`body.append`]?.(z.value)]),r.tbody?.(z.value),r.tfoot?.(z.value)]),bottom:()=>r.bottom?r.bottom(z.value):!e.hideDefaultFooter&&q(K,null,[R(b,null,null),R(Le,n,{prepend:r[`footer.prepend`]})])})}),{}}});export{Ie as _,Ft as a,Me as b,_t as c,mt as d,st as f,Le as g,Qe as h,zt as i,vt as l,it as m,Vt as n,Nt as o,lt as p,Bt as r,Ot as s,Ut as t,Ct as u,je as v,Oe as x,ke as y}; \ No newline at end of file diff --git a/web/app/assets/VDataTableServer-Dh4BHVrk.js b/web/app/assets/VDataTableServer-Dh4BHVrk.js new file mode 100644 index 00000000..ea8b5cf3 --- /dev/null +++ b/web/app/assets/VDataTableServer-Dh4BHVrk.js @@ -0,0 +1 @@ +import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as ee,l as c,m as l,n as u,o as d,p as f,r as te,s as p,u as m,v as h,y as g}from"./VDataTable-B6PKw1TS.js";import{Cn as _,Kr as v,Or as ne,P as y,Yn as b,bn as x,gr as S,lr as C,mn as w,qr as T,sr as E,ur as D,xr as O,yn as k}from"./index-C6qJAv49.js";var A=_({itemsLength:{type:[Number,String],required:!0},...g(),...u(),...e()},`VDataTableServer`),j=k()({name:`VDataTableServer`,props:A(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"update:groupBy":e=>!0},setup(e,{attrs:u,slots:g}){let{groupBy:_}=r(e),{initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M}=a(e),{page:N,itemsPerPage:P}=h(e),{disableSort:F}=T(e),I=C(()=>parseInt(e.itemsLength,10)),{columns:L,headers:R}=s(e,{groupBy:_,showSelect:v(()=>e.showSelect),showExpand:v(()=>e.showExpand)}),{items:z}=ee(e,L),{toggleSort:B}=f({initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M,page:N}),{opened:V,isGroupOpen:H,toggleGroup:re,extractRows:U}=c({groupBy:_,sortBy:A,disableSort:F}),{pageCount:W,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J}=n({page:N,itemsPerPage:P,itemsLength:I}),{flatItems:Y}=m(z,_,V,()=>!!g[`group-summary`]),{isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,someSelected:oe,allSelected:se}=l(e,{allItems:z,currentPage:z}),{isExpanded:ce,toggleExpand:le}=p(e),Q=C(()=>U(z.value));te({page:N,itemsPerPage:P,sortBy:A,groupBy:_,search:v(()=>e.search)}),ne(`v-data-table`,{toggleSort:B,sortBy:A}),x({VDataTableRows:{hideNoData:v(()=>e.hideNoData),noDataText:v(()=>e.noDataText),loading:v(()=>e.loading),loadingText:v(()=>e.loadingText)}});let $=C(()=>({page:N.value,itemsPerPage:P.value,sortBy:A.value,pageCount:W.value,toggleSort:B,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J,someSelected:oe.value,allSelected:se.value,isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,isExpanded:ce,toggleExpand:le,isGroupOpen:H,toggleGroup:re,items:Q.value.map(e=>e.raw),internalItems:Q.value,groupedItems:Y.value,columns:L.value,headers:R.value}));w(()=>{let n=o.filterProps(e),r=i.filterProps(b(e,[`multiSort`])),a=d.filterProps(e),s=t.filterProps(e);return S(t,O({class:[`v-data-table`,{"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>g.top?.($.value),default:()=>g.default?g.default($.value):D(E,null,[g.colgroup?.($.value),!e.hideDefaultHeader&&D(`thead`,{key:`thead`,class:`v-data-table__thead`,role:`rowgroup`},[S(i,O(r,{multiSort:!!e.multiSort}),g)]),g.thead?.($.value),!e.hideDefaultBody&&D(`tbody`,{class:`v-data-table__tbody`,role:`rowgroup`},[g[`body.prepend`]?.($.value),g.body?g.body($.value):S(d,O(u,a,{items:Y.value}),g),g[`body.append`]?.($.value)]),g.tbody?.($.value),g.tfoot?.($.value)]),bottom:()=>g.bottom?g.bottom($.value):!e.hideDefaultFooter&&D(E,null,[S(y,null,null),S(o,n,{prepend:g[`footer.prepend`]})])})})}});export{j as t}; \ No newline at end of file diff --git a/web/app/assets/VDialog-P-nMQayc.js b/web/app/assets/VDialog-P-nMQayc.js new file mode 100644 index 00000000..4a74c359 --- /dev/null +++ b/web/app/assets/VDialog-P-nMQayc.js @@ -0,0 +1 @@ +import{Cn as e,Pr as t,S as n,Sr as r,Ur as i,X as a,Yn as o,b as s,dn as c,ft as l,gr as u,mn as d,x as f,xr as p,y as m,yn as h}from"./index-C6qJAv49.js";var g=e({fullscreen:Boolean,scrollable:Boolean,...o(f({captureFocus:!0,origin:`center center`,scrollStrategy:`block`,transition:{component:a},zIndex:2400,retainFocus:!0}),[`disableInitialFocus`])},`VDialog`),_=h()({name:`VDialog`,props:g(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,{emit:a,slots:o}){let f=c(e,`modelValue`),{scopeId:h}=n(),g=i();function _(){a(`afterEnter`),(e.scrim||e.retainFocus)&&g.value?.contentEl&&!g.value.contentEl.contains(document.activeElement)&&g.value.contentEl.focus({preventScroll:!0})}function v(){a(`afterLeave`)}return t(f,async e=>{e||(await r(),g.value.activatorEl?.focus({preventScroll:!0}))}),d(()=>{let t=s.filterProps(e),n=p({"aria-haspopup":`dialog`},e.activatorProps),r=p({tabindex:-1},e.contentProps);return u(s,p({ref:g,class:[`v-dialog`,{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},t,{modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,"aria-modal":`true`,activatorProps:n,contentProps:r,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:`dialog`,onAfterEnter:_,onAfterLeave:v},h),{activator:o.activator,default:(...e)=>u(l,{root:`VDialog`},{default:()=>[o.default?.(...e)]})})}),m({},g)}});export{_ as t}; \ No newline at end of file diff --git a/web/app/assets/VExpansionPanels-RdQ6j6OE.js b/web/app/assets/VExpansionPanels-RdQ6j6OE.js new file mode 100644 index 00000000..45d88c8b --- /dev/null +++ b/web/app/assets/VExpansionPanels-RdQ6j6OE.js @@ -0,0 +1 @@ +import{C as e,Cn as t,Ct as n,J as r,Kr as i,Lr as a,Or as o,Qr as s,Sn as c,St as l,Tt as u,Xn as d,Zr as f,_t as p,bn as m,ct as h,et as g,ft as _,gr as v,gt as y,ht as b,in as x,ir as S,lr as C,mn as w,mt as T,pn as E,rn as D,st as O,ur as k,ut as A,w as j,wt as M,xt as N,yn as P,yr as F,yt as I}from"./index-C6qJAv49.js";var L=Symbol.for(`vuetify:v-expansion-panel`),R=t({...c(),...e()},`VExpansionPanelText`),z=P()({name:`VExpansionPanelText`,props:R(),setup(e,{slots:t}){let n=F(L);if(!n)throw Error(`[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel`);let{hasContent:i,onAfterLeave:o}=j(e,n.isSelected);return w(()=>v(r,{onAfterLeave:o},{default:()=>[a(k(`div`,{class:f([`v-expansion-panel-text`,e.class]),style:s(e.style)},[t.default&&i.value&&k(`div`,{class:`v-expansion-panel-text__wrapper`},[t.default?.()])]),[[S,n.isSelected.value]])]})),{}}}),B=t({color:String,expandIcon:{type:E,default:`$expand`},collapseIcon:{type:E,default:`$collapse`},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...c(),...O()},`VExpansionPanelTitle`),V=P()({name:`VExpansionPanelTitle`,directives:{vRipple:g},props:B(),setup(e,{slots:t}){let n=F(L);if(!n)throw Error(`[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel`);let{backgroundColorClasses:r,backgroundColorStyles:o}=I(()=>e.color),{dimensionStyles:c}=h(e),l=C(()=>({collapseIcon:e.collapseIcon,disabled:n.disabled.value,expanded:n.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),u=i(()=>n.isSelected.value?e.collapseIcon:e.expandIcon);return w(()=>a(k(`button`,{class:f([`v-expansion-panel-title`,{"v-expansion-panel-title--active":n.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},r.value,e.class]),style:s([o.value,c.value,e.style]),type:`button`,tabindex:n.disabled.value?-1:void 0,disabled:n.disabled.value,"aria-expanded":n.isSelected.value,onClick:e.readonly?void 0:n.toggle},[k(`span`,{class:`v-expansion-panel-title__overlay`},null),t.default?.(l.value),!e.hideActions&&v(_,{defaults:{VIcon:{icon:u.value}}},{default:()=>[k(`span`,{class:`v-expansion-panel-title__icon`},[t.actions?.(l.value)??v(A,null,null)])]})]),[[g,e.ripple]])),{}}}),H=t({title:String,text:String,bgColor:String,...M(),...T(),...l(),...N(),...B(),...R()},`VExpansionPanel`),U=P()({name:`VExpansionPanel`,props:H(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let r=p(e,L),{backgroundColorClasses:a,backgroundColorStyles:c}=I(()=>e.bgColor),{elevationClasses:l}=u(e),{roundedClasses:d}=n(e),m=i(()=>r?.disabled.value||e.disabled),h=C(()=>r.group.items.value.reduce((e,t,n)=>(r.group.selected.value.includes(t.id)&&e.push(n),e),[])),g=C(()=>{let e=r.group.items.value.findIndex(e=>e.id===r.id);return!r.isSelected.value&&h.value.some(t=>t-e===1)}),y=C(()=>{let e=r.group.items.value.findIndex(e=>e.id===r.id);return!r.isSelected.value&&h.value.some(t=>t-e===-1)});return o(L,r),w(()=>{let n=!!(t.text||e.text),i=!!(t.title||e.title),o=V.filterProps(e),u=z.filterProps(e);return v(e.tag,{class:f([`v-expansion-panel`,{"v-expansion-panel--active":r.isSelected.value,"v-expansion-panel--before-active":g.value,"v-expansion-panel--after-active":y.value,"v-expansion-panel--disabled":m.value},d.value,a.value,e.class]),style:s([c.value,e.style])},{default:()=>[k(`div`,{class:f([`v-expansion-panel__shadow`,...l.value])},null),v(_,{defaults:{VExpansionPanelTitle:{...o},VExpansionPanelText:{...u}}},{default:()=>[i&&v(V,{key:`title`},{default:()=>[t.title?t.title():e.title]}),n&&v(z,{key:`text`},{default:()=>[t.text?t.text():e.text]}),t.default?.()]})]})}),{groupItem:r}}}),W=[`default`,`accordion`,`inset`,`popout`],G=t({flat:Boolean,...b(),...d(H(),[`bgColor`,`collapseIcon`,`color`,`eager`,`elevation`,`expandIcon`,`focusable`,`hideActions`,`readonly`,`ripple`,`static`]),...l(),...D(),...c(),...N(),variant:{type:String,default:`default`,validator:e=>W.includes(e)}},`VExpansionPanels`),K=P()({name:`VExpansionPanels`,props:G(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{next:r,prev:a}=y(e,L),{themeClasses:o}=x(e),{roundedClasses:c}=n(e),l=i(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return m({VExpansionPanel:{bgColor:i(()=>e.bgColor),collapseIcon:i(()=>e.collapseIcon),color:i(()=>e.color),eager:i(()=>e.eager),elevation:i(()=>e.elevation),expandIcon:i(()=>e.expandIcon),focusable:i(()=>e.focusable),hideActions:i(()=>e.hideActions),readonly:i(()=>e.readonly),ripple:i(()=>e.ripple),static:i(()=>e.static)}}),w(()=>v(e.tag,{class:f([`v-expansion-panels`,{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},o.value,c.value,l.value,e.class]),style:s(e.style)},{default:()=>[t.default?.({prev:a,next:r})]})),{next:r,prev:a}}});export{z as i,U as n,V as r,K as t}; \ No newline at end of file diff --git a/web/app/assets/VRow-CamZ4OJs.js b/web/app/assets/VRow-CamZ4OJs.js new file mode 100644 index 00000000..aad390a0 --- /dev/null +++ b/web/app/assets/VRow-CamZ4OJs.js @@ -0,0 +1 @@ +import{An as e,Cn as t,Et as n,Kn as r,Sn as i,Xr as a,lr as o,nr as s,on as c,vr as l,xt as u,yn as d}from"./index-C6qJAv49.js";var f=c.reduce((e,t)=>(e[t]={type:[Boolean,String,Number],default:!1},e),{}),p=c.reduce((e,t)=>{let n=`offset`+a(t);return e[n]={type:[String,Number],default:null},e},{}),m={col:r(f),offset:r(p),order:[`order`,`orderSm`,`orderMd`,`orderLg`,`orderXl`,`orderXxl`]};function h(e){if(typeof e==`string`&&e.includes(`/`)){let[t,n]=e.split(`/`);return{cols:Number(t),size:Number(n)}}return{cols:e}}function g(e,t,n){if(n==null||n===!1)return{};let{cols:r,size:i}=h(n),a=t.replace(e,``).toLowerCase();return e===`offset`?{className:`v-col--offset-${a}-${r}`,variables:[{[`--v-col-offset-base-${a}`]:i}]}:e===`order`?{className:`order-${a}-${r}`}:{className:r===``||r===!0?`v-col--${a}`:`v-col--cols-${a}-${r}`,variables:[{[`--v-col-size-base-${a}`]:i}]}}var _=[`auto`,`start`,`end`,`center`,`baseline`,`stretch`],v=e=>_.includes(e),y=t({cols:{type:[Boolean,String,Number],default:!1},...f,offset:{type:[String,Number],default:null},...p,order:{type:[String,Number],default:null},orderSm:{type:[String,Number],default:null},orderMd:{type:[String,Number],default:null},orderLg:{type:[String,Number],default:null},orderXl:{type:[String,Number],default:null},orderXxl:{type:[String,Number],default:null},alignSelf:{type:String,default:null,validator:v},...i(),...u()},`VCol`),b=d()({name:`VCol`,props:y(),setup(e,{slots:t}){let n=o(()=>h(e.cols).size),r=o(()=>h(e.offset).size),i=o(()=>{let t=[`v-col`],n=[],r;for(r in m)m[r].forEach(i=>{let a=e[i],{className:o,variables:s}=g(r,i,a);o&&t.push(o),s&&n.push(...s)});let{cols:i}=h(e.cols),{cols:a}=h(e.offset);return t.push({[`v-col--cols-${i}`]:i,[`v-col--offset-${a}`]:a,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),{classes:t,variables:n}});return()=>l(e.tag,{class:[i.value.classes,e.class],style:[{"--v-col-size-base":n.value},{"--v-col-offset-base":r.value},i.value.variables,e.style]},t.default?.())}}),x=[`start`,`end`,`center`],S=[`space-between`,`space-around`,`space-evenly`],C=[...x,`baseline`,`stretch`],w=e=>C.includes(e),T=[...x,...S],E=e=>T.includes(e),D=[...x,...S,`stretch`],O=e=>D.includes(e),k={align:[`align`,`alignSm`,`alignMd`,`alignLg`,`alignXl`,`alignXxl`],justify:[`justify`,`justifySm`,`justifyMd`,`justifyLg`,`justifyXl`,`justifyXxl`],alignContent:[`alignContent`,`alignContentSm`,`alignContentMd`,`alignContentLg`,`alignContentXl`,`alignContentXxl`]},A={align:`align`,justify:`justify`,alignContent:`align-content`};function j(e,t,n){let r=A[e];if(n!=null){if(t){let n=t.replace(e,``);r+=`-${n}`}return r+=`-${n}`,r.toLowerCase()}}var M=t({dense:Boolean,align:{type:String,default:null,validator:w},alignSm:{type:String,default:null,validator:w},alignMd:{type:String,default:null,validator:w},alignLg:{type:String,default:null,validator:w},alignXl:{type:String,default:null,validator:w},alignXxl:{type:String,default:null,validator:w},justify:{type:String,default:null,validator:E},justifySm:{type:String,default:null,validator:E},justifyMd:{type:String,default:null,validator:E},justifyLg:{type:String,default:null,validator:E},justifyXl:{type:String,default:null,validator:E},justifyXxl:{type:String,default:null,validator:E},alignContent:{type:String,default:null,validator:O},alignContentSm:{type:String,default:null,validator:O},alignContentMd:{type:String,default:null,validator:O},alignContentLg:{type:String,default:null,validator:O},alignContentXl:{type:String,default:null,validator:O},alignContentXxl:{type:String,default:null,validator:O},noGutters:Boolean,gap:[Number,String,Array],size:[Number,String],...i(),...n(),...u()},`VRow`),N=d()({name:`VRow`,props:M(),setup(t,{slots:n}){t.dense&&s(`dense`,`density="comfortable"`);let r=o(()=>{let e=[],n;for(n in k)k[n].forEach(r=>{let i=t[r],a=j(n,r,i);a&&e.push(a)});return e.push({"v-row--no-gutters":t.noGutters,"v-row--density-default":t.density===`default`&&!t.noGutters&&!t.dense,"v-row--density-compact":t.density===`compact`,"v-row--density-comfortable":t.density===`comfortable`||t.dense,[`align-${t.align}`]:t.align,[`justify-${t.justify}`]:t.justify,[`align-content-${t.alignContent}`]:t.alignContent}),e}),i=o(()=>Array.isArray(t.gap)?e(t.gap[0]||0):e(t.gap)),a=o(()=>Array.isArray(t.gap)?e(t.gap[1]||0):i.value);return()=>l(t.tag,{class:[`v-row`,r.value,t.class],style:[{"--v-col-gap-x":i.value,"--v-col-gap-y":a.value,"--v-row-columns":t.size},t.style]},n.default?.())}});export{b as n,N as t}; \ No newline at end of file diff --git a/web/app/assets/VSelect-Dy1HeCdk.js b/web/app/assets/VSelect-Dy1HeCdk.js new file mode 100644 index 00000000..0caf2dcb --- /dev/null +++ b/web/app/assets/VSelect-Dy1HeCdk.js @@ -0,0 +1 @@ +import{A as e,An as t,Br as n,Cn as r,Dn as i,Dt as a,E as o,Et as s,F as c,Fn as l,Fr as u,In as d,Jr as f,Kr as p,Lr as m,Mn as h,Mr as g,Nn as _,O as v,On as y,Or as b,P as x,Pr as S,Qn as C,Qr as w,Rn as T,Sn as E,Sr as ee,T as te,Tr as ne,U as D,Ur as O,Wr as k,X as A,Yn as j,Yr as M,Zn as N,Zr as P,_ as re,_n as F,a as ie,bn as I,bt as L,cn as ae,ct as R,dn as z,et as B,fn as V,ft as oe,gr as H,h as U,hn as se,hr as ce,k as le,kn as W,ln as ue,lr as G,m as de,mn as K,n as fe,nn as q,pn as J,q as pe,qn as me,rn as he,sr as Y,st as ge,t as _e,u as ve,un as ye,ur as X,ut as be,v as xe,xn as Se,xr as Z,xt as Ce,y as we,yn as Q,yr as $,yt as Te}from"./index-C6qJAv49.js";var Ee=r({fluid:{type:Boolean,default:!1},...E(),...ge(),...Ce()},`VContainer`),De=Q()({name:`VContainer`,props:Ee(),setup(e,{slots:t}){let{rtlClasses:n}=ye(),{dimensionStyles:r}=R(e);return K(()=>H(e.tag,{class:P([`v-container`,{"v-container--fluid":e.fluid},n.value,e.class]),style:w([r.value,e.style])},t)),{}}});function Oe(){return(e,t=`success`)=>{window.$snackbar?.(e,t)}}var ke=Symbol.for(`vuetify:selection-control-group`),Ae=r({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:J,trueIcon:J,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:F},...E(),...s(),...he()},`SelectionControlGroup`),je=r({...Ae({defaultsTarget:`VSelectionControl`})},`VSelectionControlGroup`),Me=Q()({name:`VSelectionControlGroup`,props:je(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let r=z(e,`modelValue`),i=g(),a=p(()=>e.id||`v-selection-control-group-${i}`),o=p(()=>e.name||a.value),s=new Set;return b(ke,{modelValue:r,forceUpdate:()=>{s.forEach(e=>e())},onForceUpdate:e=>{s.add(e),n(()=>{s.delete(e)})}}),I({[e.defaultsTarget]:{color:p(()=>e.color),disabled:p(()=>e.disabled),density:p(()=>e.density),error:p(()=>e.error),inline:p(()=>e.inline),modelValue:r,multiple:p(()=>!!e.multiple||e.multiple==null&&Array.isArray(r.value)),name:o,falseIcon:p(()=>e.falseIcon),trueIcon:p(()=>e.trueIcon),readonly:p(()=>e.readonly),ripple:p(()=>e.ripple),type:p(()=>e.type),valueComparator:p(()=>e.valueComparator)}}),K(()=>X(`div`,{class:P([`v-selection-control-group`,{"v-selection-control-group--inline":e.inline},e.class]),style:w(e.style),role:e.type===`radio`?`radiogroup`:void 0},[t.default?.()])),{}}}),Ne=r({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...E(),...Ae()},`VSelectionControl`);function Pe(e){let t=$(ke,void 0),{densityClasses:n}=a(e),r=z(e,`modelValue`),i=G(()=>e.trueValue===void 0?e.value===void 0?!0:e.value:e.trueValue),o=G(()=>e.falseValue===void 0?!1:e.falseValue),s=G(()=>!!e.multiple||e.multiple==null&&Array.isArray(r.value)),c=G({get(){let n=t?t.modelValue.value:r.value;return s.value?N(n).some(t=>e.valueComparator(t,i.value)):e.valueComparator(n,i.value)},set(n){if(e.readonly)return;let a=n?i.value:o.value,c=a;s.value&&(c=n?[...N(r.value),a]:N(r.value).filter(t=>!e.valueComparator(t,i.value))),t?t.modelValue.value=c:r.value=c}}),{textColorClasses:l,textColorStyles:u}=L(()=>{if(!(e.error||e.disabled))return c.value?e.color:e.baseColor}),{backgroundColorClasses:d,backgroundColorStyles:f}=Te(()=>c.value&&!e.error&&!e.disabled?e.color:e.baseColor);return{group:t,densityClasses:n,trueValue:i,falseValue:o,model:c,textColorClasses:l,textColorStyles:u,backgroundColorClasses:d,backgroundColorStyles:f,icon:G(()=>c.value?e.trueIcon:e.falseIcon)}}var Fe=Q()({name:`VSelectionControl`,directives:{vRipple:B},inheritAttrs:!1,props:Ne(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let{group:r,densityClasses:i,icon:a,model:o,textColorClasses:s,textColorStyles:c,backgroundColorClasses:u,backgroundColorStyles:d,trueValue:f}=Pe(e),h=g(),_=k(!1),v=k(!1),y=O(),b=p(()=>e.id||`input-${h}`),x=p(()=>!e.disabled&&!e.readonly);r?.onForceUpdate(()=>{y.value&&(y.value.checked=o.value)});function S(t){e.disabled||(_.value=!0,me(t.target,`:focus-visible`)!==!1&&(v.value=!0))}function C(){_.value=!1,v.value=!1}function T(e){e.stopPropagation()}function E(t){if(!x.value){y.value&&(y.value.checked=o.value);return}e.readonly&&r&&ee(()=>r.forceUpdate()),o.value=t.target.checked}return K(()=>{let r=n.label?n.label({label:e.label,props:{for:b.value}}):e.label,[p,h]=l(t),g=X(`input`,Z({ref:y,checked:o.value,disabled:!!e.disabled,id:b.value,onBlur:C,onFocus:S,onInput:E,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:f.value,name:e.name,"aria-checked":e.type===`checkbox`?o.value:void 0},h),null);return X(`div`,Z({class:[`v-selection-control`,{"v-selection-control--dirty":o.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":_.value,"v-selection-control--focus-visible":v.value,"v-selection-control--inline":e.inline},i.value,e.class]},p,{style:e.style}),[X(`div`,{class:P([`v-selection-control__wrapper`,s.value]),style:w(c.value)},[n.default?.({backgroundColorClasses:u,backgroundColorStyles:d}),m(X(`div`,{class:P([`v-selection-control__input`])},[n.input?.({model:o,textColorClasses:s,textColorStyles:c,backgroundColorClasses:u,backgroundColorStyles:d,inputNode:g,icon:a.value,props:{onFocus:S,onBlur:C,id:b.value}})??X(Y,null,[a.value&&H(be,{key:`icon`,icon:a.value},null),g])]),[[B,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),r&&H(U,{for:b.value,onClick:T},{default:()=>[r]})])}),{isFocused:_,input:y}}}),Ie=r({indeterminate:Boolean,indeterminateIcon:{type:J,default:`$checkboxIndeterminate`},...Ne({falseIcon:`$checkboxOff`,trueIcon:`$checkboxOn`})},`VCheckboxBtn`),Le=Q()({name:`VCheckboxBtn`,props:Ie(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{slots:t}){let n=z(e,`indeterminate`),r=z(e,`modelValue`);function i(e){n.value&&=!1}let a=p(()=>n.value?e.indeterminateIcon:e.falseIcon),o=p(()=>n.value?e.indeterminateIcon:e.trueIcon);return K(()=>H(Fe,Z(j(Fe.filterProps(e),[`modelValue`]),{modelValue:r.value,"onUpdate:modelValue":[e=>r.value=e,i],class:[`v-checkbox-btn`,e.class],style:e.style,type:`checkbox`,falseIcon:a.value,trueIcon:o.value,"aria-checked":n.value?`mixed`:void 0}),t)),{}}}),Re=r({renderless:Boolean,...E()},`VVirtualScrollItem`),ze=Q()({name:`VVirtualScrollItem`,inheritAttrs:!1,props:Re(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{resizeRef:i,contentRect:a}=q(void 0,`border`);S(()=>a.value?.height,e=>{e!=null&&n(`update:height`,e)}),K(()=>e.renderless?X(Y,null,[r.default?.({itemRef:i})]):X(`div`,Z({ref:i,class:[`v-virtual-scroll__item`,e.class],style:e.style},t),[r.default?.()]))}}),Be=-1,Ve=1,He=100,Ue=r({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},`virtual`);function We(e,t){let r=ae(),i=k(0);u(()=>{i.value=parseFloat(e.itemHeight||0)});let a=k(0),o=k(Math.ceil((parseInt(e.height)||r.height.value)/(i.value||16))||1),s=k(0),c=k(0),l=O(),d=O(),f=0,{resizeRef:p,contentRect:m}=q();u(()=>{p.value=l.value});let g=G(()=>l.value===document.documentElement?r.height.value:m.value?.height||parseInt(e.height)||0),_=G(()=>!!(l.value&&d.value&&g.value&&i.value)),v=Array.from({length:t.value.length}),y=Array.from({length:t.value.length}),b=k(0),x=-1;function w(e){return v[e]||i.value}let E=h(()=>{let e=performance.now();y[0]=0;let n=t.value.length;for(let e=1;e<=n;e++)y[e]=(y[e-1]||0)+w(e-1);b.value=Math.max(b.value,performance.now()-e)},b),te=S(_,e=>{e&&(te(),f=d.value.offsetTop,E.immediate(),I(),~x&&ee(()=>{C&&window.requestAnimationFrame(()=>{R(x),x=-1})}))});n(()=>{E.clear()});function ne(e,t){let n=v[e],r=i.value;i.value=r?Math.min(i.value,t):t,(n!==t||r!==i.value)&&(v[e]=t,E())}function D(e){e=W(e,0,t.value.length);let n=Math.floor(e),r=e%1,i=n+1,a=y[n]||0;return a+((y[i]||a)-a)*r}function A(e){return Ge(y,e)}let j=0,M=0,N=0;S(g,(e,t)=>{I(),e{M=0,I()})});let P=-1;function re(){if(!l.value||!d.value)return;let e=l.value.scrollTop,t=performance.now();t-N>500?(M=Math.sign(e-j),f=d.value.offsetTop):M=e-j,j=e,N=t,window.clearTimeout(P),P=window.setTimeout(F,500),I()}function F(){!l.value||!d.value||(M=0,N=0,window.clearTimeout(P),I())}let ie=-1;function I(){cancelAnimationFrame(ie),ie=requestAnimationFrame(L)}function L(){if(!l.value||!g.value||!i.value)return;let e=j-f,n=Math.sign(M),r=W(A(Math.max(0,e-He)),0,t.value.length),u=W(A(e+g.value+He)+1,r+1,t.value.length);if((n!==Be||ro.value)){let e=D(a.value)-D(r),n=D(u)-D(o.value);Math.max(e,n)>He?(a.value=r,o.value=u):(r<=0&&(a.value=r),u>=t.value.length&&(o.value=u))}s.value=D(a.value),c.value=D(t.value.length)-D(o.value)}function R(e){let t=D(e);!l.value||e&&!t?x=e:l.value.scrollTop=t}let z=G(()=>t.value.slice(a.value,o.value).map((t,n)=>{let r=n+a.value;return{raw:t,index:r,key:T(t,e.itemKey,r)}}));return S(t,()=>{v=Array.from({length:t.value.length}),y=Array.from({length:t.value.length}),E.immediate(),I()},{deep:1}),{calculateVisibleItems:I,containerRef:l,markerRef:d,computedItems:z,paddingTop:s,paddingBottom:c,scrollToIndex:R,handleScroll:re,handleScrollend:F,handleItemResize:ne}}function Ge(e,t){let n=e.length-1,r=0,i=0,a=null,o=-1;if(e[n]>1,a=e[i],a>t)n=i-1;else if(a[]},renderless:Boolean,...Ue(),...E(),...ge()},`VVirtualScroll`),qe=Q()({name:`VVirtualScroll`,props:Ke(),setup(e,{slots:r}){let i=Se(`VVirtualScroll`),{dimensionStyles:a}=R(e),{calculateVisibleItems:o,containerRef:s,markerRef:c,handleScroll:l,handleScrollend:u,handleItemResize:d,scrollToIndex:f,paddingTop:m,paddingBottom:h,computedItems:g}=We(e,p(()=>e.items));return V(()=>e.renderless,()=>{function e(e=!1){let t=e?`addEventListener`:`removeEventListener`;C&&(s.value===document.documentElement?(document[t](`scroll`,l,{passive:!0}),document[t](`scrollend`,u)):(s.value?.[t](`scroll`,l,{passive:!0}),s.value?.[t](`scrollend`,u)))}ne(()=>{s.value=se(i.vnode.el,!0),e(!0)}),n(e)}),K(()=>{let n=g.value.map(t=>H(ze,{key:t.key,renderless:e.renderless,"onUpdate:height":e=>d(t.index,e)},{default:e=>r.default?.({item:t.raw,index:t.index,...e})}));return e.renderless?X(Y,null,[X(`div`,{ref:c,class:`v-virtual-scroll__spacer`,style:{paddingTop:t(m.value)}},null),n,X(`div`,{class:`v-virtual-scroll__spacer`,style:{paddingBottom:t(h.value)}},null)]):X(`div`,{ref:s,class:P([`v-virtual-scroll`,e.class]),onScrollPassive:l,onScrollend:u,style:w([a.value,e.style])},[X(`div`,{ref:c,class:`v-virtual-scroll__container`,style:{paddingTop:t(m.value),paddingBottom:t(h.value)}},[n])])}),{calculateVisibleItems:o,scrollToIndex:f}}});function Je(e,t,n){return function(r){return!r.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;let r=t();((r&&d(r)[0])??n())?.focus({preventScroll:!0})}),!0):!1}}function Ye(e,t){let n=k(!1),r;function i(e){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function a(){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>{if(n.value){let t=S(n,()=>{t(),e()})}else e()})}async function o(n){if(n.key===`Tab`&&t.value?.focus(),![`PageDown`,`PageUp`,`Home`,`End`].includes(n.key))return;let r=e.value?.$el;if(!r)return;(n.key===`Home`||n.key===`End`)&&r.scrollTo({top:n.key===`Home`?0:r.scrollHeight,behavior:`smooth`}),await a();let i=r.querySelectorAll(`:scope > :not(.v-virtual-scroll__spacer)`);if(n.key===`PageDown`||n.key===`Home`){let e=r.getBoundingClientRect().top;for(let t of i)if(t.getBoundingClientRect().top>=e){t.focus();break}}else{let e=r.getBoundingClientRect().bottom;for(let t of[...i].reverse())if(t.getBoundingClientRect().bottom<=e){t.focus();break}}}return{onScrollPassive:i,onKeydown:o}}function Xe({groups:e,onLeave:t}){function n(e){return e.type===`list`?e.contentRef.value?.$el:e.contentRef.value}function r(e){let t=n(e);return t?d(t):[]}function i(n){let i=n.target,o=n.shiftKey?`backward`:`forward`,s=e.map(r),c=e.map(e=>e.type===`list`?e.contentRef.value?.$el:e.contentRef.value).findIndex(e=>e?.contains(i)),l=a(s,c,o,i);if(l===null){let r=e[c],i=s[c];(r.type===`list`||(o===`forward`?i.at(-1)===n.target:i.at(0)===n.target))&&t()}else{n.preventDefault(),n.stopImmediatePropagation();let t=e[l];if(t.type===`list`&&f(t.displayItemsCount)>0)t.contentRef.value?.focus(0);else{let e=o===`forward`;s[l].at(e?0:-1).focus()}}}function a(t,n,r,i){let a=e[n],o=t[n];if(a.type!==`list`&&!(r===`forward`?o.at(-1)===i:o.at(0)===i))return null;let s=r===`forward`?1:-1;for(let r=n+s;r>=0&&r0||n.type===`list`&&f(n.displayItemsCount)>0)return r}return null}return{onTabKeydown:i}}var Ze=(e,t,n)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();let r=[],i=e.indexOf(t);for(;~i;)r.push([i,i+t.length]),i=e.indexOf(t,i+t.length);return r.length?r:-1};function Qe(e,t){if(!(e==null||typeof e==`boolean`||e===-1))return typeof e==`number`?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}var $e=r({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:`intersection`},noFilter:Boolean},`filter`);function et(e,t,n){let r=[],i=n?.default??Ze,a=n?.filterKeys?N(n.filterKeys):!1,o=Object.keys(n?.customKeyFilter??{}).length;if(!e?.length)return r;let s=[];loop:for(let c=0;c0)&&!n?.noFilter){let e=!1;if(typeof l==`object`){if(l.type===`divider`||l.type===`subheader`){(s.at(-1)?.type!==`divider`||l.type!==`subheader`)&&(s=[]),s.push({index:c,matches:{},type:l.type});continue}let r=a||Object.keys(u);e=r.length===o;for(let e of r){let r=T(u,e),a=n?.customKeyFilter?.[e];if(p=a?a(r,t,l):i(r,t,l),p!==-1&&p!==!1)a?d[e]=Qe(p,t):f[e]=Qe(p,t);else if(n?.filterMode===`every`)continue loop}}else p=i(l,t,l),p!==-1&&p!==!1&&(f.title=Qe(p,t));let r=Object.keys(f).length,m=Object.keys(d).length;if(!r&&!m||n?.filterMode===`union`&&m!==o&&!r||n?.filterMode===`intersection`&&(m!==o||!r&&o>0&&!e))continue}s.length&&(r.push(...s),s=[]),r.push({index:c,matches:{...f,...d}})}return r}function tt(e,t,n,r){let i=k([]),a=k(new Map),o=G(()=>r?.transform?M(t).map(e=>[e,r.transform(e)]):M(t));u(()=>{let s=typeof n==`function`?n():M(n),c=typeof s!=`string`&&typeof s!=`number`?``:String(s),l=et(o.value,c,{customKeyFilter:{...e.customKeyFilter,...M(r?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),u=M(t),d=[],f=new Map;l.forEach(({index:e,matches:t})=>{let n=u[e];d.push(n),f.set(n.value,t)}),i.value=d,a.value=f});function s(e){return a.value.get(e.value)}return{filteredItems:i,filteredMatches:a,getMatches:s}}function nt(e,t,n){return n==null||!n.length?t:n.map((r,i)=>{let a=i===0?0:n[i-1][1],o=[X(`span`,{class:P(`${e}__unmask`)},[t.slice(a,r[0])]),X(`span`,{class:P(`${e}__mask`)},[t.slice(r[0],r[1])])];return i===n.length-1&&o.push(X(`span`,{class:P(`${e}__unmask`)},[t.slice(r[1])])),X(Y,null,[o])})}var rt=r({closeText:{type:String,default:`$vuetify.close`},openText:{type:String,default:`$vuetify.open`}},`autocomplete`);function it(e,t){let n=g(),r=G(()=>`menu-${n}`);return{menuId:r,ariaExpanded:p(()=>f(t)),ariaControls:p(()=>r.value)}}var at=r({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:J,default:`$dropdown`},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:`$vuetify.noDataText`},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...rt(),...o({itemChildren:!1})},`Select`),ot=r({search:String,...$e({filterKeys:[`title`]}),...at(),...j(fe({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`]),...pe({transition:{component:A}})},`VSelect`),st=Q()({name:`VSelect`,props:ot(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(t,{slots:n}){let{t:r}=ue(),a=O(),o=O(),s=O(),l=O(),u=O(),{items:d,transformIn:f,transformOut:m}=v(t),h=z(t,`search`,``),{filteredItems:g,getMatches:b}=tt(t,d,()=>h.value),w=z(t,`modelValue`,[],e=>f(e===null?[null]:N(e)),e=>{let n=m(e);return t.multiple?n:n[0]??null}),T=G(()=>typeof t.counterValue==`function`?t.counterValue(w.value):typeof t.counterValue==`number`?t.counterValue:w.value.length),E=ve(t),ne=ie(t),A=G(()=>w.value.map(e=>e.value)),j=k(!1),M=p(()=>t.closableChips&&!E.isReadonly.value&&!E.isDisabled.value),{InputIcon:P}=de(t),I=``,L=0,ae,R=G(()=>{let e=h.value?g.value:d.value;return t.hideSelected?e.filter(e=>!w.value.some(n=>(t.valueComparator||F)(n,e))):e}),B=G(()=>t.hideNoData&&!R.value.length||E.isReadonly.value||E.isDisabled.value),V=z(t,`menu`),U=G({get:()=>V.value,set:e=>{V.value&&!e&&o.value?.ΨopenChildren.size||e&&B.value||(V.value=e)}}),{menuId:se,ariaExpanded:W,ariaControls:fe}=it(t,U),q=G(()=>({...t.menuProps,activatorProps:{...t.menuProps?.activatorProps||{},"aria-haspopup":`listbox`}})),J=O(),pe=Ye(J,a),he=Je(U,()=>o.value?.contentEl,()=>a.value?.controlRef),{onTabKeydown:ge}=Xe({groups:[{type:`element`,contentRef:s},{type:`list`,contentRef:J,displayItemsCount:()=>R.value.length},{type:`element`,contentRef:l}],onLeave:()=>{U.value=!1,a.value?.focus()}});function ye(e){t.openOnClear&&(U.value=!0)}function Se(){B.value||(U.value=!U.value)}function Ce(e){e.key===`Tab`&&ge(e),J.value?.$el.contains(e.target)&&y(e)&&Q(e)}function Q(e){if(!e.key||E.isReadonly.value)return;if([`Enter`,` `,`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&e.preventDefault(),[`Enter`,`ArrowDown`,` `].includes(e.key)&&(U.value=!0),[`Escape`,`Tab`].includes(e.key)&&(U.value=!1),t.clearable&&e.key===`Backspace`){e.preventDefault(),w.value=[],ye(e);return}if(e.key===`Home`?J.value?.focus(`first`):e.key===`End`&&J.value?.focus(`last`),!y(e))return;let n=performance.now();n-ae>1e3&&(I=``,L=0),I+=e.key.toLowerCase(),ae=n;let r=R.value;function i(){let t=a();return t||I.at(-1)===I.at(-2)&&(I=I.slice(0,-1),L++,t=a(),t)||(L=0,t=a(),t)?t:(I=e.key.toLowerCase(),a())}function a(){for(let e=L;e(t.valueComparator||F)(n.value,e.value)),i=n??!~r;if(~r){let t=i?[...w.value,e]:[...w.value];t.splice(r,1),w.value=t}else i&&(w.value=[...w.value,e])}else w.value=n===!1?[]:[e],ee(()=>{U.value=!1})}function Te(e){let t=e.target;a.value?.$el.contains(t)||(U.value=!1)}function Ee(){return R.value.findIndex(e=>w.value.some(n=>(t.valueComparator||F)(n.value,e.value)))}function De(){if(!w.value.length)return-1;let e=t.valueComparator||F,n=0;for(let t of R.value){if(w.value.some(n=>e(n.value,t.value)))return t.props.disabled?-1:n;t.props.disabled||n++}return-1}function Oe(){if(t.eager&&u.value?.calculateVisibleItems(),J.value&&j.value){let e=De();J.value.focus(e>=0?e:`first`,{focusVisible:!1})}}function ke(){h.value=``,j.value&&a.value?.focus()}function Ae(e){j.value=!0}function je(e){if(!a.value?.$el.contains(e.relatedTarget)&&!e.currentTarget.contains(e.relatedTarget)){if(he(e))return;j.value=!1}}function Me(e){if(e==null)w.value=[];else if(me(a.value,`:autofill`)||me(a.value,`:-webkit-autofill`)){let t=d.value.find(t=>t.title===e);t&&$(t)}else a.value&&(a.value.value=``)}return S(U,()=>{if(!t.hideSelected&&U.value&&w.value.length){let e=Ee();C&&!t.noAutoScroll&&window.requestAnimationFrame(()=>{e>=0&&u.value?.scrollToIndex(e)})}}),S(d,(e,n)=>{U.value||j.value&&t.hideNoData&&!n.length&&e.length&&(U.value=!0)}),K(()=>{let f=!!(t.chips||n.chip),p=!!(!t.hideNoData||R.value.length||n[`prepend-item`]||n[`append-item`]||n[`no-data`]),m=w.value.length>0,v=_e.filterProps(t),y=m||!j.value&&t.label&&!t.persistentPlaceholder?void 0:t.placeholder,S={search:h,filteredItems:g.value};return H(_e,Z({ref:a},v,{modelValue:w.value.map(e=>e.props.title).join(`, `),name:void 0,"onUpdate:modelValue":Me,focused:j.value,"onUpdate:focused":e=>j.value=e,validationValue:w.externalValue,counterValue:T.value,dirty:m,class:[`v-select`,{"v-select--active-menu":U.value,"v-select--chips":!!t.chips,[`v-select--${t.multiple?`multiple`:`single`}`]:!0,"v-select--selected":w.value.length,"v-select--selection-slot":!!n.selection},t.class],style:t.style,inputmode:`none`,placeholder:y,"onClick:clear":ye,"onMousedown:control":Se,onBlur:Te,onKeydown:Q,"aria-expanded":W.value,"aria-controls":fe.value}),{...n,default:({id:a})=>X(Y,null,[X(`select`,{hidden:!0,multiple:t.multiple,name:ne.fieldName.value},[d.value.map(e=>X(`option`,{key:e.value,value:e.value,selected:A.value.includes(e.value)},null))]),H(xe,Z({id:se.value,ref:o,modelValue:U.value,"onUpdate:modelValue":e=>U.value=e,activator:`parent`,disabled:B.value,eager:t.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:t.transition,onAfterEnter:Oe,onAfterLeave:ke},q.value,{contentClass:[`v-select__content`,q.value.contentClass]}),{default:()=>[H(re,{elevation:t.menuElevation,onFocusin:Ae,onFocusout:je,onKeydown:Ce},{default:()=>[n[`menu-header`]&&X(`header`,{ref:s},[n[`menu-header`](S)]),p&&H(te,Z({key:`select-list`,ref:J,selected:A.value,selectStrategy:t.multiple?`independent`:`single-independent`,tabindex:`-1`,selectable:!!R.value.length,"aria-live":`polite`,"aria-labelledby":`${a.value}-label`,"aria-multiselectable":t.multiple,color:t.itemColor??t.color},pe,t.listProps),{default:()=>[n[`prepend-item`]?.(),!R.value.length&&!t.hideNoData&&(n[`no-data`]?.()??H(e,{key:`no-data`,title:r(t.noDataText)},null)),H(qe,{ref:u,renderless:!0,items:R.value,itemKey:`value`},{default:({item:r,index:a,itemRef:o})=>{let s=i(r.props),c=Z(r.props,{ref:o,key:r.value,onClick:()=>$(r,null),"aria-posinset":a+1,"aria-setsize":R.value.length});return r.type===`divider`?n.divider?.({props:r.raw,index:a})??H(x,Z(r.props,{key:`divider-${a}`}),null):r.type===`subheader`?n.subheader?.({props:r.raw,index:a})??H(le,Z(r.props,{key:`subheader-${a}`}),null):n.item?.({item:r.raw,internalItem:r,index:a,props:c})??H(e,Z(c,{role:`option`}),{prepend:({isSelected:e})=>X(Y,null,[t.multiple&&!t.hideSelected?H(Le,{key:r.value,modelValue:e,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,s.prependAvatar&&H(D,{image:s.prependAvatar},null),s.prependIcon&&H(be,{icon:s.prependIcon},null)]),title:()=>h.value?nt(`v-select`,r.title,b(r)?.title):r.title})}}),n[`append-item`]?.()]}),n[`menu-footer`]&&X(`footer`,{ref:l},[n[`menu-footer`](S)])]})]}),w.value.map((e,r)=>{function i(t){t.stopPropagation(),t.preventDefault(),$(e,!1)}let a=Z(c.filterProps(e.props),{"onClick:close":i,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),i(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),o=f?!!n.chip:!!n.selection,s=o?_(f?n.chip({item:e.raw,internalItem:e,index:r,props:a}):n.selection({item:e.raw,internalItem:e,index:r})):void 0;if(!(o&&!s))return X(`div`,{key:e.value,class:`v-select__selection`},[f?n.chip?H(oe,{key:`chip-defaults`,defaults:{VChip:{closable:M.value,size:`small`,text:e.title}}},{default:()=>[s]}):H(c,Z({key:`chip`,closable:M.value,size:`small`,text:e.title,disabled:e.props.disabled},a),null):s??X(`span`,{class:`v-select__selection-text`},[e.title,t.multiple&&rX(Y,null,[n[`append-inner`]?.(...e),t.menuIcon?H(be,{class:`v-select__menu-icon`,color:a.value?.fieldIconColor,icon:t.menuIcon,"aria-hidden":!0},null):void 0,t.appendInnerIcon&&H(P,{key:`append-icon`,name:`appendInner`,color:e[0].iconColor.value},null)])})}),we({isFocused:j,menu:U,search:h,filteredItems:g,select:$},a)}});export{Oe as _,$e as a,Ye as c,Le as d,Ie as f,Ae as g,Me as h,nt as i,Je as l,Ne as m,at as n,tt as o,Fe as p,it as r,Xe as s,st as t,qe as u,De as v}; \ No newline at end of file diff --git a/web/app/assets/VSwitch-XZYCP_Om.js b/web/app/assets/VSwitch-XZYCP_Om.js new file mode 100644 index 00000000..1ec16711 --- /dev/null +++ b/web/app/assets/VSwitch-XZYCP_Om.js @@ -0,0 +1 @@ +import{m as e,p as t}from"./VSelect-Dy1HeCdk.js";import{Cn as n,Fn as r,Kr as i,Mr as a,Qr as o,Ur as s,Y as c,Zr as l,at as u,dn as d,er as f,ft as p,gr as m,lt as h,mn as g,o as _,p as v,rt as y,s as b,sr as x,ur as S,ut as C,xr as w,y as T,yn as E}from"./index-C6qJAv49.js";var D=n({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...b(),...e()},`VSwitch`),O=E()({name:`VSwitch`,inheritAttrs:!1,props:D(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{attrs:n,slots:b}){let E=d(e,`indeterminate`),D=d(e,`modelValue`),{loaderClasses:O}=u(e),{isFocused:k,focus:A,blur:j}=v(e),M=s(),N=s(),P=f&&window.matchMedia(`(forced-colors: active)`).matches,F=i(()=>typeof e.loading==`string`&&e.loading!==``?e.loading:e.color),I=a(),L=i(()=>e.id||`switch-${I}`);function R(){E.value&&=!1}function z(e){e.stopPropagation(),e.preventDefault(),M.value?.input?.click()}return g(()=>{let[i,a]=r(n),s=_.filterProps(e),u=t.filterProps(e);return m(_,w({ref:N,class:[`v-switch`,{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":E.value},O.value,e.class]},i,s,{modelValue:D.value,"onUpdate:modelValue":e=>D.value=e,id:L.value,focused:k.value,style:e.style}),{...b,default:({id:n,messagesId:r,isDisabled:i,isReadonly:s,isValid:d})=>{let f={model:D,isValid:d};return m(t,w({ref:M},u,{modelValue:D.value,"onUpdate:modelValue":[e=>D.value=e,R],id:n.value,"aria-describedby":r.value,type:`checkbox`,"aria-checked":E.value?`mixed`:void 0,disabled:i.value,readonly:s.value,onFocus:A,onBlur:j},a),{...b,default:({backgroundColorClasses:e,backgroundColorStyles:t})=>S(`div`,{class:l([`v-switch__track`,P?void 0:e.value]),style:o(t.value),onClick:z},[b[`track-true`]&&S(`div`,{key:`prepend`,class:`v-switch__track-true`},[b[`track-true`](f)]),b[`track-false`]&&S(`div`,{key:`append`,class:`v-switch__track-false`},[b[`track-false`](f)])]),input:({inputNode:t,icon:n,backgroundColorClasses:r,backgroundColorStyles:i})=>S(x,null,[t,S(`div`,{class:l([`v-switch__thumb`,{"v-switch__thumb--filled":n||e.loading},e.inset||P?void 0:r.value]),style:o(e.inset?void 0:i.value)},[b.thumb?m(p,{defaults:{VIcon:{icon:n,size:`x-small`}}},{default:()=>[b.thumb({...f,icon:n})]}):m(c,null,{default:()=>[e.loading?m(y,{name:`v-switch`,active:!0,color:d.value===!1?void 0:F.value},{default:e=>b.loader?b.loader(e):m(h,{active:e.isActive,color:e.color,indeterminate:!0,size:`16`,width:`2`},null)}):n&&m(C,{key:String(n),icon:n,size:`x-small`},null)]})])])})}})}),T({},N)}});export{O as t}; \ No newline at end of file diff --git a/web/app/assets/VTabs-BcjxNt4c.js b/web/app/assets/VTabs-BcjxNt4c.js new file mode 100644 index 00000000..a4ff48c9 --- /dev/null +++ b/web/app/assets/VTabs-BcjxNt4c.js @@ -0,0 +1 @@ +import{$ as e,$n as t,An as n,C as r,Cn as i,Dt as a,Et as o,Hn as s,I as c,K as l,Kn as u,Kr as d,L as f,Lr as p,Or as m,Pr as h,Q as g,Qn as _,Qr as v,S as ee,Sn as y,Sr as b,Ur as x,W as S,Wr as C,Xn as w,Yn as T,Zr as E,_t as D,bn as O,bt as k,dn as A,gn as j,gr as M,gt as te,hn as ne,in as re,ir as N,ln as ie,lr as P,mn as F,mt as ae,rn as oe,sr as I,un as se,ur as L,w as ce,wn as le,xr as R,xt as z,y as ue,yn as B,yr as V,yt as H}from"./index-C6qJAv49.js";var U=Symbol.for(`vuetify:v-tabs`),W=i({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...T(e({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),G=B()({name:`VTab`,props:W(),setup(e,{slots:t,attrs:n}){let{textColorClasses:r,textColorStyles:i}=k(()=>e.sliderColor),{backgroundColorClasses:a,backgroundColorStyles:o}=H(()=>e.sliderColor),s=x(),c=x(),l=P(()=>e.direction===`horizontal`),u=P(()=>s.value?.group?.isSelected.value??!1);function d(e,t){return{opacity:[0,1]}}function f(t,n){return e.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function p(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=l.value?`x`:`y`,a=l.value?`X`:`Y`,o=l.value?`right`:`bottom`,s=l.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],u=Math.sign(c)>0?l.value?`right`:`bottom`:Math.sign(c)<0?l.value?`left`:`top`:`center`,d=(Math.abs(c)+(Math.sign(c)<0?n[s]:r[s]))/Math.max(n[s],r[s])||0,f=n[s]/r[s]||0,p=1.5;return{transform:[`translate${a}(${c}px) scale${a}(${f})`,`translate${a}(${c/p}px) scale${a}(${(d-1)/p+1})`,`none`],transformOrigin:[,,,].fill(u)}}function m({value:t}){if(t){let t=s.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=c.value;if(!t||!n)return;let r=getComputedStyle(t).backgroundColor,i={fade:d,grow:f,shift:p}[e.sliderTransition??`shift`]??p,a=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??`shift`]??225);le(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:j})}}return F(()=>{let l=g.filterProps(e);return M(g,R({symbol:U,ref:s,class:[`v-tab`,e.class,u.value&&e.inset?a.value:[]],style:[e.style,u.value&&e.inset?o.value:[],{backgroundColor:u.value&&e.inset?`transparent !important`:void 0}],tabindex:u.value?0:-1,role:`tab`,"aria-selected":String(u.value),active:!1},l,n,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":m}),{...t,default:()=>L(I,null,[t.default?.()??e.text,!e.hideSlider&&L(`div`,{ref:c,class:E([`v-tab__slider`,e.inset?a.value:r.value]),style:v([i.value,e.inset?o.value:r.value])},null)])})}),ue({},s)}}),de=e=>{let{touchstartX:t,touchendX:n,touchstartY:r,touchendY:i}=e,a=.5;e.offsetX=n-t,e.offsetY=i-r,Math.abs(e.offsetY)t+16&&e.right(e)),Math.abs(e.offsetX)r+16&&e.down(e))};function fe(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function pe(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),de(t)}function me(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function he(e={}){let t={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:e=>fe(e,t),touchend:e=>pe(e,t),touchmove:e=>me(e,t)}}function ge(e,t){let n=t.value,r=n?.parent?e.parentElement:e,i=n?.options??{passive:!0},a=t.instance?.$.uid;if(!r||a===void 0)return;let o=he(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[a]=o,u(o).forEach(e=>{r.addEventListener(e,o[e],i)})}function _e(e,t){let n=t.value?.parent?e.parentElement:e,r=t.instance?.$.uid;if(!n?._touchHandlers||r===void 0)return;let i=n._touchHandlers[r];u(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var K={mounted:ge,unmounted:_e},q=Symbol.for(`vuetify:v-window`),J=Symbol.for(`vuetify:v-window-group`),Y=i({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:`$next`},prevIcon:{type:[Boolean,String,Function,Object],default:`$prev`},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||e===`hover`},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:`horizontal`},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:`v-window-item--active`},mandatory:{type:[Boolean,String],default:`force`},crossfade:Boolean,transitionDuration:Number,...y(),...z(),...oe()},`VWindow`),X=B()({name:`VWindow`,directives:{vTouch:K},props:Y(),emits:{"update:modelValue":e=>!0},setup(e,{slots:r}){let{themeClasses:i}=re(e),{isRtl:a}=se(),{t:o}=ie(),s=te(e,J),c=x(),l=P(()=>a.value?!e.reverse:e.reverse),u=C(!1),f=P(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(l.value?!u.value:u.value)?`-reverse`:``}-transition`),ee=C(0),y=x(void 0),S=P(()=>s.items.value.findIndex(e=>s.selected.value.includes(e.id)));h(S,(e,t)=>{let n,r={left:0,top:0};_&&t>=0&&(n=ne(c.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=s.items.value.length,a=i-1;i<=2?u.value=e{!_||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),m(q,{transition:f,isReversed:u,transitionCount:ee,transitionHeight:y,rootRef:c});let w=d(()=>e.continuous||S.value!==0),T=d(()=>e.continuous||S.value!==s.items.value.length-1);function D(){w.value&&s.prev()}function O(){T.value&&s.next()}let k=P(()=>{let t=[],n={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${l.value?`right`:`left`}`,onClick:s.prev,"aria-label":o(`$vuetify.carousel.prev`)};t.push(w.value?r.prev?r.prev({props:n}):M(g,n,null):L(`div`,null,null));let i={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${l.value?`left`:`right`}`,onClick:s.next,"aria-label":o(`$vuetify.carousel.next`)};return t.push(T.value?r.next?r.next({props:i}):M(g,i,null):L(`div`,null,null)),t}),A=P(()=>e.touch===!1?e.touch:{left:()=>{l.value?D():O()},right:()=>{l.value?O():D()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function j(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),D(),b(()=>{w.value?N(0):N(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),O(),b(()=>{T.value?N(1):N(0)}))}function N(e){let t=k.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return F(()=>p(M(e.tag,{ref:c,class:E([`v-window`,{"v-window--show-arrows-on-hover":e.showArrows===`hover`,"v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},i.value,e.class]),style:v([e.style,{"--v-window-transition-duration":t()?null:n(e.transitionDuration,`ms`)}])},{default:()=>[L(`div`,{class:`v-window__container`,style:{height:y.value}},[r.default?.({group:s}),e.showArrows!==!1&&L(`div`,{class:E([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:j},[k.value])]),r.additional?.({group:s})]}),[[K,A.value]])),{group:s}}}),ve=i({...T(Y(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),Z=B()({name:`VTabsWindow`,props:ve(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=V(U,null),r=A(e,`modelValue`),i=P({get(){return r.value!=null||!n?r.value:n.items.value.find(e=>n.selected.value.includes(e.id))?.value},set(e){r.value=e}});return F(()=>M(X,R({_as:`VTabsWindow`},X.filterProps(e),{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs-window`,e.class],style:e.style,mandatory:!1,touch:!1}),t)),{}}}),Q=i({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...y(),...ae(),...r()},`VWindowItem`),$=B()({name:`VWindowItem`,directives:{vTouch:K},props:Q(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let r=V(q),i=D(e,J),{isBooted:a}=S();if(!r||!i)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let o=C(!1),s=P(()=>a.value&&(r.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function c(){!o.value||!r||(o.value=!1,r.transitionCount.value>0&&(--r.transitionCount.value,r.transitionCount.value===0&&(r.transitionHeight.value=void 0)))}function u(){o.value||!r||(o.value=!0,r.transitionCount.value===0&&(r.transitionHeight.value=n(r.rootRef.value?.clientHeight)),r.transitionCount.value+=1)}function d(){c()}function f(e){o.value&&b(()=>{!s.value||!o.value||!r||(r.transitionHeight.value=n(e.clientHeight))})}let m=P(()=>{let t=r.isReversed.value?e.reverseTransition:e.transition;return s.value?{name:typeof t==`string`?t:r.transition.value,onBeforeEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:u,onAfterLeave:c,onLeaveCancelled:d,onEnter:f}:!1}),{hasContent:h}=ce(e,i.isSelected);return F(()=>M(l,{transition:m.value,disabled:!a.value},{default:()=>[p(L(`div`,{class:E([`v-window-item`,i.selectedClass.value,e.class]),style:v(e.style)},[h.value&&t.default?.()]),[[N,i.isSelected.value]])]})),{groupItem:i}}}),ye=i({...Q()},`VTabsWindowItem`),be=B()({name:`VTabsWindowItem`,props:ye(),setup(e,{slots:t}){return F(()=>M($,R({_as:`VTabsWindowItem`},$.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function xe(e){return e?e.map(e=>s(e)?e:{text:e,value:e}):[]}var Se=i({alignTabs:{type:String,default:`start`},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...w(W(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...f({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...o(),...z()},`VTabs`),Ce=B()({name:`VTabs`,props:Se(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:r}){let i=A(e,`modelValue`),o=P(()=>xe(e.items)),{densityClasses:s}=a(e),{backgroundColorClasses:l,backgroundColorStyles:u}=H(()=>e.bgColor),{scopeId:f}=ee();return O({VTab:{color:d(e,`color`),direction:d(e,`direction`),stacked:d(e,`stacked`),fixed:d(e,`fixedTabs`),inset:d(e,`inset`),sliderColor:d(e,`sliderColor`),sliderTransition:d(e,`sliderTransition`),sliderTransitionDuration:d(e,`sliderTransitionDuration`),hideSlider:d(e,`hideSlider`)}}),F(()=>{let a=c.filterProps(e),d=!!(r.window||e.items.length>0);return L(I,null,[M(c,R(a,{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs`,`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},s.value,l.value,e.class],style:[{"--v-tabs-height":n(e.height),"--v-tabs-inset-padding":e.inset?n(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?n(e.insetRadius):void 0},u.value,e.style],role:`tablist`,symbol:U},f,t),{default:r.default??(()=>o.value.map(t=>r.tab?.({item:t})??M(G,R(t,{key:t.text,value:t.value,spaced:e.spaced}),{default:r[`tab.${t.value}`]?()=>r[`tab.${t.value}`]?.({item:t}):void 0}))),prev:r.prev,next:r.next}),d&&M(Z,R({modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,key:`tabs-window`},f),{default:()=>[o.value.map(e=>r.item?.({item:e})??M(be,{value:e.value},{default:()=>r[`item.${e.value}`]?.({item:e})})),r.window?.()]})])}),{}}});export{G as i,be as n,Z as r,Ce as t}; \ No newline at end of file diff --git a/web/app/assets/VTextarea-Dnh3HyOO.js b/web/app/assets/VTextarea-Dnh3HyOO.js new file mode 100644 index 00000000..d4a1ddd9 --- /dev/null +++ b/web/app/assets/VTextarea-Dnh3HyOO.js @@ -0,0 +1 @@ +import{An as e,Cn as t,Cr as n,En as r,Fn as i,Fr as a,G as o,Lr as s,Pr as c,Sr as l,Tr as u,Ur as d,Wr as ee,Yn as f,Zr as p,a as te,cn as m,d as h,dn as g,f as _,g as v,gr as y,i as b,kn as ne,lr as x,mn as re,o as S,p as C,r as w,rr as T,s as E,sr as D,ur as O,xr as k,y as A,yn as j}from"./index-C6qJAv49.js";var M=t({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...b(),...f(E(),[`direction`]),..._()},`VTextarea`),N=j()({name:`VTextarea`,directives:{vIntersect:o},inheritAttrs:!1,props:M(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(t,{attrs:f,emit:_,slots:b}){let E=g(t,`modelValue`),{isFocused:j,focus:M,blur:N}=C(t),{onIntersect:P}=w(t),F=x(()=>typeof t.counterValue==`function`?t.counterValue(E.value):(E.value||``).toString().length),I=x(()=>{if(f.maxlength)return f.maxlength;if(!(!t.counter||typeof t.counter!=`number`&&typeof t.counter!=`string`))return t.counter}),L=d(),R=d(),z=ee(``),B=d(),V=d(0),{platform:H}=m(),U=te(t),W=x(()=>t.persistentPlaceholder||j.value||t.active);function G(){U.isSuppressing.value&&U.update(),B.value!==document.activeElement&&B.value?.focus(),j.value||M()}function K(e){G(),_(`click:control`,e)}function q(e){_(`mousedown:control`,e)}function J(e){e.stopPropagation(),G(),l(()=>{E.value=``,r(t[`onClick:clear`],e)})}function ie(e){let n=e.target;if(!t.modelModifiers?.trim){E.value=n.value;return}let r=n.value,i=n.selectionStart,a=n.selectionEnd;E.value=r,l(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),i!=null&&(n.selectionStart=i-e),a!=null&&(n.selectionEnd=a-e)})}let Y=d(),X=d(Number(t.rows)),Z=x(()=>[`plain`,`underlined`].includes(t.variant));a(()=>{t.autoGrow||(X.value=Number(t.rows))});function Q(){l(()=>{if(!B.value)return;if(H.value.firefox){V.value=12;return}let{offsetWidth:e,clientWidth:t}=B.value;V.value=Math.max(0,e-t)}),t.autoGrow&&l(()=>{if(!Y.value||!R.value)return;let n=getComputedStyle(Y.value),r=getComputedStyle(R.value.$el),i=parseFloat(n.getPropertyValue(`--v-field-padding-top`))+parseFloat(n.getPropertyValue(`--v-input-padding-top`))+parseFloat(n.getPropertyValue(`--v-field-padding-bottom`)),a=Y.value.scrollHeight,o=parseFloat(n.lineHeight),s=Math.max(parseFloat(t.rows)*o+i,parseFloat(r.getPropertyValue(`--v-input-control-height`))),c=t.maxHeight?parseFloat(t.maxHeight):parseFloat(t.maxRows)*o+i||1/0,l=ne(a??0,s,c);X.value=Math.floor((l-i)/o),z.value=e(l)})}u(Q),c(E,Q),c(()=>t.rows,Q),c(()=>t.maxHeight,Q),c(()=>t.maxRows,Q),c(()=>t.density,Q),c(X,e=>{_(`update:rows`,e)});let $;return c(Y,e=>{e?($=new ResizeObserver(Q),$.observe(Y.value)):$?.disconnect()}),n(()=>{$?.disconnect()}),re(()=>{let n=!!(b.counter||t.counter||t.counterValue),r=!!(n||b.details),[a,c]=i(f),{modelValue:l,...u}=S.filterProps(t),d={...h.filterProps(t),"onClick:clear":J};return y(S,k({ref:L,modelValue:E.value,"onUpdate:modelValue":e=>E.value=e,class:[`v-textarea v-text-field`,{"v-textarea--prefixed":t.prefix,"v-textarea--suffixed":t.suffix,"v-text-field--prefixed":t.prefix,"v-text-field--suffixed":t.suffix,"v-textarea--auto-grow":t.autoGrow,"v-textarea--no-resize":t.noResize||t.autoGrow,"v-input--plain-underlined":Z.value},t.class],style:[{"--v-textarea-max-height":t.maxHeight?e(t.maxHeight):void 0,"--v-textarea-scroll-bar-width":e(V.value)},t.style]},a,u,{centerAffix:X.value===1&&!Z.value,focused:j.value,indentDetails:t.indentDetails??!Z.value}),{...b,default:({id:e,isDisabled:n,isDirty:r,isReadonly:i,isValid:a,hasDetails:l})=>y(h,k({ref:R,style:{"--v-textarea-control-height":z.value},onClick:K,onMousedown:q,"onClick:prependInner":t[`onClick:prependInner`],"onClick:appendInner":t[`onClick:appendInner`]},d,{id:e.value,active:W.value||r.value,labelId:`${e.value}-label`,centerAffix:X.value===1&&!Z.value,dirty:r.value||t.dirty,disabled:n.value,focused:j.value,details:l.value,error:a.value===!1}),{...b,default:({props:{class:r,...a},controlRef:l})=>O(D,null,[t.prefix&&O(`span`,{class:`v-text-field__prefix`},[t.prefix]),s(O(`textarea`,k({ref:e=>B.value=l.value=e,class:r,value:E.value,onInput:ie,autofocus:t.autofocus,readonly:i.value,disabled:n.value,placeholder:t.placeholder,rows:t.rows,name:U.fieldName.value,autocomplete:U.fieldAutocomplete.value,onFocus:G,onBlur:N,"aria-labelledby":`${e.value}-label`},a,c),null),[[o,{handler:P},null,{once:!0}]]),t.autoGrow&&s(O(`textarea`,{class:p([r,`v-textarea__sizer`]),id:`${a.id}-sizer`,"onUpdate:modelValue":e=>E.value=e,ref:Y,readonly:!0,"aria-hidden":`true`},null),[[T,E.value]]),t.suffix&&O(`span`,{class:`v-text-field__suffix`},[t.suffix])])}),details:r?e=>O(D,null,[b.details?.(e),n&&O(D,null,[O(`span`,null,null),y(v,{active:t.persistentCounter||j.value,value:F.value,max:I.value,disabled:t.disabled},b.counter)])]):void 0})}),A({},L,R,B)}});export{N as t}; \ No newline at end of file diff --git a/web/app/assets/apiError-DukIeo5O.js b/web/app/assets/apiError-DukIeo5O.js new file mode 100644 index 00000000..b19c1f77 --- /dev/null +++ b/web/app/assets/apiError-DukIeo5O.js @@ -0,0 +1 @@ +import{Jt as e}from"./index-C6qJAv49.js";function t(t,n){if(t instanceof e){let e=t.detail??t.message;return typeof e==`string`?e:Array.isArray(e)?e.map(e=>e?.msg||JSON.stringify(e)).join(`; `):e&&typeof e==`object`?JSON.stringify(e):t.message||n}return t instanceof Error&&t.message||n}export{t}; \ No newline at end of file diff --git a/web/app/assets/cssMode-iDw0e5LA.js b/web/app/assets/cssMode-iDw0e5LA.js new file mode 100644 index 00000000..e44b7541 --- /dev/null +++ b/web/app/assets/cssMode-iDw0e5LA.js @@ -0,0 +1 @@ +import{p as e,s as t}from"./initMonaco-CbTFLcUb.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-CrPR27dq.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/app/assets/css.worker-CvXBzhp8.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit}; \ No newline at end of file diff --git a/web/app/assets/execDetailGrouping-MKCzvGo4.js b/web/app/assets/execDetailGrouping-MKCzvGo4.js new file mode 100644 index 00000000..4587e38b --- /dev/null +++ b/web/app/assets/execDetailGrouping-MKCzvGo4.js @@ -0,0 +1,2 @@ +import{Cr as e,Ft as t,Lt as n}from"./index-C6qJAv49.js";import{t as r}from"./usePageAutoRefresh-qyIz2rJd.js";var i=8e3,a=3e4;function o(o,s){let{runningItems:c}=n();r(async()=>{s?.enabled&&!s.enabled()||await o(!0)},()=>c.value.length>0?i:a);let l=t(()=>{s?.enabled&&!s.enabled()||o(!1)});e(()=>{l()})}function s(e){return e.replace(/\b\d{1,3}(?:\.\d{1,3}){3}\b/g,``).replace(/:\d{2,5}\b/g,`:`).replace(/\/[^\s'"]+/g,`/`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,``).replace(/\s+/g,` `).trim()}function c(e){let t=e.trim();return!t||t===`—`?`未知错误`:s(t.split(` +`)[0]?.trim()||t).slice(0,200)||`未知错误`}function l(e){let t=new Map;for(let n of e){if(!n.failed)continue;let e=c(n.summary),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.entries()].map(([e,t])=>({errorKey:e,rows:t.sort((e,t)=>e.serverName.localeCompare(t.serverName,`zh`)),count:t.length})).sort((e,t)=>t.count-e.count||e.errorKey.localeCompare(t.errorKey,`zh`))}export{o as n,l as t}; \ No newline at end of file diff --git a/web/app/assets/freemarker2-b1ssc0FN.js b/web/app/assets/freemarker2-b1ssc0FN.js new file mode 100644 index 00000000..be2c695a --- /dev/null +++ b/web/app/assets/freemarker2-b1ssc0FN.js @@ -0,0 +1,3 @@ +import{p as e}from"./initMonaco-CbTFLcUb.js";var t=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],n=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],r={close:`>`,id:`angle`,open:`<`},i={close:`\\]`,id:`bracket`,open:`\\[`},a={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},o={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},s={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function c(r){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${r.open}--`,`--${r.close}`]},autoCloseBefore:` +\r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`${r.open}#(?:${n.join(`|`)})([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),end:RegExp(`${r.open}/#(?:${n.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`${r.open}#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),afterText:RegExp(`^${r.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${r.close}$`),action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`${r.open}#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),action:{indentAction:e.IndentAction.Indent}}]}}function l(){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoCloseBefore:` +\r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`[<\\[]#(?:${n.join(`|`)})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:RegExp(`[<\\[]/#(?:${n.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`[<\\[]#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`[<\\[]#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:e.IndentAction.Indent}}]}}function u(e,t){let n=`_${e.id}_${t.id}`,r=e=>e.replace(/__id__/g,n),i=e=>{let t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:r(`default__id__`),ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],[r(`open__id__`)]:new RegExp(e.open),[r(`close__id__`)]:new RegExp(e.close),[r(`iOpen1__id__`)]:new RegExp(t.open1),[r(`iOpen2__id__`)]:new RegExp(t.open2),[r(`iClose__id__`)]:new RegExp(t.close),[r(`startTag__id__`)]:i(/(@open__id__)(#)/),[r(`endTag__id__`)]:i(/(@open__id__)(\/#)/),[r(`startOrEndTag__id__`)]:i(/(@open__id__)(\/?#)/),[r(`closeTag1__id__`)]:i(/((?:@blank)*)(@close__id__)/),[r(`closeTag2__id__`)]:i(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:[`false`,`true`,`in`,`as`,`using`],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:[`->`,`->`],delimiters:[`;`,`:`,`,`,`.`],stringOperators:[`lte`,`lt`,`gte`,`gt`],noParseTags:[`noparse`,`noParse`,`comment`],tokenizer:{[r(`default__id__`)]:[{include:r(`@directive_token__id__`)},{include:r(`@interpolation_and_text_token__id__`)}],[r(`fmExpression__id__.directive`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`fmExpression__id__.interpolation`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`inParen__id__.plain`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`inParen__id__.gt`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`noSpaceExpression__id__`)]:[{include:r(`@no_space_expression_end_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`unifiedCall__id__`)]:[{include:r(`@unified_call_token__id__`)}],[r(`singleString__id__`)]:[{include:r(`@string_single_token__id__`)}],[r(`doubleString__id__`)]:[{include:r(`@string_double_token__id__`)}],[r(`rawSingleString__id__`)]:[{include:r(`@string_single_raw_token__id__`)}],[r(`rawDoubleString__id__`)]:[{include:r(`@string_double_raw_token__id__`)}],[r(`expressionComment__id__`)]:[{include:r(`@expression_comment_token__id__`)}],[r(`noParse__id__`)]:[{include:r(`@no_parse_token__id__`)}],[r(`terseComment__id__`)]:[{include:r(`@terse_comment_token__id__`)}],[r(`directive_token__id__`)]:[[i(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{cases:{"@noParseTags":{token:`tag`,next:r(`@noParse__id__.$3`)},"@default":{token:`tag`}}},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)(@)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`,next:r(`@unifiedCall__id__`)}]],[i(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)#--/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:{token:`comment`,next:r(`@terseComment__id__`)}],[i(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag.invalid`,next:r(`@fmExpression__id__.directive`)}]]],[r(`interpolation_and_text_token__id__`)]:[[i(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:t.id===`bracket`?`@brackets.interpolation`:`delimiter.interpolation`},{token:t.id===`bracket`?`delimiter.interpolation`:`@brackets.interpolation`,next:r(`@fmExpression__id__.interpolation`)}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:`source`}]],[r(`string_single_token__id__`)]:[[/[^'\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/'/,{token:`string`,next:`@pop`}]],[r(`string_double_token__id__`)]:[[/[^"\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/"/,{token:`string`,next:`@pop`}]],[r(`string_single_raw_token__id__`)]:[[/[^']+/,{token:`string.raw`}],[/'/,{token:`string.raw`,next:`@pop`}]],[r(`string_double_raw_token__id__`)]:[[/[^"]+/,{token:`string.raw`}],[/"/,{token:`string.raw`,next:`@pop`}]],[r(`expression_token__id__`)]:[[/(r?)(['"])/,{cases:{"r'":[{token:`keyword`},{token:`string.raw`,next:r(`@rawSingleString__id__`)}],'r"':[{token:`keyword`},{token:`string.raw`,next:r(`@rawDoubleString__id__`)}],"'":[{token:`source`},{token:`string`,next:r(`@singleString__id__`)}],'"':[{token:`source`},{token:`string`,next:r(`@doubleString__id__`)}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:`number`},"@default":{token:`number.float`}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:`delimiter`},{token:``},{token:`identifier`}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:`meta.arrow`},"@delimiters":{token:`delimiter`},"@default":{token:`operators`}}}],[/@id/,{cases:{"@keywords":{token:`keyword.$0`},"@stringOperators":{token:`operators`},"@default":{token:`identifier`}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\]":{cases:{...t.id===`bracket`?{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}}:{},...e.id===`bracket`?{"$S2==directive":{token:`@brackets.directive`,next:`@popall`}}:{},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\(":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"\\)":{cases:{[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\{":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\}":{cases:{...t.id===`bracket`?{}:{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}}}}],[/\$\{/,{token:`delimiter.invalid`}]],[r(`blank_and_expression_comment_token__id__`)]:[[/(?:@blank)+/,{token:``}],[/[<\[][#!]--/,{token:`comment`,next:r(`@expressionComment__id__`)}]],[r(`directive_end_token__id__`)]:[[/>/,e.id===`bracket`?{token:`operators`}:{token:`@brackets.directive`,next:`@popall`}],[i(/(\/)(@close__id__)/),[{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]]],[r(`greater_operators_token__id__`)]:[[/>/,{token:`operators`}],[/>=/,{token:`operators`}]],[r(`no_space_expression_end_token__id__`)]:[[/(?:@blank)+/,{token:``,switchTo:r(`@fmExpression__id__.directive`)}]],[r(`unified_call_token__id__`)]:[[/(@id)((?:@blank)+)/,[{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(@id)(\/?)(@close__id__)/),[{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]],[/./,{token:`@rematch`,next:r(`@noSpaceExpression__id__`)}]],[r(`no_parse_token__id__`)]:[[i(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``},{token:`@brackets.directive`,next:`@popall`}],"$S2==comment":[{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`}],"@default":[{token:`source`},{token:`source`},{token:`source`},{token:`source`},{token:`source`}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:`comment`},"@default":{token:`source`}}}]],[r(`expression_comment_token__id__`)]:[[/--[>\]]/,{token:`comment`,next:`@pop`}],[/[^\->\]]+|[>\]\-]/,{token:`comment`}]],[r(`terse_comment_token__id__`)]:[[i(/--(?:@close__id__)/),{token:`comment`,next:`@popall`}],[/[^<\[\-]+|[<\[\-]/,{token:`comment`}]]}}}function d(e){let t=u(r,e),n=u(i,e),o=u(a,e);return{...t,...n,...o,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{...t.tokenizer,...n.tokenizer,...o.tokenizer}}}var f={conf:c(r),language:u(r,o)},p={conf:c(i),language:u(i,o)},m={conf:c(r),language:u(r,s)},h={conf:c(i),language:u(i,s)},g={conf:l(),language:d(o)},_={conf:l(),language:d(s)};export{m as TagAngleInterpolationBracket,f as TagAngleInterpolationDollar,_ as TagAutoInterpolationBracket,g as TagAutoInterpolationDollar,h as TagBracketInterpolationBracket,p as TagBracketInterpolationDollar}; \ No newline at end of file diff --git a/web/app/assets/handlebars-vrLqQ089.js b/web/app/assets/handlebars-vrLqQ089.js new file mode 100644 index 00000000..d4600da2 --- /dev/null +++ b/web/app/assets/handlebars-vrLqQ089.js @@ -0,0 +1 @@ +import{p as e}from"./initMonaco-CbTFLcUb.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[``],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},r={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{n as conf,r as language}; \ No newline at end of file diff --git a/web/app/assets/html-BW5USfmm.js b/web/app/assets/html-BW5USfmm.js new file mode 100644 index 00000000..95fd1819 --- /dev/null +++ b/web/app/assets/html-BW5USfmm.js @@ -0,0 +1 @@ +import{p as e}from"./initMonaco-CbTFLcUb.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[``]},brackets:[[``],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*`),end:RegExp(`^\\s*`)}}},r={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{n as conf,r as language}; \ No newline at end of file diff --git a/web/app/assets/htmlMode-_P0Ii-St.js b/web/app/assets/htmlMode-_P0Ii-St.js new file mode 100644 index 00000000..a11b0ff6 --- /dev/null +++ b/web/app/assets/htmlMode-_P0Ii-St.js @@ -0,0 +1 @@ +import{p as e,s as t}from"./initMonaco-CbTFLcUb.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-CrPR27dq.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/app/assets/html.worker-BO6WuOEO.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},S=class extends _{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function C(t){let n=new x(t),o=(...e)=>n.getLanguageServiceWorker(...e),s=t.languageId;e.registerCompletionItemProvider(s,new S(o)),e.registerHoverProvider(s,new a(o)),e.registerDocumentHighlightProvider(s,new p(o)),e.registerLinkProvider(s,new g(o)),e.registerFoldingRangeProvider(s,new v(o)),e.registerDocumentSymbolProvider(s,new u(o)),e.registerSelectionRangeProvider(s,new d(o)),e.registerRenameProvider(s,new m(o)),s===`html`&&(e.registerDocumentFormattingEditProvider(s,new r(o)),e.registerDocumentRangeFormattingEditProvider(s,new i(o)))}function w(t){let n=[],o=[],s=new x(t);n.push(s);let c=(...e)=>s.getLanguageServiceWorker(...e);function l(){let{languageId:n,modeConfiguration:s}=t;E(o),s.completionItems&&o.push(e.registerCompletionItemProvider(n,new S(c))),s.hovers&&o.push(e.registerHoverProvider(n,new a(c))),s.documentHighlights&&o.push(e.registerDocumentHighlightProvider(n,new p(c))),s.links&&o.push(e.registerLinkProvider(n,new g(c))),s.documentSymbols&&o.push(e.registerDocumentSymbolProvider(n,new u(c))),s.rename&&o.push(e.registerRenameProvider(n,new m(c))),s.foldingRanges&&o.push(e.registerFoldingRangeProvider(n,new v(c))),s.selectionRanges&&o.push(e.registerSelectionRangeProvider(n,new d(c))),s.documentFormattingEdits&&o.push(e.registerDocumentFormattingEditProvider(n,new r(c))),s.documentRangeFormattingEdits&&o.push(e.registerDocumentRangeFormattingEditProvider(n,new i(c)))}return l(),n.push(T(o)),T(n)}function T(e){return{dispose:()=>E(e)}}function E(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,w as setupMode,C as setupMode1,n as toRange,y as toTextEdit}; \ No newline at end of file diff --git a/web/app/assets/index-C6qJAv49.js b/web/app/assets/index-C6qJAv49.js new file mode 100644 index 00000000..179c9951 --- /dev/null +++ b/web/app/assets/index-C6qJAv49.js @@ -0,0 +1,15 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-CA2jAe10.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/VSelect-Dy1HeCdk.js","assets/VSelect-BmvHN1-i.css","assets/VDataTableServer-Dh4BHVrk.js","assets/VDataTable-B6PKw1TS.js","assets/VDataTable-DlpDfCoY.css","assets/VRow-CamZ4OJs.js","assets/VRow-DIr3-SqU.css","assets/StatCardsRow-Cd1utvc9.js","assets/paginatedFetch-CPtIdw6B.js","assets/StatCardsRow-DyK28H-z.css","assets/dataTable-esDY4cOk.js","assets/auditNormalize-bmSA0RyN.js","assets/DashboardPage-CmPZFaNy.css","assets/ServersPage-LVgDB3Rh.js","assets/VDialog-P-nMQayc.js","assets/VDialog-DP-kc9Gx.css","assets/VExpansionPanels-RdQ6j6OE.js","assets/VExpansionPanels-CUfe7Zz5.css","assets/VTabs-BcjxNt4c.js","assets/VTabs-DjRHpLZ2.css","assets/VTextarea-Dnh3HyOO.js","assets/VTextarea-DDl63AeD.css","assets/labels-CzOhyWto.js","assets/usePageAutoRefresh-qyIz2rJd.js","assets/useServerCategories-WSJPDvJY.js","assets/apiError-DukIeo5O.js","assets/validation-DMwOxx4a.js","assets/ServersPage-C3ha-zP2.css","assets/TerminalPage-Dkm2aFA7.js","assets/useTerminalQuickCommands-E80oyzaI.js","assets/useTerminalQuickCommands--q0R-DyO.css","assets/wsUrl-CqmqkTTE.js","assets/TerminalPage-B5imEwet.css","assets/FilesPage-C45eqjeG.js","assets/initMonaco-CbTFLcUb.js","assets/initMonaco-DX2BVZF3.css","assets/VCheckbox-Nzkf754R.js","assets/VCheckbox-ChRKi1kj.css","assets/useServerList-DgZFamx0.js","assets/FilesPage-Cqy6b_Ev.css","assets/PushPage-oiokaBkp.js","assets/PushPage-C5pW2-rI.css","assets/ScriptsPage-CBNlu4H0.js","assets/VSwitch-XZYCP_Om.js","assets/VSwitch-DPhHiAlh.css","assets/execDetailGrouping-MKCzvGo4.js","assets/ScriptsPage-Chos25NM.css","assets/ScriptRunsPage-CWBYk1C1.js","assets/ScriptRunsPage-mPS7ub0T.css","assets/CredentialsPage-BjZD7bot.js","assets/SchedulesPage-D3XY0xis.js","assets/RetriesPage-Ccx3is-O.js","assets/CommandsPage-DSMJBQOT.js","assets/AlertsPage-BQ26slXA.js","assets/AuditPage-CtSuHRge.js","assets/SettingsPage-DLeYyeUc.js","assets/LoginPage-s5chNIa7.js","assets/LoginPage-CnG6rjqR.css"])))=>i.map(i=>d[i]); +(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,T=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),E=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ee=/-\w/g,D=E(e=>e.replace(ee,e=>e.slice(1).toUpperCase())),te=/\B([A-Z])/g,O=E(e=>e.replace(te,`-$1`).toLowerCase()),ne=E(e=>e.charAt(0).toUpperCase()+e.slice(1)),re=E(e=>e?`on${ne(e)}`:``),k=(e,t)=>!Object.is(e,t),ie=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se=e=>{let t=g(e)?Number(e):NaN;return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function A(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(de);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function j(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;n!!(e&&e.__v_isRef===!0),be=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?ye(e)?be(e.value):JSON.stringify(e,xe,2):String(e),xe=(e,t)=>ye(t)?xe(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Se(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Se(e))}:_(t)?Se(t):v(t)&&!d(t)&&!C(t)?String(t):t,Se=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,Ce,we=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&Ce&&(Ce.active?(this.parent=Ce,this.index=(Ce.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(Ce===this)Ce=this.prevScope;else{let e=Ce;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Ne){let e=Ne;for(Ne=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Me;){let t=Me;for(Me=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Le(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Re(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ve(r),He(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function ze(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Be(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Be(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Je)||(e.globalVersion=Je,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ze(e))))return;e.flags|=2;let t=e.dep,n=Oe,r=Ue;Oe=e,Ue=!0;try{Le(e);let n=e.fn(e._value);(t.version===0||k(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Oe=n,Ue=r,Re(e),e.flags&=-3}}function Ve(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ve(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function He(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Ue=!0,We=[];function Ge(){We.push(Ue),Ue=!1}function Ke(){let e=We.pop();Ue=e===void 0?!0:e}function qe(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Oe;Oe=void 0;try{t()}finally{Oe=e}}}var Je=0,Ye=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Xe=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Oe||!Ue||Oe===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Oe)t=this.activeLink=new Ye(Oe,this),Oe.deps?(t.prevDep=Oe.depsTail,Oe.depsTail.nextDep=t,Oe.depsTail=t):Oe.deps=Oe.depsTail=t,Ze(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Oe.depsTail,t.nextDep=void 0,Oe.depsTail.nextDep=t,Oe.depsTail=t,Oe.deps===t&&(Oe.deps=e)}return t}trigger(e){this.version++,Je++,this.notify(e)}notify(e){Fe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ie()}}};function Ze(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ze(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Qe=new WeakMap,$e=Symbol(``),et=Symbol(``),tt=Symbol(``);function nt(e,t,n){if(Ue&&Oe){let t=Qe.get(e);t||Qe.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Xe),r.map=t,r.key=n),r.track()}}function rt(e,t,n,r,i,a){let o=Qe.get(e);if(!o){Je++;return}let s=e=>{e&&e.trigger()};if(Fe(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===tt||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(tt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get($e)),f(e)&&s(o.get(et)));break;case`delete`:i||(s(o.get($e)),f(e)&&s(o.get(et)));break;case`set`:f(e)&&s(o.get($e));break}}Ie()}function it(e,t){let n=Qe.get(e);return n&&n.get(t)}function at(e){let t=M(e);return t===e?t:(nt(t,`iterate`,tt),Wt(e)?t:t.map(qt))}function ot(e){return nt(e=M(e),`iterate`,tt),e}function st(e,t){return Ut(e)?Jt(Ht(e)?qt(t):t):qt(t)}var ct={__proto__:null,[Symbol.iterator](){return lt(this,Symbol.iterator,e=>st(this,e))},concat(...e){return at(this).concat(...e.map(e=>d(e)?at(e):e))},entries(){return lt(this,`entries`,e=>(e[1]=st(this,e[1]),e))},every(e,t){return dt(this,`every`,e,t,void 0,arguments)},filter(e,t){return dt(this,`filter`,e,t,e=>e.map(e=>st(this,e)),arguments)},find(e,t){return dt(this,`find`,e,t,e=>st(this,e),arguments)},findIndex(e,t){return dt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return dt(this,`findLast`,e,t,e=>st(this,e),arguments)},findLastIndex(e,t){return dt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return dt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return pt(this,`includes`,e)},indexOf(...e){return pt(this,`indexOf`,e)},join(e){return at(this).join(e)},lastIndexOf(...e){return pt(this,`lastIndexOf`,e)},map(e,t){return dt(this,`map`,e,t,void 0,arguments)},pop(){return mt(this,`pop`)},push(...e){return mt(this,`push`,e)},reduce(e,...t){return ft(this,`reduce`,e,t)},reduceRight(e,...t){return ft(this,`reduceRight`,e,t)},shift(){return mt(this,`shift`)},some(e,t){return dt(this,`some`,e,t,void 0,arguments)},splice(...e){return mt(this,`splice`,e)},toReversed(){return at(this).toReversed()},toSorted(e){return at(this).toSorted(e)},toSpliced(...e){return at(this).toSpliced(...e)},unshift(...e){return mt(this,`unshift`,e)},values(){return lt(this,`values`,e=>st(this,e))}};function lt(e,t,n){let r=ot(e),i=r[t]();return r!==e&&!Wt(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var ut=Array.prototype;function dt(e,t,n,r,i,a){let o=ot(e),s=o!==e&&!Wt(e),c=o[t];if(c!==ut[t]){let t=c.apply(e,a);return s?qt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,st(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ft(e,t,n,r){let i=ot(e),a=i!==e&&!Wt(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=st(e,t)),n.call(this,t,st(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?st(e,c):c}function pt(e,t,n){let r=M(e);nt(r,`iterate`,tt);let i=r[t](...n);return(i===-1||i===!1)&&Gt(n[0])?(n[0]=M(n[0]),r[t](...n)):i}function mt(e,t,n=[]){Ge(),Fe();let r=M(e)[t].apply(e,n);return Ie(),Ke(),r}var ht=e(`__proto__,__v_isRef,__isVue`),gt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function _t(e){_(e)||(e=String(e));let t=M(this);return nt(t,`has`,e),t.hasOwnProperty(e)}var vt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?It:Ft:i?Pt:Nt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=ct[t]))return e;if(t===`hasOwnProperty`)return _t}let o=Reflect.get(e,t,Yt(e)?e:n);if((_(t)?gt.has(t):ht(t))||(r||nt(e,`get`,t),i))return o;if(Yt(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Bt(e):e}return v(o)?r?Bt(o):Rt(o):o}},yt=class extends vt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Ut(i);if(!Wt(n)&&!Ut(n)&&(i=M(i),n=M(n)),!a&&Yt(i)&&!Yt(n))return e||(i.value=n),!0}let o=a?Number(t)e,Tt=e=>Reflect.getPrototypeOf(e);function Et(e,t,n){return function(...r){let i=this.__v_raw,a=M(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?wt:t?Jt:qt;return!t&&nt(a,`iterate`,l?et:$e),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Dt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ot(e,t){let n={get(n){let r=this.__v_raw,i=M(r),a=M(n);e||(k(n,a)&&nt(i,`get`,n),nt(i,`get`,a));let{has:o}=Tt(i),s=t?wt:e?Jt:qt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&nt(M(t),`iterate`,$e),t.size},has(t){let n=this.__v_raw,r=M(n),i=M(t);return e||(k(t,i)&&nt(r,`has`,t),nt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=M(a),s=t?wt:e?Jt:qt;return!e&&nt(o,`iterate`,$e),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Dt(`add`),set:Dt(`set`),delete:Dt(`delete`),clear:Dt(`clear`)}:{add(e){let n=M(this),r=Tt(n),i=M(e),a=!t&&!Wt(e)&&!Ut(e)?i:e;return r.has.call(n,a)||k(e,a)&&r.has.call(n,e)||k(i,a)&&r.has.call(n,i)||(n.add(a),rt(n,`add`,a,a)),this},set(e,n){!t&&!Wt(n)&&!Ut(n)&&(n=M(n));let r=M(this),{has:i,get:a}=Tt(r),o=i.call(r,e);o||=(e=M(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?k(n,s)&&rt(r,`set`,e,n,s):rt(r,`add`,e,n),this},delete(e){let t=M(this),{has:n,get:r}=Tt(t),i=n.call(t,e);i||=(e=M(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&rt(t,`delete`,e,void 0,a),o},clear(){let e=M(this),t=e.size!==0,n=e.clear();return t&&rt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Et(r,e,t)}),n}function kt(e,t){let n=Ot(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var At={get:kt(!1,!1)},jt={get:kt(!1,!0)},Mt={get:kt(!0,!1)},Nt=new WeakMap,Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap;function Lt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Rt(e){return Ut(e)?e:Vt(e,!1,xt,At,Nt)}function zt(e){return Vt(e,!1,Ct,jt,Pt)}function Bt(e){return Vt(e,!0,St,Mt,Ft)}function Vt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Lt(S(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function Wt(e){return!!(e&&e.__v_isShallow)}function Gt(e){return e?!!e.__v_raw:!1}function M(e){let t=e&&e.__v_raw;return t?M(t):e}function Kt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&ae(e,`__v_skip`,!0),e}var qt=e=>v(e)?Rt(e):e,Jt=e=>v(e)?Bt(e):e;function Yt(e){return e?e.__v_isRef===!0:!1}function N(e){return Xt(e,!1)}function P(e){return Xt(e,!0)}function Xt(e,t){return Yt(e)?e:new Zt(e,t)}var Zt=class{constructor(e,t){this.dep=new Xe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:M(e),this._value=t?e:qt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Wt(e)||Ut(e);e=n?e:M(e),k(e,t)&&(this._rawValue=e,this._value=n?e:qt(e),this.dep.trigger())}};function F(e){return Yt(e)?e.value:e}function Qt(e){return h(e)?e():F(e)}var $t={get:(e,t,n)=>t===`__v_raw`?e:F(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return Yt(i)&&!Yt(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function en(e){return Ht(e)?e:new Proxy(e,$t)}var tn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Xe,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function nn(e){return new tn(e)}function rn(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=sn(e,n);return t}var an=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=_(t)?t:String(t),this._raw=M(e);let r=!0,i=e;if(!d(e)||_(this._key)||!w(this._key))do r=!Gt(i)||Wt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=F(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Yt(this._raw[this._key])){let t=this._object[this._key];if(Yt(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return it(this._raw,this._key)}},on=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function I(e,t,n){return Yt(e)?e:h(e)?new on(e):v(e)&&arguments.length>1?sn(e,t,n):N(e)}function sn(e,t,n){return new an(e,t,n)}var cn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Xe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Je-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Oe!==this)return Pe(this,!0),!0}get value(){let e=this.dep.track();return Be(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function ln(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new cn(r,i,n)}var un={},dn=new WeakMap,fn=void 0;function pn(e,t=!1,n=fn){if(n){let t=dn.get(n);t||dn.set(n,t=[]),t.push(e)}}function mn(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:Wt(e)||o===!1||o===0?hn(e,1):hn(e),m,g,_,v,y=!1,b=!1;if(Yt(e)?(g=()=>e.value,y=Wt(e)):Ht(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Ht(e)||Wt(e)),g=()=>e.map(e=>{if(Yt(e))return e.value;if(Ht(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){Ge();try{_()}finally{Ke()}}let t=fn;fn=m;try{return f?f(e,3,[v]):e(v)}finally{fn=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>hn(e(),t)}let x=Ee(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(un):un,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>k(e,C[t])):k(e,C))){_&&_();let t=fn;fn=m;try{let t=[e,C===un?void 0:b&&C[0]===un?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{fn=t}}}else m.run()};return u&&u(w),m=new Ae(g),m.scheduler=l?()=>l(w,!1):w,v=e=>pn(e,!1,m),_=m.onStop=()=>{let e=dn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();dn.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function hn(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Yt(e))hn(e.value,t,n);else if(d(e))for(let r=0;r{hn(e,t,n)});else if(C(e)){for(let r in e)hn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&hn(e[r],t,n)}return e}function gn(e,t,n,r){try{return r?e(...r):e()}catch(e){vn(e,t,n)}}function _n(e,t,n,r){if(h(e)){let i=gn(e,t,n,r);return i&&y(i)&&i.catch(e=>{vn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=bn[r],a=Pn(i);a=Pn(n)?bn.push(e):bn.splice(On(t),0,e),e.flags|=1,An()}}function An(){En||=Tn.then(Fn)}function jn(e){d(e)?Sn.push(...e):Cn&&e.id===-1?Cn.splice(wn+1,0,e):e.flags&1||(Sn.push(e),e.flags|=1),An()}function Mn(e,t,n=xn+1){for(;nPn(e)-Pn(t));if(Sn.length=0,Cn){Cn.push(...e);return}for(Cn=e,wn=0;wne.id==null?e.flags&2?-1:1/0:e.id;function Fn(e){try{for(xn=0;xn{r._d&&Oa(-1);let i=Rn(t),a;try{a=e(...n)}finally{Rn(i),r._d&&Oa(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function zn(e,n){if(In===null)return e;let r=uo(In),i=e.dirs||=[];for(let e=0;e1)return n&&h(t)?t.call(r&&r.proxy):t}}function Hn(){return!!(Ya()||Ai)}var Un=Symbol.for(`v-scx`),Wn=()=>R(Un);function Gn(e,t){return qn(e,null,t)}function Kn(e,t){return qn(e,null,{flush:`sync`})}function z(e,t,n){return qn(e,t,n)}function qn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(to){if(c===`sync`){let e=Wn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=Ja;u.call=(e,t,n)=>_n(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{ca(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():kn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=mn(e,n,u);return to&&(f?f.push(h):d&&h()),h}function Jn(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Yn(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=Qa(this),s=qn(i,a.bind(r),n);return o(),s}function Yn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,$n=e=>e&&(e.disabled||e.disabled===``),er=e=>e&&(e.defer||e.defer===``),tr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,nr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,rr=(e,t)=>{let n=e&&e.to;return g(n)?t?t(n):null:n},ir={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=$n(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=$n(e.props),r=e.target=rr(e.props,m),a=lr(r,e,h,p);r&&(o!==`svg`&&tr(r)?o=`svg`:o!==`mathml`&&nr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),cr(e,!1)))},S=e=>{let t=()=>{Xn.get(e)===t&&(Xn.delete(e),$n(e.props)&&(b(e,_(e.el)||n,e.anchor),cr(e,!0)),x(e))};Xn.set(e,t),ca(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),er(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),cr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Xn.get(e);if(u){u.flags|=8,Xn.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=$n(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||tr(p)?o=`svg`:(o===`mathml`||nr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),ma(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ar(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=rr(t.props,m);e&&ar(t,e,null,l,0)}else g&&ar(t,p,h,l,1);cr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=a||!$n(f),m=Xn.get(e);if(m&&(m.flags|=8,Xn.delete(e)),d&&(i(l),i(u)),a&&i(c),!m&&o&16)for(let e=0;e{e.isMounted=!0}),Wr(()=>{e.isUnmounting=!0}),e}var pr=[Function,Array],mr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:pr,onEnter:pr,onAfterEnter:pr,onEnterCancelled:pr,onBeforeLeave:pr,onLeave:pr,onAfterLeave:pr,onLeaveCancelled:pr,onBeforeAppear:pr,onAppear:pr,onAfterAppear:pr,onAppearCancelled:pr},hr=e=>{let t=e.subTree;return t.component?hr(t.component):t},gr={name:`BaseTransition`,props:mr,setup(e,{slots:t}){let n=Ya(),r=fr();return()=>{let i=t.default&&wr(t.default(),!0),a=i&&i.length?_r(i):n.subTree?Ba():void 0;if(!a)return;let o=M(e),{mode:s}=o;if(r.isLeaving)return xr(a);let c=Sr(a);if(!c)return xr(a);let l=br(c,o,r,n,e=>l=e);c.type!==Sa&&Cr(c,l);let u=n.subTree&&Sr(n.subTree);if(u&&u.type!==Sa&&!Na(u,c)&&hr(n).type!==Sa){let e=br(u,o,r,n);if(Cr(u,e),s===`out-in`&&c.type!==Sa)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},xr(a);s===`in-out`&&c.type!==Sa?e.delayLeave=(e,t,n)=>{let i=yr(r,u);i[String(u.key)]=u,e[ur]=()=>{t(),e[ur]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function _r(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Sa){t=n;break}}return t}var vr=gr;function yr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function br(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=yr(n,e),C=(e,t)=>{e&&_n(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),d(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=_||c;else return;t[ur]&&t[ur](!0);let i=S[x];i&&Na(e,i)&&i.el[ur]&&i.el[ur](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=f;if(!n.isMounted)if(a)r=v||l,i=y||u,o=b||f;else return;let s=!1;t[dr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[dr]=void 0)};let c=t[dr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[dr]&&t[dr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[ur]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[ur]=void 0,S[i]===e&&delete S[i])};let o=t[ur].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=br(e,t,n,r,i);return i&&i(a),a}};return T}function xr(e){if(Nr(e))return e=Ra(e),e.children=null,e}function Sr(e){if(!Nr(e))return Qn(e.type)&&e.children?_r(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&h(n.default))return n.default()}}function Cr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Cr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eAr(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Mr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Ar(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?uo(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=M(v),b=v===t?i:e=>Or(_,e)?!1:u(y,e),x=(e,t)=>!(t&&Or(_,t));if(m!=null&&m!==p){if(jr(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(Yt(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))gn(p,f,12,[l,_]);else{let t=g(p),n=Yt(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),kr.delete(e)};t.id=-1,kr.set(e,t),ca(t,r)}else jr(e),i()}}}function jr(e){let t=kr.get(e);t&&(t.flags|=8,kr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var Mr=e=>!!e.type.__asyncLoader,Nr=e=>e.type.__isKeepAlive;function Pr(e,t){Ir(e,`a`,t)}function Fr(e,t){Ir(e,`da`,t)}function Ir(e,t,n=Ja){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Rr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Nr(e.parent.vnode)&&Lr(r,t,n,e),e=e.parent}}function Lr(e,t,n,r){let i=Rr(t,e,r,!0);Gr(()=>{c(r[t],i)},n)}function Rr(e,t,n=Ja,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ge();let i=Qa(n),a=_n(t,n,e,r);return i(),Ke(),a};return r?i.unshift(a):i.push(a),a}}var zr=e=>(t,n=Ja)=>{(!to||e===`sp`)&&Rr(e,(...e)=>t(...e),n)},Br=zr(`bm`),Vr=zr(`m`),Hr=zr(`bu`),Ur=zr(`u`),Wr=zr(`bum`),Gr=zr(`um`),Kr=zr(`sp`),qr=zr(`rtg`),Jr=zr(`rtc`);function Yr(e,t=Ja){Rr(`ec`,e,t)}var Xr=`components`;function Zr(e,t){return ei(Xr,e,!0,t)||e}var Qr=Symbol.for(`v-ndc`);function $r(e){return g(e)?ei(Xr,e,!1)||e:e||Qr}function ei(e,t,n=!0,r=!1){let i=In||Ja;if(i){let n=i.type;if(e===Xr){let e=fo(n,!1);if(e&&(e===t||e===D(t)||e===ne(D(t))))return n}let a=ti(i[e]||n[e],t)||ti(i.appContext[e],t);return!a&&r?n:a}}function ti(e,t){return e&&(e[t]||e[D(t)]||e[ne(D(t))])}function ni(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Ht(e),r=!1,s=!1;n&&(r=!Wt(e),s=Ut(e),e=ot(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function ii(e,t,n={},r,i){if(In.ce||In.parent&&Mr(In.parent)&&In.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),V(),ja(B,null,[U(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),V();let o=a&&ai(a(n)),s=n.key||o&&o.key,c=ja(B,{key:(s&&!_(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function ai(e){return e.some(e=>Ma(e)?!(e.type===Sa||e.type===B&&!ai(e.children)):!0)?e:null}var oi=e=>e?eo(e)?uo(e):oi(e.parent):null,si=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>oi(e.parent),$root:e=>oi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_i(e),$forceUpdate:e=>e.f||=()=>{kn(e.update)},$nextTick:e=>e.n||=Dn.bind(e.proxy),$watch:e=>Jn.bind(e)}),ci=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),li={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(ci(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else fi&&(s[n]=0)}let d=si[n],f,p;if(d)return n===`$attrs`&&nt(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return ci(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||ci(n,c)||u(o,c)||u(i,c)||u(si,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function ui(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function di(e,t){return!e||!t?e||t:d(e)&&d(t)?e.concat(t):s({},ui(e),ui(t))}var fi=!0;function pi(e){let t=_i(e),n=e.proxy,i=e.ctx;fi=!1,t.beforeCreate&&hi(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:E,renderTriggered:ee,errorCaptured:D,serverPrefetch:te,expose:O,inheritAttrs:ne,components:re,directives:k,filters:ie}=t;if(u&&mi(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=Rt(t))}if(fi=!0,o)for(let e in o){let t=o[e],a=G({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)gi(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Vn(t,e[t])})}f&&hi(f,e,`c`);function ae(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(ae(Br,p),ae(Vr,m),ae(Hr,g),ae(Ur,_),ae(Pr,y),ae(Fr,b),ae(Yr,D),ae(Jr,E),ae(qr,ee),ae(Wr,S),ae(Gr,w),ae(Kr,te),d(O))if(O.length){let t=e.exposed||={};O.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};T&&e.render===r&&(e.render=T),ne!=null&&(e.inheritAttrs=ne),re&&(e.components=re),k&&(e.directives=k),te&&Dr(e)}function mi(e,t,n=r){d(e)&&(e=Si(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?R(r.from||n,r.default,!0):R(r.from||n):R(r),Yt(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function hi(e,t,n){_n(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function gi(e,t,n,r){let i=r.includes(`.`)?Yn(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&z(i,n)}else if(h(e))z(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>gi(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&z(i,r,e)}}function _i(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>vi(c,e,o,!0)),vi(c,t,o)),v(t)&&a.set(t,c),c}function vi(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&vi(e,a,n,!0),i&&i.forEach(t=>vi(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=yi[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var yi={data:bi,props:Ti,emits:Ti,methods:wi,computed:wi,beforeCreate:Ci,created:Ci,beforeMount:Ci,mounted:Ci,beforeUpdate:Ci,updated:Ci,beforeDestroy:Ci,beforeUnmount:Ci,destroyed:Ci,unmounted:Ci,activated:Ci,deactivated:Ci,errorCaptured:Ci,serverPrefetch:Ci,components:wi,directives:wi,watch:Ei,provide:bi,inject:xi};function bi(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function xi(e,t){return wi(Si(e),Si(t))}function Si(e){if(d(e)){let t={};for(let n=0;n{let l,u=t,d;return Kn(()=>{let t=e[a];k(l,t)&&(l=t,c())}),{get(){return s(),r.get?r.get(l):l},set(e){let s=r.set?r.set(e):e;if(!k(s,l)&&!(u!==t&&k(e,u)))return;let f=i.vnode.props;f&&(n in f||a in f||o in f)&&(`onUpdate:${n}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f)||(l=e,c()),i.emit(`update:${n}`,s),k(e,s)&&k(e,u)&&!k(s,d)&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||t:c,done:!1}:{done:!0}}}},c}var Mi=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${D(t)}Modifiers`]||e[`${O(t)}Modifiers`];function Ni(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&Mi(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=re(n)]||i[c=re(D(n))];!l&&o&&(l=i[c=re(O(n))]),l&&_n(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,_n(u,e,6,a)}}var Pi=new WeakMap;function Fi(e,t,n=!1){let r=n?Pi:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=Fi(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function Ii(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,O(t))||u(e,t))}function Li(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Rn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Va(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Va(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Ri(c)}}catch(t){wa.length=0,vn(t,e,1),v=U(Sa)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=zi(y,a)),b=Ra(b,y,!1,!0))}return n.dirs&&(b=Ra(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Cr(b,n.transition),v=b,Rn(_),v}var Ri=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},zi=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Bi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Vi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Wi),Ki=e=>Object.getPrototypeOf(e)===Wi;function qi(e,t,n,r=!1){let i={},a=Gi();e.propsDefaults=Object.create(null),Yi(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:zt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Ji(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=M(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{p=!0;let[t,n]=Qi(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,ta=e=>d(e)?e.map(Va):[Va(e)],na=(e,t,n)=>{if(t._n)return t;let r=L((...e)=>ta(t(...e)),n);return r._c=!1,r},ra=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ea(n))continue;let i=e[n];if(h(i))t[n]=na(n,i,r);else if(i!=null){let e=ta(i);t[n]=()=>e}}},ia=(e,t)=>{let n=ta(t);e.slots.default=()=>n},aa=(e,t,n)=>{for(let r in t)(n||!ea(r))&&(e[r]=t[r])},oa=(e,t,n)=>{let r=e.slots=Gi();if(e.vnode.shapeFlag&32){let e=t._;e?(aa(r,t,n),n&&ae(r,`_`,e,!0)):ra(t,r)}else t&&ia(e,t)},sa=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:aa(a,n,r):(o=!n.$stable,ra(n,a)),s=n}else n&&(ia(e,n),s={default:1});if(o)for(let e in a)!ea(e)&&s[e]==null&&delete a[e]},ca=ba;function la(e){return ua(e)}function ua(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Na(e,t)&&(r=_e(e),pe(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case xa:y(e,t,n,r);break;case Sa:b(e,t,n,r);break;case Ca:e??x(t,n,r,o);break;case B:re(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?k(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,be)}u!=null&&i?Ar(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Ar(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)E(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),te(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},E=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&D(e.children,d,null,r,i,da(e,a),s,u),_&&Bn(e,null,r,`created`),ee(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!T(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Wa(f,r,e)}_&&Bn(e,null,r,`beforeMount`);let v=pa(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&ca(()=>{try{f&&Wa(f,r,e),v&&g.enter(d),_&&Bn(e,null,r,`mounted`)}finally{}},i)},ee=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&fa(r,!1),(g=h.onVnodeBeforeUpdate)&&Wa(g,r,n,e),f&&Bn(n,e,r,`beforeUpdate`),r&&fa(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?O(e.dynamicChildren,d,l,r,i,da(n,a),o):s||A(e,n,l,null,r,i,da(n,a),o,!1),u>0){if(u&16)ne(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t{g&&Wa(g,r,n,e),f&&Bn(n,e,r,`updated`)},i)},O=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!T(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(T(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},re=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),D(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(O(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&ma(e,t,!0)):A(e,t,n,f,i,a,s,c,l)},k=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):ae(t,n,r,i,a,o,c):oe(e,t,c)},ae=(e,t,n,r,i,a,o)=>{let s=e.component=qa(e,r,i);if(Nr(e)&&(s.ctx.renderer=be),no(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=U(Sa);b(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(Bi(e,t,n))if(r.asyncDep&&!r.asyncResolved){ce(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=ga(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{ca(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;fa(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&ie(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Wa(d,s,t,c),fa(e,!0);let f=Li(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),_e(p),e,i,a),t.el=f.el,u===null&&Ui(e,f.el),r&&ca(r,i),(d=t.props&&t.props.onVnodeUpdated)&&ca(()=>Wa(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Mr(t);if(fa(e,!1),l&&ie(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Wa(o,d,t),fa(e,!0),s&&Se){let t=()=>{e.subTree=Li(e),Se(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Li(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&ca(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;ca(()=>Wa(o,d,e),i)}(t.shapeFlag&256||d&&Mr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&ca(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Ae(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>kn(u),fa(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Ji(e,t.props,r,n),sa(e,t.children,n),Ge(),Mn(e),Ke()},A=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){de(l,d,n,r,i,a,o,s,c);return}else if(f&256){ue(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ge(l,i,a),d!==l&&p(n,d)):u&16?m&16?de(l,d,n,r,i,a,o,s,c):ge(l,i,a,!0):(u&8&&p(n,``),m&16&&D(d,n,r,i,a,o,s,c))},ue=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?ge(e,a,o,!0,!1,f):D(t,r,i,a,o,s,c,l,f)},de=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?Ha(t[u]):Va(t[u]);if(Na(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?Ha(t[p]):Va(t[p]);if(Na(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=ep)for(;u<=f;)pe(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ha(t[u]):Va(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){pe(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Na(n,t[_])){i=_;break}i===void 0?pe(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?ha(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){fe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,be);return}if(c===B){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[ur];a._isLeaving&&a[ur](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},pe=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ge(),Ar(s,null,n,e,!0),Ke()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Mr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Wa(_,t,e),u&6)he(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Bn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,be,r):l&&!l.hasOnce&&(a!==B||d>0&&d&64)?ge(l,t,n,!1,!0):(a===B&&d&384||!i&&u&16)&&ge(c,t,n),r&&j(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&ca(()=>{_&&Wa(_,t,e),h&&Bn(e,null,t,`unmounted`),v&&(e.el=null)},n)},j=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===B){me(n,r);return}if(t===Ca){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},me=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},he=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;_a(c),_a(l),r&&ie(r),i.stop(),a&&(a.flags|=8,pe(o,e,t,n)),s&&ca(s,t),ca(()=>{e.isUnmounted=!0},t)},ge=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return _e(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Zn];return n?h(n):t},ve=!1,ye=(e,t,n)=>{let r;e==null?t._vnode&&(pe(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ve||=(ve=!0,Mn(r),Nn(),!1)},be={p:v,um:pe,m:fe,r:j,mt:ae,mc:D,pc:A,pbc:O,n:_e,o:e},xe,Se;return i&&([xe,Se]=i(be)),{render:ye,hydrate:xe,createApp:ki(ye,xe)}}function da({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function fa({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pa(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ma(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function ga(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ga(t)}function _a(e){if(e)for(let t=0;te.__isSuspense;function ba(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):jn(e)}var B=Symbol.for(`v-fgt`),xa=Symbol.for(`v-txt`),Sa=Symbol.for(`v-cmt`),Ca=Symbol.for(`v-stc`),wa=[],Ta=null;function V(e=!1){wa.push(Ta=e?null:[])}function Ea(){wa.pop(),Ta=wa[wa.length-1]||null}var Da=1;function Oa(e,t=!1){Da+=e,e<0&&Ta&&t&&(Ta.hasOnce=!0)}function ka(e){return e.dynamicChildren=Da>0?Ta||n:null,Ea(),Da>0&&Ta&&Ta.push(e),e}function Aa(e,t,n,r,i,a){return ka(H(e,t,n,r,i,a,!0))}function ja(e,t,n,r,i){return ka(U(e,t,n,r,i,!0))}function Ma(e){return e?e.__v_isVNode===!0:!1}function Na(e,t){return e.type===t.type&&e.key===t.key}var Pa=({key:e})=>e??null,Fa=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||Yt(e)||h(e)?{i:In,r:e,k:t,f:!!n}:e);function H(e,t=null,n=null,r=0,i=null,a=e===B?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pa(t),ref:t&&Fa(t),scopeId:Ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:In};return s?(Ua(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),Da>0&&!o&&Ta&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Ta.push(c),c}var U=Ia;function Ia(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===Qr)&&(e=Sa),Ma(e)){let r=Ra(e,t,!0);return n&&Ua(r,n),Da>0&&!a&&Ta&&(r.shapeFlag&6?Ta[Ta.indexOf(e)]=r:Ta.push(r)),r.patchFlag=-2,r}if(po(e)&&(e=e.__vccOpts),t){t=La(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=j(e)),v(n)&&(Gt(n)&&!d(n)&&(n=s({},n)),t.style=A(n))}let o=g(e)?1:ya(e)?128:Qn(e)?64:v(e)?4:h(e)?2:0;return H(e,t,n,r,i,o,a,!0)}function La(e){return e?Gt(e)||Ki(e)?s({},e):e:null}function Ra(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?W(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Pa(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Fa(t)):[a,Fa(t)]:Fa(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==B?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ra(e.ssContent),ssFallback:e.ssFallback&&Ra(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Cr(u,c.clone(u)),u}function za(e=` `,t=0){return U(xa,null,e,t)}function Ba(e=``,t=!1){return t?(V(),ja(Sa,null,e)):U(Sa,null,e)}function Va(e){return e==null||typeof e==`boolean`?U(Sa):d(e)?U(B,null,e.slice()):Ma(e)?Ha(e):U(xa,null,String(e))}function Ha(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ra(e)}function Ua(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Ua(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Ki(t)?t._ctx=In:r===3&&In&&(In.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:In},n=32):(t=String(t),r&64?(n=16,t=[za(t)]):n=8);e.children=t,e.shapeFlag|=n}function W(...e){let t={};for(let n=0;nJa||In,Xa,Za;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Xa=t(`__VUE_INSTANCE_SETTERS__`,e=>Ja=e),Za=t(`__VUE_SSR_SETTERS__`,e=>to=e)}var Qa=e=>{let t=Ja;return Xa(e),e.scope.on(),()=>{e.scope.off(),Xa(t)}},$a=()=>{Ja&&Ja.scope.off(),Xa(null)};function eo(e){return e.vnode.shapeFlag&4}var to=!1;function no(e,t=!1,n=!1){t&&Za(t);let{props:r,children:i}=e.vnode,a=eo(e);qi(e,r,a,t),oa(e,i,n||t);let o=a?ro(e,t):void 0;return t&&Za(!1),o}function ro(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,li);let{setup:r}=n;if(r){Ge();let n=e.setupContext=r.length>1?lo(e):null,i=Qa(e),a=gn(r,e,0,[e.props,n]),o=y(a);if(Ke(),i(),(o||e.sp)&&!Mr(e)&&Dr(e),o){if(a.then($a,$a),t)return a.then(n=>{io(e,n,t)}).catch(t=>{vn(t,e,0)});e.asyncDep=a}else io(e,a,t)}else so(e,t)}function io(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=en(t)),so(e,n)}var ao,oo;function so(e,t,n){let i=e.type;if(!e.render){if(!t&&ao&&!i.render){let t=i.template||_i(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=ao(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,oo&&oo(e)}{let t=Qa(e);Ge();try{pi(e)}finally{Ke(),t()}}}var co={get(e,t){return nt(e,`get`,``),e[t]}};function lo(e){return{attrs:new Proxy(e.attrs,co),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function uo(e){return e.exposed?e.exposeProxy||=new Proxy(en(Kt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in si)return si[n](e)},has(e,t){return t in e||t in si}}):e.proxy}function fo(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function po(e){return h(e)&&`__vccOpts`in e}var G=(e,t)=>ln(e,t,to);function mo(e,t,n){try{Oa(-1);let r=arguments.length;return r===2?v(t)&&!d(t)?Ma(t)?U(e,null,[t]):U(e,t):U(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ma(n)&&(n=[n]),U(e,t,n))}finally{Oa(1)}}var ho=`3.5.35`,go=r,_o=void 0,vo=typeof window<`u`&&window.trustedTypes;if(vo)try{_o=vo.createPolicy(`vue`,{createHTML:e=>e})}catch{}var yo=_o?e=>_o.createHTML(e):e=>e,bo=`http://www.w3.org/2000/svg`,xo=`http://www.w3.org/1998/Math/MathML`,So=typeof document<`u`?document:null,Co=So&&So.createElement(`template`),wo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?So.createElementNS(bo,e):t===`mathml`?So.createElementNS(xo,e):n?So.createElement(e,{is:n}):So.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>So.createTextNode(e),createComment:e=>So.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>So.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Co.innerHTML=yo(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Co.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},To=`transition`,Eo=`animation`,Do=Symbol(`_vtc`),Oo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ko=s({},mr,Oo),Ao=(e=>(e.displayName=`Transition`,e.props=ko,e))((e,{slots:t})=>mo(vr,No(e),t)),jo=(e,t=[])=>{d(e)?e.forEach(e=>e(...t)):e&&e(...t)},Mo=e=>e?d(e)?e.some(e=>e.length>1):e.length>1:!1;function No(e){let t={};for(let n in e)n in Oo||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=Po(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Lo(e,t?d:c),Lo(e,t?u:o),n&&n()},ee=(e,t)=>{e._isLeaving=!1,Lo(e,f),Lo(e,m),Lo(e,p),t&&t()},D=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);jo(i,[t,o]),Ro(()=>{Lo(t,e?l:a),Io(t,e?d:c),Mo(i)||Bo(t,r,g,o)})};return s(t,{onBeforeEnter(e){jo(v,[e]),Io(e,a),Io(e,o)},onBeforeAppear(e){jo(C,[e]),Io(e,l),Io(e,u)},onEnter:D(!1),onAppear:D(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>ee(e,t);Io(e,f),e._enterCancelled?(Io(e,p),Wo(e)):(Wo(e),Io(e,p)),Ro(()=>{e._isLeaving&&(Lo(e,f),Io(e,m),Mo(x)||Bo(e,r,_,n))}),jo(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),jo(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),jo(T,[e])},onLeaveCancelled(e){ee(e),jo(S,[e])}})}function Po(e){if(e==null)return null;if(v(e))return[Fo(e.enter),Fo(e.leave)];{let t=Fo(e);return[t,t]}}function Fo(e){return se(e)}function Io(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Do]||(e[Do]=new Set)).add(t)}function Lo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Do];n&&(n.delete(t),n.size||(e[Do]=void 0))}function Ro(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var zo=0;function Bo(e,t,n,r){let i=e._endId=++zo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Vo(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${To}Delay`),a=r(`${To}Duration`),o=Ho(i,a),s=r(`${Eo}Delay`),c=r(`${Eo}Duration`),l=Ho(s,c),u=null,d=0,f=0;t===To?o>0&&(u=To,d=o,f=a.length):t===Eo?l>0&&(u=Eo,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?To:Eo:null,f=u?u===To?a.length:c.length:0);let p=u===To&&/\b(?:transform|all)(?:,|$)/.test(r(`${To}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Ho(e,t){for(;e.lengthUo(t)+Uo(e[n])))}function Uo(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Wo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Go(e,t,n){let r=e[Do];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ko=Symbol(`_vod`),qo=Symbol(`_vsh`),Jo={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Ko]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Yo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Yo(e,!0),r.enter(e)):r.leave(e,()=>{Yo(e,!1)}):Yo(e,t))},beforeUnmount(e,{value:t}){Yo(e,t)}};function Yo(e,t){e.style.display=t?e[Ko]:`none`,e[qo]=!t}var Xo=Symbol(``),Zo=/(?:^|;)\s*display\s*:/;function Qo(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??es(r,t,``)}else for(let e in t)n[e]??es(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?es(r,i,``):is(e,i,!g(t)&&t?t[i]:void 0,o)||es(r,i,o)}}else if(i){if(t!==n){let e=r[Xo];e&&(n+=`;`+e),r.cssText=n,a=Zo.test(n)}}else t&&e.removeAttribute(`style`);Ko in e&&(e[Ko]=a?r.display:``,e[qo]&&(r.display=`none`))}var $o=/\s*!important$/;function es(e,t,n){if(d(n))n.forEach(n=>es(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=rs(e,t);$o.test(n)?e.setProperty(O(r),n.replace($o,``),`important`):e[r]=n}}var ts=[`Webkit`,`Moz`,`ms`],ns={};function rs(e,t){let n=ns[t];if(n)return n;let r=D(t);if(r!==`filter`&&r in e)return ns[t]=r;r=ne(r);for(let n=0;nms||=(hs.then(()=>ms=0),Date.now());function _s(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ys=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?Go(e,r,c):t===`style`?Qo(e,n,r):a(t)?o(t)||ds(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):bs(e,t,r,c))?(ss(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&os(e,t,r,c,s,t!==`value`)):e._isVueCE&&(xs(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?ss(e,D(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),os(e,t,r,c))};function bs(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&vs(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return vs(t)&&g(n)?!1:t in e}function xs(e,t){let n=e._def.props;if(!n)return!1;let r=D(t);return Array.isArray(n)?n.some(e=>D(e)===r):Object.keys(n).some(e=>D(e)===r)}var Ss=new WeakMap,Cs=new WeakMap,ws=Symbol(`_moveCb`),Ts=Symbol(`_enterCb`),Es=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:s({},ko,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Ya(),r=fr(),i,a;return Ur(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!js(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Ds),i.forEach(Os);let r=i.filter(ks);Wo(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Io(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[ws]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[ws]=null,Lo(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=M(e),s=No(o),c=o.tag||B;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Vo(r);return a.removeChild(r),o}var Ms=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>ie(t,e):t};function Ns(e){e.target.composing=!0}function Ps(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Fs=Symbol(`_assign`);function Is(e,t,n){return t&&(e=e.trim()),n&&(e=oe(e)),e}var Ls={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Fs]=Ms(i);let a=r||i.props&&i.props.type===`number`;cs(e,t?`change`:`input`,t=>{t.target.composing||e[Fs](Is(e.value,n,a))}),(n||a)&&cs(e,`change`,()=>{e.value=Is(e.value,n,a)}),t||(cs(e,`compositionstart`,Ns),cs(e,`compositionend`,Ps),cs(e,`change`,Ps))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Fs]=Ms(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?oe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Rs=[`ctrl`,`shift`,`alt`,`meta`],zs={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Rs.some(n=>e[`${n}Key`]&&!t.includes(n))},Bs=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=O(n.key);if(t.some(e=>e===r||Vs[e]===r))return e(n)}))},Us=s({patchProp:ys},wo),Ws;function Gs(){return Ws||=la(Us)}var Ks=((...e)=>{let t=Gs().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Js(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,qs(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function qs(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Js(e){return g(e)?document.querySelector(e):e}function Ys(e){go(`Vuetify: ${e}`)}function Xs(e){go(`Vuetify error: ${e}`)}function Zs(e,t){t=Array.isArray(t)?t.slice(0,-1).map(e=>`'${e}'`).join(`, `)+` or '${t.at(-1)}'`:`'${t}'`,go(`[Vuetify UPGRADE] '${e}' is deprecated, use ${t} instead.`)}var K=typeof window<`u`,Qs=K&&`IntersectionObserver`in window,$s=K&&(`ontouchstart`in window||window.navigator.maxTouchPoints>0);K&&`EyeDropper`in window;var ec=K&&`matchMedia`in window&&typeof window.matchMedia==`function`,tc=()=>ec&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;function nc(e,t,n){let r=t.length-1;if(r<0)return e===void 0?n:e;for(let i=0;it+n)}function q(e,t=`px`){if(e==null||e===``)return;let n=Number(e);if(isNaN(n))return String(e);if(isFinite(n))return`${n}${t}`}function oc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function sc(e){let t;return typeof e==`object`&&!!e&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function cc(e){if(e&&`$el`in e){let t=e.$el;return t?.nodeType===Node.TEXT_NODE?t.nextElementSibling:t}return e}Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16});var lc=Object.freeze({enter:`Enter`,tab:`Tab`,delete:`Delete`,esc:`Escape`,space:`Space`,up:`ArrowUp`,down:`ArrowDown`,left:`ArrowLeft`,right:`ArrowRight`,end:`End`,home:`Home`,del:`Delete`,backspace:`Backspace`,insert:`Insert`,pageup:`PageUp`,pagedown:`PageDown`,shift:`Shift`});function uc(e){return Object.keys(e)}function dc(e,t){return t.every(t=>e.hasOwnProperty(t))}function fc(e,t){let n={};for(let r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function pc(e,t,n){let r=Object.create(null),i=Object.create(null);for(let a in e)t.some(e=>e instanceof RegExp?e.test(a):e===a)&&!n?.some(e=>e===a)?r[a]=e[a]:i[a]=e[a];return[r,i]}function mc(e,t){let n={...e};return t.forEach(e=>delete n[e]),n}var hc=/^on[^a-z]/,gc=e=>hc.test(e),_c=`onAfterscriptexecute.onAnimationcancel.onAnimationend.onAnimationiteration.onAnimationstart.onAuxclick.onBeforeinput.onBeforescriptexecute.onChange.onClick.onCompositionend.onCompositionstart.onCompositionupdate.onContextmenu.onCopy.onCut.onDblclick.onFocusin.onFocusout.onFullscreenchange.onFullscreenerror.onGesturechange.onGestureend.onGesturestart.onGotpointercapture.onInput.onKeydown.onKeypress.onKeyup.onLostpointercapture.onMousedown.onMousemove.onMouseout.onMouseover.onMouseup.onMousewheel.onPaste.onPointercancel.onPointerdown.onPointerenter.onPointerleave.onPointermove.onPointerout.onPointerover.onPointerup.onReset.onSelect.onSubmit.onTouchcancel.onTouchend.onTouchmove.onTouchstart.onTransitioncancel.onTransitionend.onTransitionrun.onTransitionstart.onWheel`.split(`.`),vc=[`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`,`Enter`,`Escape`,`Tab`,` `];function yc(e){return e.isComposing&&vc.includes(e.key)}function bc(e){let[t,n]=pc(e,[hc]),r=mc(t,_c),[i,a]=pc(n,[`class`,`style`,`id`,`inert`,/^data-/]);return Object.assign(i,t),Object.assign(a,r),[i,a]}function xc(e){return e==null?[]:Array.isArray(e)?e:[e]}function Sc(e,t){let n=0,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),F(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function Cc(e,t=0,n=1){return Math.max(t,Math.min(n,e))}function wc(e,t,n=`0`){return e+n.repeat(Math.max(0,t-e.length))}function Tc(e,t,n=`0`){return n.repeat(Math.max(0,t-e.length))+e}function Ec(e,t=1){let n=[],r=0;for(;r=t&&re.type===B?kc(e.children):e).flat()}function Ac(e=``){if(Ac.cache.has(e))return Ac.cache.get(e);let t=e.replace(/[^a-z]/gi,`-`).replace(/\B([A-Z])/g,`-$1`).toLowerCase();return Ac.cache.set(e,t),t}Ac.cache=new Map;function jc(e,t){if(!t||typeof t!=`object`)return[];if(Array.isArray(t))return t.map(t=>jc(e,t)).flat(1);if(t.suspense)return jc(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(t=>jc(e,t)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return jc(e,t.component.subTree).flat(1)}return[]}var Mc=class{#e=[];#t=0;constructor(e){this.size=e}get isFull(){return this.#e.length===this.size}push(e){this.#e[this.#t]=e,this.#t=(this.#t+1)%this.size}values(){return this.#e.slice(this.#t).concat(this.#e.slice(0,this.#t))}clear(){this.#e.length=0,this.#t=0}};function Nc(e){let t=Rt({});Gn(()=>{let n=e();for(let e in n)t[e]=n[e]},{flush:`sync`});let n={};for(let e in t)n[e]=I(()=>t[e]);return n}function Pc(e,t){return e.includes(t)}function Fc(e){return e[2].toLowerCase()+e.slice(3)}var Ic=()=>[Function,Array];function Lc(e,t){return t=`on`+ne(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function Rc(e,...t){if(Array.isArray(e))for(let n of e)n(...t);else typeof e==`function`&&e(...t)}function zc(e,t=!0){let n=[`button`,`[href]`,`input:not([type="hidden"])`,`select`,`textarea`,`details:not(:has(> summary))`,`details > summary`,`[tabindex]`,`[contenteditable]:not([contenteditable="false"])`,`audio[controls]`,`video[controls]`].map(e=>`${e}${t?`:not([tabindex="-1"])`:``}:not([disabled], [inert])`).join(`, `),r;try{r=[...e.querySelectorAll(n)]}catch(e){return Xs(String(e)),[]}return r.filter(e=>!e.closest(`[inert]`)).filter(e=>!!e.offsetParent||e.getClientRects().length>0).filter(e=>!e.parentElement?.closest(`details:not([open])`)||e.tagName===`SUMMARY`&&e.parentElement?.tagName===`DETAILS`)}function Bc(e,t,n){let r,i=e.indexOf(document.activeElement),a=t===`next`?1:-1;do i+=a,r=e[i];while((!r||r.offsetParent==null||!(n?.(r)??!0))&&i=0);return r}function Vc(e,t,n){let r=zc(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&r[0]?.focus(n);else if(t===`first`)r[0]?.focus(n);else if(t===`last`)r.at(-1)?.focus(n);else if(typeof t==`number`)r[t]?.focus(n);else{let i=Bc(r,t);i?i.focus():Vc(e,t===`next`?`first`:`last`,n)}}function Hc(e){return e==null||typeof e==`string`&&e.trim()===``}function Uc(){}function Wc(e,t){if(!(K&&typeof CSS<`u`&&CSS.supports!==void 0&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Gc(e){return e.some(e=>Ma(e)?e.type===Sa?!1:e.type!==B||Gc(e.children):!0)?e:null}function Kc(e,t){if(!K||e===0)return t(),()=>{};let n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function qc(e,t){let n=e.clientX,r=e.clientY,i=t.getBoundingClientRect(),a=i.left,o=i.top,s=i.right,c=i.bottom;return n>=a&&n<=s&&r>=o&&r<=c}function Jc(){let e=P(),t=t=>{e.value=t};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:t=>e.value=t}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>cc(e.value)}),t}function Yc(e){let t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function Xc(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`}function Zc(e){return`\\^$*+?.()|{}[]`.includes(e)?`\\${e}`:e}function Qc(e){let t={};for(let n in e)t[D(n)]=e[n];return t}function $c(e){let t=[`checked`,`disabled`];return Object.fromEntries(Object.entries(e).filter(([e,n])=>t.includes(e)?!!n:n!==void 0))}var el=[`top`,`bottom`],tl=[`start`,`end`,`left`,`right`];function nl(e,t){let[n,r]=e.split(` `);return r||=Pc(el,n)?`start`:Pc(tl,n)?`top`:`center`,{side:rl(n,t),align:rl(r,t)}}function rl(e,t){return e===`start`?t?`right`:`left`:e===`end`?t?`left`:`right`:e}function il(e){return{side:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[e.side],align:e.align}}function al(e){return{side:e.side,align:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[e.align]}}function ol(e){return{side:e.align,align:e.side}}function sl(e){return Pc(el,e.side)?`y`:`x`}var cl=class{constructor(e){let t=document.body.currentCSSZoom??1,n=e instanceof Element,r=n?1+(1-t)/t:1,{x:i,y:a,width:o,height:s}=n?e.getBoundingClientRect():e;this.x=i*r,this.y=a*r,this.width=o*r,this.height=s*r}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}};function ll(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function ul(e){if(Array.isArray(e)){let t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new cl({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new cl(e)}function dl(e){if(e===document.documentElement)if(visualViewport){let e=document.body.currentCSSZoom??1;return new cl({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/e,height:visualViewport.height*visualViewport.scale/e})}else return new cl({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new cl(e)}function fl(e){let t=new cl(e),n=getComputedStyle(e),r=n.transform;if(r){let i,a,o,s,c;if(r.startsWith(`matrix3d(`))i=r.slice(9,-1).split(/, /),a=Number(i[0]),o=Number(i[5]),s=Number(i[12]),c=Number(i[13]);else if(r.startsWith(`matrix(`))i=r.slice(7,-1).split(/, /),a=Number(i[0]),o=Number(i[3]),s=Number(i[4]),c=Number(i[5]);else return new cl(t);let l=n.transformOrigin;return new cl({x:t.x-s-(1-a)*parseFloat(l),y:t.y-c-(1-o)*parseFloat(l.slice(l.indexOf(` `)+1)),width:a?t.width/a:e.offsetWidth+1,height:o?t.height/o:e.offsetHeight+1})}else return new cl(t)}function pl(e,t,n){if(e.animate===void 0)return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return r.finished===void 0&&(r.finished=new Promise(e=>{r.onfinish=()=>{e(r)}})),r}var ml=new WeakMap;function hl(e,t){Object.keys(t).forEach(n=>{if(gc(n)){let r=Fc(n),i=ml.get(e);if(t[n]==null)i?.forEach(t=>{let[n,a]=t;n===r&&(e.removeEventListener(r,a),i.delete(t))});else if(!i||![...i].some(e=>e[0]===r&&e[1]===t[n])){e.addEventListener(r,t[n]);let a=i||new Set;a.add([r,t[n]]),ml.has(e)||ml.set(e,a)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function gl(e,t){Object.keys(t).forEach(t=>{if(gc(t)){let n=Fc(t),r=ml.get(e);r?.forEach(t=>{let[i,a]=t;i===n&&(e.removeEventListener(n,a),r.delete(t))})}else e.removeAttribute(t)})}var _l=2.4,vl=.2126729,yl=.7151522,bl=.072175,xl=.55,Sl=.58,Cl=.57,wl=.62,Tl=.03,El=1.45,Dl=5e-4,Ol=1.25,kl=1.25,Al=.078,jl=12.82051282051282,Ml=.06,Nl=.001;function Pl(e,t){let n=(e.r/255)**_l,r=(e.g/255)**_l,i=(e.b/255)**_l,a=(t.r/255)**_l,o=(t.g/255)**_l,s=(t.b/255)**_l,c=n*vl+r*yl+i*bl,l=a*vl+o*yl+s*bl;if(c<=Tl&&(c+=(Tl-c)**El),l<=Tl&&(l+=(Tl-l)**El),Math.abs(l-c)c){let e=(l**xl-c**Sl)*Ol;u=e-.001?0:e>-.078?e-e*jl*Ml:e+Ml}return u*100}var Fl=.20689655172413793,Il=e=>e>Fl**3?Math.cbrt(e):e/(3*Fl**2)+4/29,Ll=e=>e>Fl?e**3:3*Fl**2*(e-4/29);function Rl(e){let t=Il,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function zl(e){let t=Ll,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}var Bl=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Vl=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,Hl=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],Ul=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Wl(e){let t=[,,,],n=Vl,r=Bl;for(let i=0;i<3;++i)t[i]=Math.round(Cc(n(r[i][0]*e[0]+r[i][1]*e[1]+r[i][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function Gl({r:e,g:t,b:n}){let r=[0,0,0],i=Ul,a=Hl;e=i(e/255),t=i(t/255),n=i(n/255);for(let i=0;i<3;++i)r[i]=a[i][0]*e+a[i][1]*t+a[i][2]*n;return r}function Kl(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function ql(e){return Kl(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}var Jl=/^(?(?:rgb|hsl)a?)\((?.+)\)/,Yl={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>Ql({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>Ql({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>Zl({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>Zl({h:e,s:t,v:n,a:r})};function Xl(e){if(typeof e==`number`)return(isNaN(e)||e<0||e>16777215)&&Ys(`'${e}' is not a valid hex color`),{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e==`string`&&Jl.test(e)){let{groups:t}=e.match(Jl),{fn:n,values:r}=t,i=r.split(/,\s*|\s*\/\s*|\s+/).map((e,t)=>e.endsWith(`%`)||t>0&&t<3&&[`hsl`,`hsla`,`hsv`,`hsva`].includes(n)?parseFloat(e)/100:parseFloat(e));return Yl[n](...i)}else if(typeof e==`string`){let t=e.startsWith(`#`)?e.slice(1):e;[3,4].includes(t.length)?t=t.split(``).map(e=>e+e).join(``):[6,8].includes(t.length)||Ys(`'${e}' is not a valid hex(a) color`);let n=parseInt(t,16);return(isNaN(n)||n<0||n>4294967295)&&Ys(`'${e}' is not a valid hex(a) color`),nu(t)}else if(typeof e==`object`){if(dc(e,[`r`,`g`,`b`]))return e;if(dc(e,[`h`,`s`,`l`]))return Zl($l(e));if(dc(e,[`h`,`s`,`v`]))return Zl(e)}throw TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function Zl(e){let{h:t,s:n,v:r,a:i}=e,a=e=>{let i=(e+t/60)%6;return r-r*n*Math.max(Math.min(i,4-i,1),0)},o=[a(5),a(3),a(1)].map(e=>Math.round(e*255));return{r:o[0],g:o[1],b:o[2],a:i}}function Ql(e){return Zl($l(e))}function $l(e){let{h:t,s:n,l:r,a:i}=e,a=r+n*Math.min(r,1-r);return{h:t,s:a===0?0:2-2*r/a,v:a,a:i}}function eu(e){let t=Math.round(e).toString(16);return(`00`.substr(0,2-t.length)+t).toUpperCase()}function tu({r:e,g:t,b:n,a:r}){return`#${[eu(e),eu(t),eu(n),r===void 0?``:eu(Math.round(r*255))].join(``)}`}function nu(e){e=ru(e);let[t,n,r,i]=Ec(e,2).map(e=>parseInt(e,16));return i=i===void 0?i:i/255,{r:t,g:n,b:r,a:i}}function ru(e){return e.startsWith(`#`)&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,`F`),(e.length===3||e.length===4)&&(e=e.split(``).map(e=>e+e).join(``)),e.length!==6&&(e=wc(wc(e,6),8,`F`)),e}function iu(e,t){let n=Rl(Gl(e));return n[0]+=t*10,Wl(zl(n))}function au(e,t){let n=Rl(Gl(e));return n[0]-=t*10,Wl(zl(n))}function ou(e){return Gl(Xl(e))[1]}function su(e){let t=Math.abs(Pl(Xl(0),Xl(e)));return Math.abs(Pl(Xl(16777215),Xl(e)))>Math.min(t,50)}function J(e,t){return n=>Object.keys(e).reduce((r,i)=>{let a=typeof e[i]==`object`&&e[i]!=null&&!Array.isArray(e[i])?e[i]:{type:e[i]};return n&&i in n?r[i]={...a,default:n[i]}:r[i]=a,t&&!r[i].source&&(r[i].source=t),r},{})}var Y=J({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},`component`);function cu(e,t){let n=Ya();if(!n)throw Error(`[Vuetify] ${e} ${t||`must be called from inside a setup function`}`);return n}function lu(e=`composables`){let t=cu(e).type;return Ac(t?.aliasName||t?.name)}function uu(e,t=cu(`injectSelf`)){let{provides:n}=t;if(n&&e in n)return n[e]}var du=Symbol.for(`vuetify:defaults`);function fu(e){return N(e)}function pu(){let e=R(du);if(!e)throw Error(`[Vuetify] Could not find defaults instance`);return e}function mu(e,t){let n=pu(),r=N(e),i=G(()=>{if(F(t?.disabled))return n.value;let e=F(t?.scoped),i=F(t?.reset),a=F(t?.root);if(r.value==null&&!(e||i||a))return n.value;let o=Oc(r.value,{prev:n.value});if(e)return o;if(i||a){let e=Number(i||1/0);for(let t=0;t<=e&&!(!o||!(`prev`in o));t++)o=o.prev;return o&&typeof a==`string`&&a in o&&(o=Oc(Oc(o,{prev:o}),o[a])),o}return o.prev?Oc(o.prev,o,void 0,(e,t)=>t!==void 0):o});return Vn(du,i),i}function hu(e,t){return e.props&&(e.props[t]!==void 0||e.props[Ac(t)]!==void 0)}function gu(e={},t,n=pu()){let r=cu(`useDefaults`);if(t=t??r.type.name??r.type.__name,!t)throw Error(`[Vuetify] Could not determine component name`);let i=G(()=>n.value?.[e._as??t]),a=new Proxy(e,{get(e,t){let a=Reflect.get(e,t);if(t===`class`||t===`style`)return[i.value?.[t],a].filter(e=>e!=null);if(hu(r.vnode,t))return a;let o=i.value?.[t];if(o!==void 0)return o;let s=n.value?.global?.[t];return s===void 0?a:s}}),o=P();Gn(()=>{if(i.value){let e=Object.entries(i.value).filter(([e])=>e.startsWith(e[0].toUpperCase()));o.value=e.length?Object.fromEntries(e):void 0}else o.value=void 0});function s(){let e=uu(du,r);Vn(du,G(()=>o.value?Oc(e?.value??{},o.value):e?.value))}return{props:a,provideSubDefaults:s}}function _u(e){if(e._setup=e._setup??e.setup,!e.name)return Ys(`The component is missing an explicit name, unable to generate default prop value`),e;if(e._setup){e.props=J(e.props??{},e.name)();let t=Object.keys(e.props).filter(e=>e!==`class`&&e!==`style`);e.filterProps=function(e){return fc(e,t)},e.props._as=String,e.setup=function(t,n){let r=pu();if(!r.value)return e._setup(t,n);let{props:i,provideSubDefaults:a}=gu(t,t._as??e.name,r),o=e._setup(i,n);return a(),o}}return e}function X(e=!0){return t=>(e?_u:Tr)(t)}function vu(e,t){return t.props=e,t}function yu(e,t=`div`,n){return X()({name:n??ne(D(e.replace(/__/g,`-`))),props:{tag:{type:String,default:t},...Y()},setup(t,{slots:n}){return()=>mo(t.tag,{class:[e,t.class],style:t.style},n.default?.())}})}function bu(e,t,n,r){if(!n||Xc(e)||Xc(t))return;let i=n.get(e);if(i)i.set(t,r);else{let i=new WeakMap;i.set(t,r),n.set(e,i)}}function xu(e,t,n){if(!n||Xc(e)||Xc(t))return null;let r=n.get(e)?.get(t);if(typeof r==`boolean`)return r;let i=n.get(t)?.get(e);return typeof i==`boolean`?i:null}function Su(e,t,n=new WeakMap){if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;let r=Object.keys(e);return r.length===Object.keys(t).length?xu(e,t,n)||(bu(e,t,n,!0),r.every(r=>Su(e[r],t[r],n))):!1}function Cu(e){if(typeof e.getRootNode!=`function`){for(;e.parentNode;)e=e.parentNode;return e===document?document:null}let t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}var wu=`cubic-bezier(0.4, 0, 0.2, 1)`,Tu=`cubic-bezier(0.0, 0, 0.2, 1)`,Eu=`cubic-bezier(0.4, 0, 1, 1)`,Du={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function Ou(e,t=!1){for(;e;){if(t?ju(e):Au(e))return e;e=e.parentElement}return document.scrollingElement}function ku(e,t){let n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(Au(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function Au(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=window.getComputedStyle(e),n=t.overflowY===`scroll`||t.overflowY===`auto`&&e.scrollHeight>e.clientHeight,r=t.overflowX===`scroll`||t.overflowX===`auto`&&e.scrollWidth>e.clientWidth;return n||r}function ju(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=window.getComputedStyle(e);return[`scroll`,`auto`].includes(t.overflowY)}function Mu(e){for(;e;){if(window.getComputedStyle(e).position===`fixed`)return!0;e=e.offsetParent}return!1}function Z(e){let t=cu(`useRender`);t.render=e}function Nu(e,t,n={leading:!0,trailing:!0}){let r=0,i=0,a=!1,o=0;function s(){clearTimeout(r),a=!1,o=0}let c=(...c)=>{clearTimeout(r);let l=Date.now();o||=l;let u=l-Math.max(o,i);function d(){i=Date.now(),r=setTimeout(s,t),e(...c)}a?u>=t?d():n.trailing&&(r=setTimeout(d,t-u)):(a=!0,n.leading&&d())};return c.clear=s,c.immediate=e,c}var Q=[String,Function,Object,Array],Pu=Symbol.for(`vuetify:icons`),Fu=J({icon:{type:Q},tag:{type:[String,Object,Function],required:!0}},`icon`),Iu=X()({name:`VComponentIcon`,props:Fu(),setup(e,{slots:t}){return()=>{let n=e.icon;return U(e.tag,null,{default:()=>[e.icon?U(n,null,null):t.default?.()]})}}}),Lu=_u({name:`VSvgIcon`,inheritAttrs:!1,props:Fu(),setup(e,{attrs:t}){return()=>U(e.tag,W(t,{style:null}),{default:()=>[H(`svg`,{class:`v-icon__svg`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,role:`img`,"aria-hidden":`true`},[Array.isArray(e.icon)?e.icon.map(e=>Array.isArray(e)?H(`path`,{d:e[0],"fill-opacity":e[1]},null):H(`path`,{d:e},null)):H(`path`,{d:e.icon},null)])]})}});_u({name:`VLigatureIcon`,props:Fu(),setup(e){return()=>U(e.tag,null,{default:()=>[e.icon]})}});var Ru=_u({name:`VClassIcon`,props:Fu(),setup(e){return()=>U(e.tag,{class:j(e.icon)},null)}}),zu=e=>{let t=R(Pu);if(!t)throw Error(`Missing Vuetify Icons provide!`);return{iconData:G(()=>{let n=Qt(e);if(!n)return{component:Iu};let r=n;if(typeof r==`string`&&(r=r.trim(),r.startsWith(`$`)&&(r=t.aliases?.[r.slice(1)])),r||Ys(`Could not find aliased icon "${n}"`),Array.isArray(r))return{component:Lu,icon:r};if(typeof r!=`string`)return{component:Iu,icon:r};let i=Object.keys(t.sets).find(e=>typeof r==`string`&&r.startsWith(`${e}:`)),a=i?r.slice(i.length+1):r;return{component:t.sets[i??t.defaultSet].component,icon:a}})}},Bu={collapse:`mdi-chevron-up`,complete:`mdi-check`,cancel:`mdi-close-circle`,close:`mdi-close`,delete:`mdi-close-circle`,clear:`mdi-close-circle`,success:`mdi-check-circle`,info:`mdi-information`,warning:`mdi-alert-circle`,error:`mdi-close-circle`,prev:`mdi-chevron-left`,next:`mdi-chevron-right`,checkboxOn:`mdi-checkbox-marked`,checkboxOff:`mdi-checkbox-blank-outline`,checkboxIndeterminate:`mdi-minus-box`,delimiter:`mdi-circle`,sortAsc:`mdi-arrow-up`,sortDesc:`mdi-arrow-down`,expand:`mdi-chevron-down`,menu:`mdi-menu`,subgroup:`mdi-menu-down`,dropdown:`mdi-menu-down`,radioOn:`mdi-radiobox-marked`,radioOff:`mdi-radiobox-blank`,edit:`mdi-pencil`,ratingEmpty:`mdi-star-outline`,ratingFull:`mdi-star`,ratingHalf:`mdi-star-half-full`,loading:`mdi-cached`,first:`mdi-page-first`,last:`mdi-page-last`,unfold:`mdi-unfold-more-horizontal`,file:`mdi-paperclip`,plus:`mdi-plus`,minus:`mdi-minus`,calendar:`mdi-calendar`,treeviewCollapse:`mdi-menu-down`,treeviewExpand:`mdi-menu-right`,tableGroupCollapse:`mdi-chevron-down`,tableGroupExpand:`mdi-chevron-right`,eyeDropper:`mdi-eyedropper`,upload:`mdi-cloud-upload`,color:`mdi-palette`,command:`mdi-apple-keyboard-command`,ctrl:`mdi-apple-keyboard-control`,space:`mdi-keyboard-space`,shift:`mdi-apple-keyboard-shift`,alt:`mdi-apple-keyboard-option`,enter:`mdi-keyboard-return`,arrowup:`mdi-arrow-up`,arrowdown:`mdi-arrow-down`,arrowleft:`mdi-arrow-left`,arrowright:`mdi-arrow-right`,backspace:`mdi-backspace`,play:`mdi-play`,pause:`mdi-pause`,fullscreen:`mdi-fullscreen`,fullscreenExit:`mdi-fullscreen-exit`,volumeHigh:`mdi-volume-high`,volumeMedium:`mdi-volume-medium`,volumeLow:`mdi-volume-low`,volumeOff:`mdi-volume-variant-off`,search:`mdi-magnify`},Vu={component:e=>mo(Ru,{...e,class:`mdi`})};function Hu(){return{svg:{component:Lu},class:{component:Ru}}}function Uu(e){let t=Hu(),n=e?.defaultSet??`mdi`;return n===`mdi`&&!t.mdi&&(t.mdi=Vu),Oc({defaultSet:n,sets:t,aliases:{...Bu,vuetify:[`M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z`,[`M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z`,.6]],"vuetify-outline":`svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z`,"vuetify-play":[`m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z`,[`M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z`,.6]]}},e)}function Wu(e,t){let n;function r(){n=Te(),n.run(()=>t.length?t(()=>{n?.stop(),r()}):t())}z(e,e=>{e&&!n?r():e||(n?.stop(),n=void 0)},{immediate:!0}),De(()=>{n?.stop()})}function Gu(e,t,n,r=e=>e,i=e=>e){let a=cu(`useProxiedModel`),o=N(e[t]===void 0?n:e[t]),s=Ac(t),c=G(s===t?()=>(e[t],!!(a.vnode.props?.hasOwnProperty(t)&&a.vnode.props?.hasOwnProperty(`onUpdate:${t}`))):()=>(e[t],!!((a.vnode.props?.hasOwnProperty(t)||a.vnode.props?.hasOwnProperty(s))&&(a.vnode.props?.hasOwnProperty(`onUpdate:${t}`)||a.vnode.props?.hasOwnProperty(`onUpdate:${s}`)))));Wu(()=>!c.value,()=>{z(()=>e[t],e=>{o.value=e})});let l=G({get(){let n=e[t];return r(c.value?n:o.value)},set(n){let s=i(n),l=M(c.value?e[t]:o.value);l===s||r(l)===n||(o.value=s,a?.emit(`update:${t}`,s))}});return Object.defineProperty(l,"externalValue",{get:()=>c.value?e[t]:o.value}),l}var Ku={badge:`Badge`,open:`Open`,close:`Close`,dismiss:`Dismiss`,confirmEdit:{ok:`OK`,cancel:`Cancel`},dataIterator:{noResultsText:`No matching records found`,loadingText:`Loading items...`},dataTable:{itemsPerPageText:`Rows per page:`,ariaLabel:{sortDescending:`Sorted descending.`,sortAscending:`Sorted ascending.`,sortNone:`Not sorted.`,activateNone:`Activate to remove sorting.`,activateDescending:`Activate to sort descending.`,activateAscending:`Activate to sort ascending.`},sortBy:`Sort by`},dataFooter:{itemsPerPageText:`Items per page:`,itemsPerPageAll:`All`,nextPage:`Next page`,prevPage:`Previous page`,firstPage:`First page`,lastPage:`Last page`,pageText:`{0}-{1} of {2}`},dateRangeInput:{divider:`to`},datePicker:{itemsSelected:`{0} selected`,range:{title:`Select dates`,header:`Enter dates`},title:`Select date`,header:`Enter date`,input:{placeholder:`Enter date`},ariaLabel:{previousMonth:`Previous month`,nextMonth:`Next month`,selectYear:`Select year`,previousYear:`Previous year`,nextYear:`Next year`,selectMonth:`Select month`,selectDate:`{0}`,currentDate:`Today, {0}`}},noDataText:`No data available`,carousel:{prev:`Previous visual`,next:`Next visual`,ariaLabel:{delimiter:`Carousel slide {0} of {1}`}},calendar:{moreEvents:`{0} more`,today:`Today`},input:{clear:`Clear {0}`,prependAction:`{0} prepended action`,appendAction:`{0} appended action`,otp:`Please enter OTP character {0}`},fileInput:{counter:`{0} files`,counterSize:`{0} files ({1} in total)`},fileUpload:{title:`Drag and drop files here`,divider:`or`,browse:`Browse Files`},timePicker:{am:`AM`,pm:`PM`,title:`Select Time`,hour:`Hour`,minute:`Minute`,second:`Second`,notAllowed:`Value is not allowed`},pagination:{ariaLabel:{root:`Pagination Navigation`,next:`Next page`,previous:`Previous page`,page:`Go to page {0}`,currentPage:`Page {0}, Current page`,first:`First page`,last:`Last page`}},stepper:{next:`Next`,prev:`Previous`},rating:{ariaLabel:{item:`Rating {0} of {1}`}},loading:`Loading...`,infiniteScroll:{loadMore:`Load more`,empty:`No more`},rules:{required:`This field is required`,email:`Please enter a valid email`,number:`This field can only contain numbers`,integer:`This field can only contain integer values`,capital:`This field can only contain uppercase letters`,maxLength:`You must enter a maximum of {0} characters`,minLength:`You must enter a minimum of {0} characters`,strictLength:`The length of the entered field is invalid`,exclude:`The {0} character is not allowed`,notEmpty:`Please choose at least one value`,pattern:`Invalid format`},command:{search:`Type a command or search...`},hotkey:{then:`then`,ctrl:`Ctrl`,command:`Command`,space:`Space`,shift:`Shift`,alt:`Alt`,enter:`Enter`,escape:`Escape`,upArrow:`Up Arrow`,downArrow:`Down Arrow`,leftArrow:`Left Arrow`,rightArrow:`Right Arrow`,backspace:`Backspace`,option:`Option`,plus:`plus`,shortcut:`Keyboard shortcut: {0}`,or:`or`},video:{play:`Play`,pause:`Pause`,seek:`Seek`,volume:`Volume`,showVolume:`Show volume control`,mute:`Mute`,unmute:`Unmute`,enterFullscreen:`Full screen`,exitFullscreen:`Exit full screen`},colorPicker:{ariaLabel:{eyedropper:`Select color with eyedropper`,hueSlider:`Hue`,alphaSlider:`Alpha`,redInput:`Red value`,greenInput:`Green value`,blueInput:`Blue value`,alphaInput:`Alpha value`,hueInput:`Hue value`,saturationInput:`Saturation value`,lightnessInput:`Lightness value`,hexInput:`HEX value`,hexaInput:`HEX with alpha value`,changeFormat:`Change color format`}}},qu=`$vuetify.`,Ju=(e,t)=>e.replace(/\{(\d+)\}/g,(e,n)=>String(t[Number(n)])),Yu=(e,t,n)=>(r,...i)=>{if(!r.startsWith(qu))return Ju(r,i);let a=r.replace(qu,``),o=e.value&&n.value[e.value],s=t.value&&n.value[t.value],c=rc(o,a,null);return c||=(Ys(`Translation key "${r}" not found in "${e.value}", trying fallback locale`),rc(s,a,null)),c||=(Xs(`Translation key "${r}" not found in fallback`),r),typeof c!=`string`&&(Xs(`Translation key "${r}" has a non-string value`),c=r),Ju(c,i)};function Xu(e,t){return(n,r)=>new Intl.NumberFormat([e.value,t.value],r).format(n)}function Zu(e,t){return Xu(e,t)(.1).includes(`,`)?`,`:`.`}function Qu(e,t,n){let r=Gu(e,t,e[t]??n.value);return r.value=e[t]??n.value,z(n,i=>{e[t]??(r.value=n.value)}),r}function $u(e){return t=>{let n=Qu(t,`locale`,e.current),r=Qu(t,`fallback`,e.fallback),i=Qu(t,`messages`,e.messages);return{name:`vuetify`,current:n,fallback:r,messages:i,decimalSeparator:I(()=>Zu(n,r)),t:Yu(n,r,i),n:Xu(n,r),provide:$u({current:n,fallback:r,messages:i})}}}function ed(e){let t=P(e?.locale??`en`),n=P(e?.fallback??`en`),r=N({en:Ku,...e?.messages});return{name:`vuetify`,current:t,fallback:n,messages:r,decimalSeparator:I(()=>e?.decimalSeparator??Zu(t,n)),t:Yu(t,n,r),n:Xu(t,n),provide:$u({current:t,fallback:n,messages:r})}}var td=Symbol.for(`vuetify:locale`);function nd(e){return e.name!=null}function rd(e){let t=e?.adapter&&nd(e?.adapter)?e?.adapter:ed(e),n=od(t,e);return{...t,...n}}function id(){let e=R(td);if(!e)throw Error(`[Vuetify] Could not find injected locale instance`);return e}function ad(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function od(e,t){let n=N(t?.rtl??ad()),r=G(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:I(()=>`v-locale--is-${r.value?`rtl`:`ltr`}`)}}function sd(){let e=R(td);if(!e)throw Error(`[Vuetify] Could not find injected rtl instance`);return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function cd(e){let t=e.slice(-2).toUpperCase();switch(!0){case e===`GB-alt-variant`:return{firstDay:0,firstWeekSize:4};case e===`001`:return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE + KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US + VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV + MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS + IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case`AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(t):return{firstDay:6,firstWeekSize:1};case t===`MV`:return{firstDay:5,firstWeekSize:1};case t===`PT`:return{firstDay:0,firstWeekSize:4};default:return null}}function ld(e,t,n){let r=[],i=[],a=fd(e),o=pd(e),s=n??cd(t)?.firstDay??0,c=(a.getDay()-s+7)%7,l=(o.getDay()-s+7)%7;for(let e=0;e0&&r.push(i),r}function ud(e,t,n){let r=(n??cd(t)?.firstDay??0)%7;[0,1,2,3,4,5,6].includes(r)||(Ys(`Invalid firstDayOfWeek, expected discrete number in range [0-6]`),r=0);let i=new Date(e);for(;i.getDay()!==r;)i.setDate(i.getDate()-1);return i}function dd(e,t){let n=new Date(e),r=((cd(t)?.firstDay??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function fd(e){return new Date(e.getFullYear(),e.getMonth(),1)}function pd(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function md(e){let t=e.split(`-`).map(Number);return new Date(t[0],t[1]-1,t[2])}var hd=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function gd(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e==`string`){let t;if(hd.test(e))return md(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}var _d=new Date(2e3,0,2);function vd(e,t,n){let r=t??cd(e)?.firstDay??0;return ac(7).map(t=>{let i=new Date(_d);return i.setDate(_d.getDate()+r+t),new Intl.DateTimeFormat(e,{weekday:n??`narrow`}).format(i)})}function yd(e,t,n,r){let i=gd(e)??new Date,a=r?.[t];if(typeof a==`function`)return a(i,t,n);let o={};switch(t){case`fullDate`:o={year:`numeric`,month:`short`,day:`numeric`};break;case`fullDateWithWeekday`:o={weekday:`long`,year:`numeric`,month:`long`,day:`numeric`};break;case`normalDate`:return`${i.getDate()} ${new Intl.DateTimeFormat(n,{month:`long`}).format(i)}`;case`normalDateWithWeekday`:o={weekday:`short`,day:`numeric`,month:`short`};break;case`shortDate`:o={month:`short`,day:`numeric`};break;case`year`:o={year:`numeric`};break;case`month`:o={month:`long`};break;case`monthShort`:o={month:`short`};break;case`monthAndYear`:o={month:`long`,year:`numeric`};break;case`monthAndDate`:o={month:`long`,day:`numeric`};break;case`weekday`:o={weekday:`long`};break;case`weekdayShort`:o={weekday:`short`};break;case`dayOfMonth`:return new Intl.NumberFormat(n).format(i.getDate());case`hours12h`:o={hour:`numeric`,hour12:!0};break;case`hours24h`:o={hour:`numeric`,hour12:!1};break;case`minutes`:o={minute:`numeric`};break;case`seconds`:o={second:`numeric`};break;case`fullTime`:o={hour:`numeric`,minute:`numeric`};break;case`fullTime12h`:o={hour:`numeric`,minute:`numeric`,hour12:!0};break;case`fullTime24h`:o={hour:`numeric`,minute:`numeric`,hour12:!1};break;case`fullDateTime`:o={year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`};break;case`fullDateTime12h`:o={year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`,hour12:!0};break;case`fullDateTime24h`:o={year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`,hour12:!1};break;case`keyboardDate`:o={year:`numeric`,month:`2-digit`,day:`2-digit`};break;case`keyboardDateTime`:return o={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`numeric`,minute:`numeric`},new Intl.DateTimeFormat(n,o).format(i).replace(/, /g,` `);case`keyboardDateTime12h`:return o={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`numeric`,minute:`numeric`,hour12:!0},new Intl.DateTimeFormat(n,o).format(i).replace(/, /g,` `);case`keyboardDateTime24h`:return o={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`numeric`,minute:`numeric`,hour12:!1},new Intl.DateTimeFormat(n,o).format(i).replace(/, /g,` `);default:o=a??{timeZone:`UTC`,timeZoneName:`short`}}return new Intl.DateTimeFormat(n,o).format(i)}function bd(e,t){let n=e.toJsDate(t);return`${n.getFullYear()}-${Tc(String(n.getMonth()+1),2,`0`)}-${Tc(String(n.getDate()),2,`0`)}`}function xd(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}function Sd(e,t){let n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function Cd(e,t){let n=new Date(e);return n.setHours(n.getHours()+t),n}function wd(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function Td(e,t){let n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Ed(e,t){let n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function Dd(e){return e.getFullYear()}function Od(e){return e.getMonth()}function kd(e,t,n,r){let i=cd(t),a=n??i?.firstDay??0,o=i?.firstWeekSize??1;return r===void 0?jd(e,t,a,o):Ad(e,t,a,r)}function Ad(e,t,n,r){let i=(7+r-n)%7,a=ud(e,t,n),o=wd(a,6);function s(e){return(7+new Date(e,0,1).getDay()-n)%7}let c=Dd(a);c=r&&s++;let c=new Date(s,0,1),l=o(s),u=l>=r?wd(c,l-7):wd(c,l);return 1+Jd(tf(i),ef(u),`weeks`)}function Md(e){return e.getDate()}function Nd(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function Pd(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function Fd(e){return e.getHours()}function Id(e){return e.getMinutes()}function Ld(e){return new Date(e.getFullYear(),0,1)}function Rd(e){return new Date(e.getFullYear(),11,31)}function zd(e,t){return Wd(e,t[0])||Wd(e,t[1])||Vd(e,t[0])&&Ud(e,t[1])}function Bd(e){let t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function Vd(e,t){return e.getTime()>t.getTime()}function Hd(e,t){return Vd(ef(e),ef(t))}function Ud(e,t){return e.getTime(){n.locale=e.locale[t]??t??n.locale}),n}var cf=[`sm`,`md`,`lg`,`xl`,`xxl`],lf=Symbol.for(`vuetify:display`),uf={mobileBreakpoint:`lg`,thresholds:{xs:0,sm:600,md:840,lg:1145,xl:1545,xxl:2138}},df=(e=uf)=>Oc(uf,e);function ff(e){return K&&!e?window.innerWidth:typeof e==`object`&&e.clientWidth||0}function pf(e){return K&&!e?window.innerHeight:typeof e==`object`&&e.clientHeight||0}function mf(e){let t=K&&!e?window.navigator.userAgent:`ssr`;function n(e){return!!t.match(e)}return{android:n(/android/i),ios:n(/iphone|ipad|ipod/i),cordova:n(/cordova/i),electron:n(/electron/i),chrome:n(/chrome/i),edge:n(/edge/i),firefox:n(/firefox/i),opera:n(/opera/i),win:n(/win/i),mac:n(/mac/i),linux:n(/linux/i),touch:$s,ssr:t===`ssr`}}function hf(e,t){let{thresholds:n,mobileBreakpoint:r}=df(e),i=P(pf(t)),a=P(mf(t)),o=Rt({}),s=P(ff(t));function c(){i.value=pf(),s.value=ff()}function l(){c(),a.value=mf()}return Gn(()=>{let e=s.value=n.xxl,f=e?`xs`:t?`sm`:c?`md`:l?`lg`:u?`xl`:`xxl`,p=typeof r==`number`?r:n[r],m=s.value{window.removeEventListener(`resize`,c)},!0)),{...rn(o),update:l,ssr:!!t}}var gf=J({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},`display`);function _f(e={mobile:null},t=lu()){let n=R(lf);if(!n)throw Error(`Could not find Vuetify display injection`);let r=G(()=>e.mobile?!0:typeof e.mobileBreakpoint==`number`?n.width.valuet?{[`${t}--mobile`]:r.value}:{});return{...n,displayClasses:i,mobile:r}}var vf=Symbol.for(`vuetify:goto`);function yf(){return{container:void 0,duration:300,layout:!1,offset:0,easing:`easeInOutCubic`,patterns:Du}}function bf(e){return xf(e)??(document.scrollingElement||document.body)}function xf(e){return typeof e==`string`?document.querySelector(e):cc(e)}function Sf(e,t,n){if(typeof e==`number`)return t&&n?-e:e;let r=xf(e),i=0;for(;r;)i+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return i}function Cf(e,t){return{rtl:t.isRtl,options:Oc(yf(),e)}}async function wf(e,t,n,r){let i=n?`scrollLeft`:`scrollTop`,a=Oc(r?.options??yf(),t),o=r?.rtl.value,s=(typeof e==`number`?e:xf(e))??0,c=a.container===`parent`&&s instanceof HTMLElement?s.parentElement:bf(a.container),l=tc()?a.patterns.instant:typeof a.easing==`function`?a.easing:a.patterns[a.easing];if(!l)throw TypeError(`Easing function "${a.easing}" not found.`);let u;if(typeof s==`number`)u=Sf(s,n,o);else if(u=Sf(s,n,o)-Sf(c,n,o),a.layout){let e=window.getComputedStyle(s).getPropertyValue(`--v-layout-top`);e&&(u-=parseInt(e,10))}u+=a.offset,u=Ef(c,u,!!o,!!n);let d=c[i]??0;if(u===d)return Promise.resolve(u);let f=performance.now();return new Promise(e=>requestAnimationFrame(function t(n){let r=(n-f)/a.duration,o=Math.floor(d+(u-d)*l(Cc(r,0,1)));if(c[i]=o,r>=1&&Math.abs(o-c[i])<10)return e(u);if(r>2)return Ys(`Scroll target is not reachable`),e(c[i]);requestAnimationFrame(t)}))}function Tf(e={}){let t=R(vf),{isRtl:n}=sd();if(!t)throw Error(`[Vuetify] Could not find injected goto instance`);let r={...t,rtl:I(()=>t.rtl.value||n.value)};async function i(t,n){return wf(t,Oc(e,n),!1,r)}return i.horizontal=async(t,n)=>wf(t,Oc(e,n),!0,r),i}function Ef(e,t,n,r){let{scrollWidth:i,scrollHeight:a}=e,[o,s]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight],c,l;return r?n?(c=-(i-o),l=0):(c=0,l=i-o):(c=0,l=a+-s),Cc(t,c,l)}var Df=Symbol.for(`vuetify:theme`),Of=J({theme:String},`theme`);function kf(){return{defaultTheme:`system`,prefix:`v-`,variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:`#FFFFFF`,surface:`#FFFFFF`,"surface-bright":`#FFFFFF`,"surface-light":`#EEEEEE`,"surface-variant":`#424242`,"on-surface-variant":`#EEEEEE`,primary:`#1867C0`,"primary-darken-1":`#1F5592`,secondary:`#48A9A6`,"secondary-darken-1":`#018786`,error:`#B00020`,info:`#2196F3`,success:`#4CAF50`,warning:`#FB8C00`},variables:{"border-color":`#000000`,"border-opacity":.12,"shadow-color":`#000000`,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":`#EEEEEE`,"theme-on-kbd":`#000000`,"theme-code":`#F5F5F5`,"theme-on-code":`#000000`,"theme-on-dark":`#FFF`,"theme-on-light":`#000`,"elevation-overlay-color":`black`,"elevation-overlay-opacity-step":`2%`}},dark:{dark:!0,colors:{background:`#121212`,surface:`#212121`,"surface-bright":`#ccbfd6`,"surface-light":`#424242`,"surface-variant":`#c8c8c8`,"on-surface-variant":`#000000`,primary:`#2196F3`,"primary-darken-1":`#277CC1`,secondary:`#54B6B2`,"secondary-darken-1":`#48A9A6`,error:`#CF6679`,info:`#2196F3`,success:`#4CAF50`,warning:`#FB8C00`},variables:{"border-color":`#FFFFFF`,"border-opacity":.12,"shadow-color":`#000000`,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":`#424242`,"theme-on-kbd":`#FFFFFF`,"theme-code":`#343434`,"theme-on-code":`#CCCCCC`,"theme-on-dark":`#FFF`,"theme-on-light":`#000`,"elevation-overlay-color":`white`,"elevation-overlay-opacity-step":`2%`}}},stylesheetId:`vuetify-theme-stylesheet`,scoped:!1,utilities:!0}}function Af(e=kf()){let t=kf();return e?Oc(t,e):{...t,isDisabled:!0}}function jf(e,t,n,r){e.push(`${If(t,r)} {\n`,...n.map(e=>` ${e};\n`),`} +`)}function Mf(e,t){let n=e.dark?2:1,r=e.dark?1:2,i=[];for(let[a,o]of Object.entries(e.colors)){let e=Xl(o);i.push(`--${t}theme-${a}: ${e.r},${e.g},${e.b}`+(e.a==null?``:`,${e.a}`)),a.startsWith(`on-`)||i.push(`--${t}theme-${a}-overlay-multiplier: ${ou(o)>.18?n:r}`)}for(let[n,r]of Object.entries(e.variables)){let e=typeof r==`string`&&r.startsWith(`#`)?Xl(r):void 0,a=e?`${e.r}, ${e.g}, ${e.b}`+(e.a==null?``:`, ${e.a}`):void 0;i.push(`--${t}${n}: ${a??r}`)}return i}function Nf(e,t,n){let r={};if(n)for(let i of[`lighten`,`darken`]){let a=i===`lighten`?iu:au;for(let o of ac(n[i],1))r[`${e}-${i}-${o}`]=tu(a(Xl(t),o))}return r}function Pf(e,t){if(!t)return{};let n={};for(let r of t.colors){let i=e[r];i&&(n={...n,...Nf(r,i,t)})}return n}function Ff(e,t){let n={};for(let r of Object.keys(e)){if(r.startsWith(`on-`)||e[`on-${r}`])continue;let i=`on-${r}`;n[i]=su(Xl(e[r]))?t[`theme-on-dark`]:t[`theme-on-light`]}return n}function If(e,t){if(!t)return e;let n=`:where(${t})`;return e===`:root`?n:`${n} ${e}`}function Lf(e,t,n){let r=Rf(e,t);r&&(r.innerHTML=n)}function Rf(e,t){if(!K)return null;let n=document.getElementById(e);return n||(n=document.createElement(`style`),n.id=e,n.type=`text/css`,t&&n.setAttribute(`nonce`,t),document.head.appendChild(n)),n}function zf(e){let t=Af(e),n=P(t.defaultTheme),r=N(t.themes),i=P(`light`),a=G({get(){return n.value===`system`?i.value:n.value},set(e){n.value=e}}),o=G(()=>{let e={};for(let[n,i]of Object.entries(r.value)){let a=Oc(i.dark||n===`dark`?r.value.dark:r.value.light,i),o={...a.colors,...Pf(a.colors,t.variations)};e[n]={...a,colors:{...o,...Ff(o,a.variables)}}}return e}),s=I(()=>o.value[a.value]),c=I(()=>n.value===`system`),l=G(()=>{let e=[],n=t.scoped?t.prefix:``;e.push(`@layer theme-base { +`),s.value?.dark&&jf(e,`:root`,[`color-scheme: dark`],t.scope),jf(e,`:root`,Mf(s.value,t.prefix),t.scope);for(let[n,r]of Object.entries(o.value))jf(e,`.${t.prefix}theme--${n}`,[`color-scheme: ${r.dark?`dark`:`normal`}`,...Mf(r,t.prefix)],t.scope);if(e.push(`} +`),t.utilities){let r=[],i=[],a=new Set(Object.values(o.value).flatMap(e=>Object.keys(e.colors)));for(let e of a)e.startsWith(`on-`)?jf(i,`.${e}`,[`color: rgb(var(--${t.prefix}theme-${e}))`],t.scope):(jf(r,`.${n}bg-${e}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${e}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${e}))`,`color: rgb(var(--${t.prefix}theme-on-${e}))`],t.scope),jf(i,`.${n}text-${e}`,[`color: rgb(var(--${t.prefix}theme-${e}))`],t.scope),jf(i,`.${n}border-${e}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${e})`],t.scope));e.push(`@layer theme-background { +`,...r.map(e=>` ${e}`),`} +`,`@layer theme-foreground { +`,...i.map(e=>` ${e}`),`} +`)}return`@layer vuetify-utilities { +`+e.map(e=>` ${e}`).join(``)+` +}`}),u=I(()=>t.isDisabled?void 0:`${t.prefix}theme--${a.value}`),d=I(()=>Object.keys(o.value));if(ec){let e=window.matchMedia(`(prefers-color-scheme: dark)`);function t(){i.value=e.matches?`dark`:`light`}t(),e.addEventListener(`change`,t,{passive:!0}),Ee()&&De(()=>{e.removeEventListener(`change`,t)})}function f(e){if(t.isDisabled)return;let n=e._context.provides.usehead;if(n){function e(){return{style:[{textContent:l.value,id:t.stylesheetId,nonce:t.cspNonce||!1,tagPosition:`bodyOpen`}]}}if(n.push){let t=n.push(e);K&&z(l,()=>{t.patch(e)})}else K?(n.addHeadObjs(I(e)),Gn(()=>n.updateDOM())):n.addHeadObjs(e())}else{K?z(l,e,{immediate:!0}):e();function e(){Lf(t.stylesheetId,t.cspNonce,l.value)}}}function p(e){if(e!==`system`&&!d.value.includes(e)){Ys(`Theme "${e}" not found on the Vuetify theme instance`);return}a.value=e}function m(e=d.value){let t=e.indexOf(a.value);p(e[t===-1?0:(t+1)%e.length])}function h(e=[`light`,`dark`]){m(e)}let g=new Proxy(a,{get(e,t){return Reflect.get(e,t)},set(e,t,n){return t===`value`&&Zs(`theme.global.name.value = ${n}`,`theme.change('${n}')`),Reflect.set(e,t,n)}});return{install:f,change:p,cycle:m,toggle:h,isDisabled:t.isDisabled,isSystem:c,name:a,themes:r,current:s,computedThemes:o,prefix:t.prefix,themeClasses:u,styles:l,global:{name:g,current:s}}}function Bf(e){cu(`provideTheme`);let t=R(Df,null);if(!t)throw Error(`Could not find Vuetify theme injection`);let n=I(()=>e.theme??t.name.value),r=I(()=>t.themes.value[n.value]),i=I(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),a={...t,name:n,current:r,themeClasses:i};return Vn(Df,a),a}function Vf(){cu(`useTheme`);let e=R(Df,null);if(!e)throw Error(`Could not find Vuetify theme injection`);return e}function Hf(e,t=`content`){let n=Jc(),r=N();if(K){let i=new ResizeObserver(n=>{e?.(n,i),n.length&&(t===`content`?r.value=n[0].contentRect:r.value=n[0].target.getBoundingClientRect())});Wr(()=>{i.disconnect()}),z(()=>n.el,(e,t)=>{t&&(i.unobserve(t),r.value=void 0),e&&i.observe(e)},{flush:`post`})}return{resizeRef:n,contentRect:Bt(r)}}var Uf=Symbol.for(`vuetify:layout`),Wf=Symbol.for(`vuetify:layout-item`),Gf=1e3,Kf=J({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},`layout`),qf=J({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},`layout-item`);function Jf(){let e=R(Uf);if(!e)throw Error(`[Vuetify] Could not find injected layout`);return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function Yf(e){let t=R(Uf);if(!t)throw Error(`[Vuetify] Could not find injected layout`);let n=e.id??`layout-item-${Er()}`,r=cu(`useLayoutItem`);Vn(Wf,{id:n});let i=P(!1);Fr(()=>i.value=!0),Pr(()=>i.value=!1);let{layoutItemStyles:a,layoutItemScrimStyles:o}=t.register(r,{...e,active:G(()=>i.value?!1:e.active.value),id:n});return Wr(()=>t.unregister(n)),{layoutItemStyles:a,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}var Xf=(e,t,n,r)=>{let i={top:0,left:0,right:0,bottom:0},a=[{id:``,layer:{...i}}];for(let o of e){let e=t.get(o),s=n.get(o),c=r.get(o);if(!e||!s||!c)continue;let l={...i,[e.value]:parseInt(i[e.value],10)+(c.value?parseInt(s.value,10):0)};a.push({id:o,layer:l}),i=l}return a};function Zf(e){let t=R(Uf,null),n=G(()=>t?t.rootZIndex.value-100:Gf),r=N([]),i=Rt(new Map),a=Rt(new Map),o=Rt(new Map),s=Rt(new Map),c=Rt(new Map),{resizeRef:l,contentRect:u}=Hf(),d=G(()=>{let t=new Map,n=e.overlaps??[];for(let e of n.filter(e=>e.includes(`:`))){let[n,o]=e.split(`:`);if(!r.value.includes(n)||!r.value.includes(o))continue;let s=i.get(n),c=i.get(o),l=a.get(n),u=a.get(o);!s||!c||!l||!u||(t.set(o,{position:s.value,amount:parseInt(l.value,10)}),t.set(n,{position:c.value,amount:-parseInt(u.value,10)}))}return t}),f=G(()=>{let e=[...new Set([...o.values()].map(e=>e.value))].sort((e,t)=>e-t),t=[];for(let n of e){let e=r.value.filter(e=>o.get(e)?.value===n);t.push(...e)}return Xf(t,i,a,s)}),p=G(()=>!Array.from(c.values()).some(e=>e.value)),m=G(()=>f.value[f.value.length-1].layer),h=I(()=>({"--v-layout-left":q(m.value.left),"--v-layout-right":q(m.value.right),"--v-layout-top":q(m.value.top),"--v-layout-bottom":q(m.value.bottom),...p.value?void 0:{transition:`none`}})),g=G(()=>f.value.slice(1).map(({id:e},t)=>{let{layer:n}=f.value[t],r=a.get(e),o=i.get(e);return{id:e,...n,size:Number(r.value),position:o.value}})),_=e=>g.value.find(t=>t.id===e),v=cu(`createLayout`),y=P(!1);return Vr(()=>{y.value=!0}),Vn(Uf,{register:(e,{id:t,order:l,position:u,layoutSize:m,elementSize:h,active:_,disableTransitions:b,absolute:x})=>{o.set(t,l),i.set(t,u),a.set(t,m),s.set(t,_),b&&c.set(t,b);let S=jc(Wf,v?.vnode).indexOf(e);S>-1?r.value.splice(S,0,t):r.value.push(t);let C=G(()=>g.value.findIndex(e=>e.id===t)),w=G(()=>n.value+f.value.length*2-C.value*2);return{layoutItemStyles:G(()=>{let e=u.value===`left`||u.value===`right`,r=u.value===`right`,i=u.value===`bottom`,a=Number(h.value??m.value),o=`translate${e?`X`:`Y`}`,s=_.value?0:(a===0?100:a+1)*(r||i?1:-1),c=a===0?`%`:`px`,l={[u.value]:0,zIndex:w.value,transform:`${o}(${s}${c})`,position:x.value||n.value!==Gf?`absolute`:`fixed`,...p.value?void 0:{transition:`none`}};if(!y.value)return l;let f=g.value[C.value];f||Ys(`[Vuetify] Could not find layout item "${t}"`);let v=d.value.get(t);return v&&(f[v.position]+=v.amount),{...l,height:e?`calc(100% - ${f.top}px - ${f.bottom}px)`:h.value?`${h.value}px`:void 0,left:r?void 0:`${f.left}px`,right:r?`${f.right}px`:void 0,top:u.value===`bottom`?void 0:`${f.top}px`,bottom:u.value===`top`?void 0:`${f.bottom}px`,width:e?h.value?`${h.value}px`:void 0:`calc(100% - ${f.left}px - ${f.right}px)`}}),layoutItemScrimStyles:G(()=>({zIndex:w.value-1})),zIndex:w}},unregister:e=>{o.delete(e),i.delete(e),a.delete(e),s.delete(e),c.delete(e),r.value=r.value.filter(t=>t!==e)},mainRect:m,mainStyles:h,getLayoutItem:_,items:g,layoutRect:u,rootZIndex:n}),{layoutClasses:I(()=>[`v-layout`,{"v-layout--full-height":e.fullHeight}]),layoutStyles:I(()=>({zIndex:t?n.value:void 0,position:t?`relative`:void 0,overflow:t?`hidden`:void 0})),getLayoutItem:_,items:g,layoutRect:u,layoutRef:l}}function Qf(e={}){let{blueprint:t,...n}=e,r=Oc(t,n),{aliases:i={},components:a={},directives:o={}}=r,s=Te();return s.run(()=>{let e=fu(r.defaults),t=hf(r.display,r.ssr),n=zf(r.theme),c=Uu(r.icons),l=rd(r.locale),u=of(r.date,l),d=Cf(r.goTo,l);function f(s){for(let e in o)s.directive(e,o[e]);for(let e in a)s.component(e,a[e]);for(let e in i)s.component(e,_u({...i[e],name:e,aliasName:i[e].name}));let f=Te();if(f.run(()=>{n.install(s)}),s.onUnmount(()=>f.stop()),s.provide(du,e),s.provide(lf,t),s.provide(Df,n),s.provide(Pu,c),s.provide(td,l),s.provide(rf,u.options),s.provide(af,u.instance),s.provide(vf,d),K&&r.ssr)if(s.$nuxt)s.$nuxt.hook(`app:suspense:resolve`,()=>{t.update()});else{let{mount:e}=s;s.mount=(...n)=>{let r=e(...n);return Dn(()=>t.update()),s.mount=e,r}}s.mixin({computed:{$vuetify(){return Rt({defaults:$f.call(this,du),display:$f.call(this,lf),theme:$f.call(this,Df),icons:$f.call(this,Pu),locale:$f.call(this,td),date:$f.call(this,af)})}}})}function p(){s.stop()}return{install:f,unmount:p,defaults:e,display:t,theme:n,icons:c,locale:l,date:u,goTo:d}})}Qf.version=`4.0.8`;function $f(e){let t=this.$,n=t.parent?.provides??t.vnode.appContext?.provides;if(n&&e in n)return n[e]}var ep={badge:`徽章`,open:`打开`,close:`关闭`,dismiss:`取消`,confirmEdit:{ok:`确定`,cancel:`取消`},dataIterator:{noResultsText:`没有符合条件的结果`,loadingText:`加载中……`},dataTable:{itemsPerPageText:`每页数目:`,ariaLabel:{sortDescending:`:降序排列。`,sortAscending:`:升序排列。`,sortNone:`:未排序。`,activateNone:`点击以移除排序。`,activateDescending:`点击以降序排列。`,activateAscending:`点击以升序排列。`},sortBy:`排序方式`},dataFooter:{itemsPerPageText:`每页数目:`,itemsPerPageAll:`全部`,nextPage:`下一页`,prevPage:`上一页`,firstPage:`首页`,lastPage:`尾页`,pageText:`{0}-{1} 共 {2}`},dateRangeInput:{divider:`至`},datePicker:{itemsSelected:`已选择 {0} 项`,range:{title:`选择日期`,header:`输入日期`},title:`选择日期`,header:`输入日期`,input:{placeholder:`输入日期`},ariaLabel:{previousMonth:`上个月`,nextMonth:`下个月`,selectYear:`选择年份`,previousYear:`上一年`,nextYear:`下一年`,selectMonth:`选择月份`,selectDate:`{0}`,currentDate:`今天,{0}`}},noDataText:`没有数据`,carousel:{prev:`上一张`,next:`下一张`,ariaLabel:{delimiter:`幻灯片 {0} / {1}`}},calendar:{moreEvents:`还有 {0} 项`,today:`今天`},input:{clear:`清除 {0}`,prependAction:`{0} 前置操作`,appendAction:`{0} 后置操作`,otp:`请输入第 {0} 位 OTP`},fileInput:{counter:`{0} 个文件`,counterSize:`{0} 个文件(共 {1})`},fileUpload:{title:`拖放文件到此处`,divider:`或`,browse:`浏览文件`},timePicker:{am:`上午`,pm:`下午`,title:`选择时间`,hour:`小时`,minute:`分钟`,second:`秒`,notAllowed:`值不允许`},pagination:{ariaLabel:{root:`分页导航`,next:`下一页`,previous:`上一页`,page:`转到页面 {0}`,currentPage:`当前页 {0}`,first:`第一页`,last:`最后一页`}},stepper:{next:`下一步`,prev:`上一步`},rating:{ariaLabel:{item:`评分 {0} / {1}`}},loading:`加载中...`,infiniteScroll:{loadMore:`加载更多`,empty:`没有更多内容`},rules:{required:`此字段为必填项`,email:`请输入有效的电子邮件地址`,number:`此字段只能包含数字`,integer:`此字段只能包含整数`,capital:`此字段只能包含大写字母`,maxLength:`您最多可以输入{0}个字符`,minLength:`您必须至少输入{0}个字符`,strictLength:`输入字段的长度无效`,exclude:`字符{0}是不允许的`,notEmpty:`请至少选择一个值`,pattern:`格式无效`},command:{search:`输入命令或搜索...`},hotkey:{then:`然后`,ctrl:`Ctrl`,command:`Command`,shift:`Shift`,alt:`Alt`,option:`Option`,enter:`Enter`,escape:`Escape`,upArrow:`上箭头`,downArrow:`下箭头`,leftArrow:`左箭头`,rightArrow:`右箭头`,backspace:`退格`,space:`空格`,plus:`加`,shortcut:`键盘快捷键:{0}`,or:`或`},video:{play:`播放`,pause:`暂停`,seek:`跳转`,volume:`音量`,showVolume:`显示音量控制`,mute:`静音`,unmute:`取消静音`,enterFullscreen:`全屏`,exitFullscreen:`退出全屏`},colorPicker:{ariaLabel:{eyedropper:`从屏幕拾取颜色`,hueSlider:`色相`,alphaSlider:`不透明度`,redInput:`红色`,greenInput:`绿色`,blueInput:`蓝色`,alphaInput:`不透明度`,hueInput:`色相`,saturationInput:`饱和度`,lightnessInput:`亮度`,hexInput:`HEX 值`,hexaInput:`带不透明度 HEX 值`,changeFormat:`更改颜色格式`}}},tp=typeof localStorage<`u`&&localStorage.getItem(`nexus_theme`)||`light`,np=Qf({locale:{locale:`zhHans`,fallback:`en`,messages:{zhHans:ep}},theme:{defaultTheme:tp}}),rp=typeof document<`u`;function ip(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function ap(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ip(e.default)}var $=Object.assign;function op(e,t){let n={};for(let r in t){let i=t[r];n[r]=cp(i)?i.map(e):e(i)}return n}var sp=()=>{},cp=Array.isArray;function lp(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var up=/#/g,dp=/&/g,fp=/\//g,pp=/=/g,mp=/\?/g,hp=/\+/g,gp=/%5B/g,_p=/%5D/g,vp=/%5E/g,yp=/%60/g,bp=/%7B/g,xp=/%7C/g,Sp=/%7D/g,Cp=/%20/g;function wp(e){return e==null?``:encodeURI(``+e).replace(xp,`|`).replace(gp,`[`).replace(_p,`]`)}function Tp(e){return wp(e).replace(bp,`{`).replace(Sp,`}`).replace(vp,`^`)}function Ep(e){return wp(e).replace(hp,`%2B`).replace(Cp,`+`).replace(up,`%23`).replace(dp,`%26`).replace(yp,"`").replace(bp,`{`).replace(Sp,`}`).replace(vp,`^`)}function Dp(e){return Ep(e).replace(pp,`%3D`)}function Op(e){return wp(e).replace(up,`%23`).replace(mp,`%3F`)}function kp(e){return Op(e).replace(fp,`%2F`)}function Ap(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var jp=/\/$/,Mp=e=>e.replace(jp,``);function Np(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Vp(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Ap(o)}}function Pp(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Fp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Ip(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Lp(t.matched[r],n.matched[i])&&Rp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Lp(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Rp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!zp(e[n],t[n]))return!1;return!0}function zp(e,t){return cp(e)?Bp(e,t):cp(t)?Bp(t,e):e?.valueOf()===t?.valueOf()}function Bp(e,t){return cp(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Vp(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Hp={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Up=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Wp=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Gp(e){if(!e)if(rp){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Mp(e)}var Kp=/^[^#]+#/;function qp(e,t){return e.replace(Kp,`#`)+t}function Jp(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Yp=()=>({left:window.scrollX,top:window.scrollY});function Xp(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Jp(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Zp(e,t){return(history.state?history.state.position-t:-1)+e}var Qp=new Map;function $p(e,t){Qp.set(e,t)}function em(e){let t=Qp.get(e);return Qp.delete(e),t}function tm(e){return typeof e==`string`||e&&typeof e==`object`}function nm(e){return typeof e==`string`||typeof e==`symbol`}var rm=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),im=Symbol(``);rm.MATCHER_NOT_FOUND,rm.NAVIGATION_GUARD_REDIRECT,rm.NAVIGATION_ABORTED,rm.NAVIGATION_CANCELLED,rm.NAVIGATION_DUPLICATED;function am(e,t){return $(Error(),{type:e,[im]:!0},t)}function om(e,t){return e instanceof Error&&im in e&&(t==null||!!(e.type&t))}function sm(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Ep(e)):[r&&Ep(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function lm(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=cp(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var um=Symbol(``),dm=Symbol(``),fm=Symbol(``),pm=Symbol(``),mm=Symbol(``);function hm(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function gm(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(am(rm.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):tm(e)?c(am(rm.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function _m(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(ip(s)){let c=(s.__vccOpts||s)[t];c&&a.push(gm(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=ap(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&gm(c,n,r,o,e,i)()}))}}return a}function vm(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oLp(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Lp(e,s))||i.push(s))}return[n,r,i]}var ym=()=>location.protocol+`//`+location.host;function bm(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Fp(n,``)}return Fp(n,e)+r+i}function xm(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=bm(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Up.pop,direction:u?u>0?Wp.forward:Wp.back:Wp.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState($({},e.state,{scroll:Yp()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Sm(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Yp():null}}function Cm(e){let{history:t,location:n}=window,r={value:bm(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:ym()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,$({},t.state,Sm(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=$({},i.value,t.state,{forward:e,scroll:Yp()});a(o.current,o,!0),a(e,$({},Sm(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function wm(e){e=Gp(e);let t=Cm(e),n=xm(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=$({location:``,base:e,go:r,createHref:qp.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Tm(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),wm(e)}var Em=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Dm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Dm||{}),Om={type:Em.Static,value:``},km=/[a-zA-Z0-9_]/;function Am(e){if(!e)return[[]];if(e===`/`)return[[Om]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Dm.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Dm.Static?a.push({type:Em.Static,value:l}):n===Dm.Param||n===Dm.ParamRegExp||n===Dm.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Em.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===Nm.Static+Nm.Segment?1:-1:0}function Lm(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var zm={strict:!1,end:!0,sensitive:!1};function Bm(e,t,n){let r=$(Fm(Am(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Vm(e,t){let n=[],r=new Map;t=lp(zm,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Um(e);s.aliasOf=r&&r.record;let l=lp(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Um($({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Bm(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Gm(d)&&o(e.name)),Ym(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:sp}function o(e){if(nm(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=qm(e,n);n.splice(t,0,e),e.record.name&&!Gm(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw am(rm.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=$(Hm(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Hm(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw am(rm.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=$({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Km(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Hm(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Um(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Wm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Wm(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Gm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Km(e){return e.reduce((e,t)=>$(e,t.meta),{})}function qm(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Lm(e,t[i])<0?r=i:n=i+1}let i=Jm(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Jm(e){let t=e;for(;t=t.parent;)if(Ym(t)&&Lm(e,t)===0)return t}function Ym({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Xm(e){let t=R(fm),n=R(pm),r=G(()=>{let n=F(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Lp.bind(null,i));if(o>-1)return o;let s=th(e[t-2]);return t>1&&th(i)===s&&a[a.length-1].path!==s?a.findIndex(Lp.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&eh(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&Rp(n.params,r.value.params));function s(n={}){if($m(n)){let n=t[F(e.replace)?`replace`:`push`](F(e.to)).catch(sp);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Zm(e){return e.length===1?e[0]:e}var Qm=Tr({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Xm,setup(e,{slots:t}){let n=Rt(Xm(e)),{options:r}=R(fm),i=G(()=>({[nh(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[nh(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Zm(t.default(n));return e.custom?r:mo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function $m(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function eh(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!cp(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function th(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var nh=(e,t,n)=>e??t??n,rh=Tr({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=R(mm),i=G(()=>e.route||r.value),a=R(dm,0),o=G(()=>{let e=F(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);Vn(dm,G(()=>o.value+1)),Vn(um,s),Vn(mm,i);let c=N();return z(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Lp(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return ih(n.default,{Component:l,route:r});let u=o.props[a],d=mo(l,$({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return ih(n.default,{Component:d,route:r})||d}}});function ih(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var ah=rh;function oh(e){let t=Vm(e.routes,e),n=e.parseQuery||sm,r=e.stringifyQuery||cm,i=e.history,a=hm(),o=hm(),s=hm(),c=P(Hp),l=Hp;rp&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=op.bind(null,e=>``+e),d=op.bind(null,kp),f=op.bind(null,Ap);function p(e,n){let r,i;return nm(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=$({},a||c.value),typeof e==`string`){let r=Np(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return $(r,o,{params:f(o.params),hash:Ap(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=$({},e,{path:Np(n,e.path,a.path).path});else{let t=$({},e.params);for(let e in t)t[e]??delete t[e];o=$({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Pp(r,$({},e,{hash:Tp(l),path:s.path})),m=i.createHref(p);return $({fullPath:p,hash:l,query:r===cm?lm(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Np(n,e,c.value.path):$({},e)}function y(e,t){if(l!==e)return am(rm.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b($(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),$({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C($(v(u),{state:typeof u==`object`?$({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Ip(r,i,n)&&(f=am(rm.NAVIGATION_DUPLICATED,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>om(e)?om(e,rm.NAVIGATION_GUARD_REDIRECT)?e:oe(e):ie(e,d,i)).then(e=>{if(e){if(om(e,rm.NAVIGATION_GUARD_REDIRECT))return C($({replace:s},v(e.to),{state:typeof e.to==`object`?$({},a,e.to.state):a,force:o}),t||d)}else e=D(d,i,!0,s,a);return ee(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=A.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=vm(e,t);n=_m(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(gm(r,e,t))});let c=w.bind(null,e,t);return n.push(c),de(n).then(()=>{n=[];for(let r of a.list())n.push(gm(r,e,t));return n.push(c),de(n)}).then(()=>{n=_m(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(gm(r,e,t))});return n.push(c),de(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(cp(r.beforeEnter))for(let i of r.beforeEnter)n.push(gm(i,e,t));else n.push(gm(r.beforeEnter,e,t));return n.push(c),de(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=_m(s,`beforeRouteEnter`,e,t,T),n.push(c),de(n))).then(()=>{n=[];for(let r of o.list())n.push(gm(r,e,t));return n.push(c),de(n)}).catch(e=>om(e,rm.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function ee(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function D(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Hp,l=rp?history.state:{};n&&(r||s?i.replace(e.fullPath,$({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let te;function O(){te||=i.listen((e,t,n)=>{if(!ue.listening)return;let r=_(e),a=S(r,ue.currentRoute.value);if(a){C($(a,{replace:!0,force:!0}),r).catch(sp);return}l=r;let o=c.value;rp&&$p(Zp(o.fullPath,n.delta),Yp()),E(r,o).catch(e=>om(e,rm.NAVIGATION_ABORTED|rm.NAVIGATION_CANCELLED)?e:om(e,rm.NAVIGATION_GUARD_REDIRECT)?(C($(v(e.to),{force:!0}),r).then(e=>{om(e,rm.NAVIGATION_ABORTED|rm.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Up.pop&&i.go(-1,!1)}).catch(sp),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ie(e,r,o))).then(e=>{e||=D(r,o,!1),e&&(n.delta&&!om(e,rm.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Up.pop&&om(e,rm.NAVIGATION_ABORTED|rm.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),ee(r,o,e)}).catch(sp)})}let ne=hm(),re=hm(),k;function ie(e,t,n){oe(e);let r=re.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ae(){return k&&c.value!==Hp?Promise.resolve():new Promise((e,t)=>{ne.add([e,t])})}function oe(e){return k||(k=!e,O(),ne.list().forEach(([t,n])=>e?n(e):t()),ne.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!rp||!a)return Promise.resolve();let o=!r&&em(Zp(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Dn().then(()=>a(t,n,o)).then(e=>e&&Xp(e)).catch(e=>ie(e,t,n))}let ce=e=>i.go(e),le,A=new Set,ue={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:re.add,isReady:ae,install(e){e.component(`RouterLink`,Qm),e.component(`RouterView`,ah),e.config.globalProperties.$router=ue,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>F(c)}),rp&&!le&&c.value===Hp&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in Hp)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(fm,ue),e.provide(pm,zt(t)),e.provide(mm,c);let n=e.unmount;A.add(e),e.unmount=function(){A.delete(e),A.size<1&&(l=Hp,te&&te(),te=null,c.value=Hp,le=!1,k=!1),n()}}};function de(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return ue}function sh(){return R(fm)}function ch(e){return R(pm)}var lh=typeof window<`u`,uh,dh=e=>uh=e,fh=Symbol();function ph(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var mh;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(mh||={});var hh=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function gh(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function _h(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Sh(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function vh(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function yh(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var bh=typeof navigator==`object`?navigator:{userAgent:``},xh=/Macintosh/.test(bh.userAgent)&&/AppleWebKit/.test(bh.userAgent)&&!/Safari/.test(bh.userAgent),Sh=lh?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!xh?Ch:`msSaveOrOpenBlob`in bh?wh:Th:()=>{};function Ch(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?yh(r):vh(r.href)?_h(e,t,n):(r.target=`_blank`,yh(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){yh(r)},0))}function wh(e,t=`download`,n){if(typeof e==`string`)if(vh(e))_h(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){yh(t)})}else navigator.msSaveOrOpenBlob(gh(e,n),t)}function Th(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return _h(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(hh.HTMLElement))||`safari`in hh,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||xh)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Eh}=Object;function Dh(){let e=Te(!0),t=e.run(()=>N({})),n=[],r=[],i=Kt({install(e){dh(i),i._a=e,e.provide(fh,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Oh=()=>{};function kh(e,t,n,r=Oh){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Ee()&&De(i),i}function Ah(e,...t){e.forEach(e=>{e(...t)})}var jh=e=>e(),Mh=Symbol(),Nh=Symbol();function Ph(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];ph(i)&&ph(r)&&e.hasOwnProperty(n)&&!Yt(r)&&!Ht(r)?e[n]=Ph(i,r):e[n]=r}return e}var Fh=Symbol();function Ih(e){return!ph(e)||!Object.prototype.hasOwnProperty.call(e,Fh)}var{assign:Lh}=Object;function Rh(e){return!!(Yt(e)&&e.effect)}function zh(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),Lh(rn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Kt(G(()=>{dh(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Bh(e,l,t,n,r,!0),c}function Bh(e,t,n={},r,i,a){let o,s=Lh({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:mh.patchFunction,storeId:e,events:void 0}):(Ph(r.state.value[e],t),n={type:mh.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();Dn().then(()=>{m===i&&(l=!0)}),u=!0,Ah(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Lh(e,t)})}:Oh;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Mh in t)return t[Nh]=n,t;let i=function(){dh(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ah(f,{args:n,name:i[Nh],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ah(o,e),e}return l instanceof Promise?l.then(e=>(Ah(a,e),e)).catch(e=>(Ah(o,e),Promise.reject(e))):(Ah(a,l),l)};return i[Mh]=!0,i[Nh]=n,i},y=Rt({_p:r,$id:e,$onAction:kh.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=kh(d,t,n.detached,()=>a()),a=o.run(()=>z(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:mh.direct,events:void 0},r)},Lh({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||jh)(()=>r._e.run(()=>(o=Te()).run(()=>t({action:v}))));for(let t in b){let n=b[t];Yt(n)&&!Rh(n)||Ht(n)?a||(p&&Ih(n)&&(Yt(n)?n.value=p[t]:Ph(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Lh(y,b),Lh(M(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{Lh(t,e)})}}),r._p.forEach(e=>{Lh(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function Vh(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Hn();return n||=o?R(fh,null):null,n&&dh(n),n=uh,n._s.has(e)||(i?Bh(e,t,r,n):zh(e,r,n)),n._s.get(e)}return a.$id=e,a}function Hh(e){let t=M(e),n={};for(let r in t){let i=t[r];i.effect?n[r]=G({get:()=>e[r],set(t){e[r]=t}}):(Yt(i)||Ht(i))&&(n[r]=I(e,r))}return n}var Uh=`/api`,Wh=new Set([`/auth/login`,`/auth/refresh`,`/auth/logout`]);function Gh(e,t){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>e?.msg||JSON.stringify(e)).join(`; `):e&&typeof e==`object`?JSON.stringify(e):t}var Kh=null;async function qh(){return Kh||(Kh=(async()=>{try{let e=await fetch(`${Uh}/auth/refresh`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!e.ok)return!1;let t=await e.json();return t?.access_token?(og().setAccessToken(t.access_token),!0):!1}catch{return!1}finally{Kh=null}})(),Kh)}function Jh(e,t){let n=`${Uh}${e}`;if(t){let e=new URLSearchParams;for(let[n,r]of Object.entries(t))r!=null&&e.set(n,String(r));let r=e.toString();r&&(n+=`?${r}`)}return n}function Yh(e){let t=og(),n={...e.headers||{}};return e.body instanceof FormData||(n[`Content-Type`]=`application/json`),t.token&&(n.Authorization=`Bearer ${t.token}`),n}async function Xh(e,t={}){let{params:n,_retry:r,...i}=t,a=Jh(e,n),o=og();!r&&!Wh.has(e)&&o.token&&o.isTokenExpiringSoon(300)&&await qh();let s=await fetch(a,{...i,headers:Yh(i),credentials:`include`});if(s.status===401){if(!Wh.has(e)&&!r){if(await qh())return Xh(e,{...t,_retry:!0});throw o.forceLogout(),new rg(401,`登录已过期,请重新登录`)}let n=await s.text(),i={};try{i=JSON.parse(n)}catch{i={detail:n}}throw new rg(401,Gh(i.detail,Wh.has(e)?`认证失败`:`登录已过期,请重新登录`))}return s}async function Zh(e,t={}){let n=await Xh(e,t),r=n.headers.get(`ETag`);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new ig(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new rg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===304)return{status:304,etag:r};if(n.status===204)return{status:204,etag:r,data:void 0};let i=await n.text(),a;try{a=JSON.parse(i)}catch{a=i}if(!n.ok){let e=a,t=Gh(e?.detail??e?.message,n.statusText),r=new rg(n.status,t);throw r.detail=e?.detail,r}return{status:n.status,data:a,etag:r}}async function Qh(e){let t=await e.text(),n;try{n=JSON.parse(t)}catch{n=t}let r=n,i=Gh(r?.detail??r?.message,e.statusText),a=new rg(e.status,i);throw a.detail=r?.detail,a}function $h(e){if(!e)return null;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t?.[1])try{return decodeURIComponent(t[1])}catch{return t[1]}return e.match(/filename="?([^";]+)"?/i)?.[1]??null}async function eg(e,t){let n=await Xh(e,{method:`POST`,body:JSON.stringify(t??{})});if(n.status===202)throw new ig(`请输入 TOTP 验证码`);if(n.status===429)throw new rg(429,`登录尝试过多,账户已锁定 15 分钟`);return n.ok||await Qh(n),{blob:await n.blob(),filename:$h(n.headers.get(`Content-Disposition`))||`download`}}async function tg(e,t={}){let n=await Xh(e,t);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new ig(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new rg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===204)return;let r=await n.text(),i;try{i=JSON.parse(r)}catch{i=r}if(!n.ok){let e=i,t=Gh(e?.detail??e?.message,n.statusText),r=new rg(n.status,t);throw r.detail=e?.detail,r}return i}var ng={get:(e,t)=>tg(e,{method:`GET`,params:t}),getList:async(e,t)=>{let n=await tg(e,{method:`GET`,params:t});if(Array.isArray(n))return{items:n,total:n.length};if(n&&typeof n==`object`){let e=n;if(Array.isArray(e.items))return{items:e.items,total:e.total??e.items.length}}return{items:[],total:0}},post:(e,t)=>tg(e,{method:`POST`,body:t?JSON.stringify(t):void 0}),put:(e,t)=>tg(e,{method:`PUT`,body:t?JSON.stringify(t):void 0}),delete:e=>tg(e,{method:`DELETE`}),upload:(e,t)=>tg(e,{method:`POST`,body:t}),download:(e,t)=>eg(e,t)},rg=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.name=`ApiError`}},ig=class extends Error{constructor(e){super(e),this.name=`TotpRequiredError`}};function ag(e){try{let t=e.split(`.`)[1];if(!t)return 0;let n=t.length%4;n&&(t+=`=`.repeat(4-n));let r=atob(t.replace(/-/g,`+`).replace(/_/g,`/`)),i=JSON.parse(r);return typeof i.exp==`number`?i.exp:0}catch{return 0}}var og=Vh(`auth`,()=>{let e=N(null),t=N(null),n=N(!1),r=G(()=>!!e.value),i=G(()=>e.value?ag(e.value):0);function a(e=300){let t=i.value;return t>0&&t-Math.floor(Date.now()/1e3){})}function d(){e.value=null,t.value=null}return{token:e,admin:t,isLoggedIn:r,bootstrapped:n,tokenExp:i,isTokenExpiringSoon:a,setAccessToken:o,tryRestoreSession:s,login:c,fetchProfile:l,logout:u,forceLogout:d}}),sg=`modulepreload`,cg=function(e){return`/app/`+e},lg={},ug=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=cg(t,n),t in lg)return;lg[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:sg,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},dg=oh({history:Tm(),routes:[{path:`/`,name:`Dashboard`,component:()=>ug(()=>import(`./DashboardPage-CA2jAe10.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))},{path:`/servers`,name:`Servers`,component:()=>ug(()=>import(`./ServersPage-LVgDB3Rh.js`),__vite__mapDeps([15,2,3,5,6,4,16,17,18,19,7,8,20,21,22,23,9,1,10,11,24,25,26,12,27,28,29]))},{path:`/terminal`,name:`Terminal`,component:()=>ug(()=>import(`./TerminalPage-Dkm2aFA7.js`),__vite__mapDeps([30,1,2,3,16,17,31,32,33,34]))},{path:`/files`,name:`Files`,component:()=>ug(()=>import(`./FilesPage-C45eqjeG.js`),__vite__mapDeps([35,1,36,37,38,2,3,39,5,6,16,17,7,8,20,21,40,27,12,28,41]))},{path:`/push`,name:`Push`,component:()=>ug(()=>import(`./PushPage-oiokaBkp.js`),__vite__mapDeps([42,1,38,2,3,39,5,6,4,16,17,7,8,24,33,43]))},{path:`/scripts`,name:`Scripts`,component:()=>ug(()=>import(`./ScriptsPage-CBNlu4H0.js`),__vite__mapDeps([44,1,36,37,38,2,3,39,5,6,4,16,17,18,19,7,8,45,46,22,23,24,47,25,26,40,27,12,10,28,48]))},{path:`/script-runs`,name:`ScriptRuns`,component:()=>ug(()=>import(`./ScriptRunsPage-CWBYk1C1.js`),__vite__mapDeps([49,1,2,3,5,6,4,18,19,7,8,47,25,40,27,12,10,50]))},{path:`/script-runs/:id`,name:`ScriptRunDetail`,component:()=>ug(()=>import(`./ScriptRunsPage-CWBYk1C1.js`),__vite__mapDeps([49,1,2,3,5,6,4,18,19,7,8,47,25,40,27,12,10,50]))},{path:`/credentials`,name:`Credentials`,component:()=>ug(()=>import(`./CredentialsPage-BjZD7bot.js`),__vite__mapDeps([51,2,3,5,6,4,16,17,22,23,12,27,10,28]))},{path:`/schedules`,name:`Schedules`,component:()=>ug(()=>import(`./SchedulesPage-D3XY0xis.js`),__vite__mapDeps([52,2,3,4,5,6,16,17,45,46,22,23,40,27,12]))},{path:`/retries`,name:`Retries`,component:()=>ug(()=>import(`./RetriesPage-Ccx3is-O.js`),__vite__mapDeps([53,2,3,4,5,6,16,17,25,12]))},{path:`/commands`,name:`Commands`,component:()=>ug(()=>import(`./CommandsPage-DSMJBQOT.js`),__vite__mapDeps([54,2,3,4,5,6,24,40,27,12,10]))},{path:`/alerts`,name:`Alerts`,component:()=>ug(()=>import(`./AlertsPage-BQ26slXA.js`),__vite__mapDeps([55,2,3,4,5,6,7,8,12]))},{path:`/audit`,name:`Audit`,component:()=>ug(()=>import(`./AuditPage-CtSuHRge.js`),__vite__mapDeps([56,2,3,4,5,6,12,13]))},{path:`/settings`,name:`Settings`,component:()=>ug(()=>import(`./SettingsPage-DLeYyeUc.js`),__vite__mapDeps([57,2,3,16,17,7,8,45,46,22,23,31,1,32,28]))},{path:`/login`,name:`Login`,component:()=>ug(()=>import(`./LoginPage-s5chNIa7.js`),__vite__mapDeps([58,1,59])),meta:{public:!0}}]}),fg=`nexus_chunk_reload_v1`;function pg(e){return e.includes(`Failed to fetch dynamically imported module`)||e.includes(`Importing a module script failed`)||e.includes(`error loading dynamically imported module`)}dg.onError((e,t)=>{if(!pg(e?.message||``))return;let n=window;if(!sessionStorage.getItem(fg)){sessionStorage.setItem(fg,`1`),window.location.reload();return}n.$snackbar?.(`页面「${String(t.name||t.path)}」资源已更新,请关闭此标签后重新打开后台`,`error`)}),dg.afterEach(()=>{sessionStorage.removeItem(fg)}),dg.beforeEach(async e=>{let t=og();if(t.bootstrapped||await t.tryRestoreSession(),!e.meta.public&&!t.isLoggedIn)return{name:`Login`,query:{redirect:e.fullPath}};if(e.name===`Login`&&t.isLoggedIn)return{name:`Dashboard`}});function mg(e){e.use(np),e.use(dg),e.use(Dh())}var hg={running:`执行中`,completed:`已完成`,failed:`失败`,partial:`部分成功`,cancelled:`已取消`},gg={success:`成功`,failed:`失败`,completed:`已完成`,error:`错误`,skipped:`已跳过`,started:`已启动`,timeout:`超时`,connection_error:`连接失败`,unknown:`未知`,cancelled:`已取消`,pending:`后台执行中`,done:`已完成`,running:`执行中`},_g=new Set([`failed`,`error`,`skipped`,`timeout`,`connection_error`,`unknown`,`cancelled`]);function vg(e){return hg[e]||e}var yg=new Set([`completed`,`failed`,`partial`,`cancelled`]);function bg(e){return yg.has(e)}function xg(e){return e===`running`?`blue`:e===`completed`?`green`:e===`failed`?`red`:e===`partial`?`orange`:e===`cancelled`?`grey`:`info`}function Sg(e,t){let n=(t||``).trim(),r=(e||``).trim();return n===`pending`?gg.pending:n===`cancelled`||r===`cancelled`?gg.cancelled:r&&gg[r]?gg[r]:n&&gg[n]?gg[n]:r||n||`—`}function Cg(e){return(e||``).trim()===`pending`}function wg(e,t,n){if(Cg(t))return!1;if(n!=null&&n!==0)return!0;let r=(e||``).trim().toLowerCase();return!!(_g.has(r)||(t||``).trim()===`cancelled`)}function Tg(e,t,n){return Cg(t)?`blue`:wg(e,t,n)?`error`:n===0||[`success`,`completed`,`done`].includes((e||``).toLowerCase())?`success`:`grey`}function Eg(e,t,n){return t?.[String(e)]?.trim()||n?.trim()||`服务器 #${e}`}function Dg(e,t){let n=[];if(t)try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.map(String))}catch{n=[]}!n.length&&e&&(n=Object.keys(e).filter(e=>e!==`_meta`&&/^\d+$/.test(e)));let r=0,i=0,a=0;for(let t of n){let n=e?.[t]||{},o=String(n.status||``),s=n.phase?String(n.phase):void 0,c=n.exit_code??null;Cg(s)?a+=1:wg(o,s,c)?i+=1:r+=1}return{total:n.length,success:r,failed:i,pending:a}}var Og=3e3,kg=N(new Map),Ag=N([]),jg=N(!0),Mg=null,Ng=new Set;function Pg(e){let t=Number(e.total)||0,n=Number(e.done)||0,r=Number(e.remaining)??Math.max(0,t-n);return{executionId:Number(e.execution_id),label:String(e.label||`执行 #${e.execution_id}`),status:String(e.status||`running`),total:t,done:n,remaining:r,success:Number(e.success)||0,failed:Number(e.failed)||0,progress:String(e.progress||`${n}/${t}`),longTask:!!e.long_task,operator:e.operator?String(e.operator):void 0}}function Fg(e){let t=new Map(kg.value);bg(e.status)?t.delete(e.executionId):t.set(e.executionId,e),kg.value=t}function Ig(e){let t={executionId:e.executionId,label:e.label,status:e.status,success:e.success,failed:e.failed,total:e.total,fading:!1};Ag.value=[t,...Ag.value].slice(0,5);for(let e of Ng)try{e(t)}catch{}setTimeout(()=>{Ag.value=Ag.value.map(e=>e.executionId===t.executionId?{...e,fading:!0}:e),setTimeout(()=>{Ag.value=Ag.value.filter(e=>e.executionId!==t.executionId)},400)},3e3)}function Lg(){Mg||=setInterval(()=>{jg.value||zg()},Og)}function Rg(){kg.value.size>0||(Mg&&=(clearInterval(Mg),null))}async function zg(){let e=[...kg.value.keys()];if(!e.length){Rg();return}for(let t of e)try{let e=await ng.get(`/scripts/executions/${t}`),n=kg.value.get(t),r=e.label||n?.label||`执行 #${t}`,i=n?.total||0;if(e.server_ids)try{let t=JSON.parse(e.server_ids);Array.isArray(t)&&(i=t.length)}catch{}let a=e.progress||n?.progress||`0/${i}`,o=a.split(`/`),s=Number(o[0])||0,c=Number(o[1])||i,l={executionId:t,label:r,status:e.status,total:c||i,done:s,remaining:Math.max(0,(c||i)-s),success:s,failed:0,progress:a,longTask:!!(e.long_task??n?.longTask),operator:n?.operator};bg(e.status)?(Fg(l),Ig({...l,status:e.status})):Fg(l)}catch{}Rg()}function Bg(e){let t=Pg(e);if(t.executionId){if(e.type===`script_complete`||bg(t.status)){Fg(t),Ig(t),Rg();return}Fg(t),Lg()}}function Vg(e){jg.value=e,!e&&kg.value.size>0&&Lg()}function Hg(e,t,n,r=!1,i,a=`running`){bg(a)||(Fg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:r}),Lg())}function Ug(e){return Ng.add(e),()=>Ng.delete(e)}function Wg(e){Ag.value=Ag.value.map(t=>t.executionId===e?{...t,fading:!0}:t),setTimeout(()=>{Ag.value=Ag.value.filter(t=>t.executionId!==e)},400)}function Gg(){let e=G(()=>[...kg.value.values()].sort((e,t)=>t.executionId-e.executionId));return Gr(()=>{}),{runningItems:e,completeAlerts:G(()=>Ag.value),registerScriptExecution:Hg,dismissCompleteAlert:Wg,onScriptExecutionComplete:Ug}}var Kg=N(null),qg=N(!1),Jg=N(0),Yg=N([]),Xg=null,Zg=3e4,Qg=50;function $g(){return`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}/ws/alerts`}function e_(){let e=og(),t=G(()=>{if(!Kg.value)return`disconnected`;switch(Kg.value.readyState){case WebSocket.CONNECTING:return`connecting`;case WebSocket.OPEN:return`connected`;case WebSocket.CLOSING:return`closing`;default:return`disconnected`}});function n(){if(!e.token||Kg.value?.readyState===WebSocket.OPEN)return;Kg.value&&=(Kg.value.onclose=null,Kg.value.close(),null);let t=`${$g()}?token=${e.token}`,n=new WebSocket(t);n.onopen=()=>{qg.value=!0,Jg.value=0,Vg(!0)},n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}if(t.type===`script_progress`||t.type===`script_complete`){Bg(t);return}if(t.type===`alert`||t.type===`recovery`){let e={type:t.type,serverId:t.server_id,serverName:t.server_name,alertType:t.alert_type||t.metric,value:t.alert_value||t.value,time:new Date().toLocaleTimeString()};Yg.value.unshift(e),Yg.value.length>Qg&&Yg.value.pop();let n=window.$snackbar;if(n){let e=t.type===`alert`?`error`:`success`;n(t.type===`alert`?`告警: ${t.server_name} ${t.alert_type} ${t.alert_value}%`:`恢复: ${t.server_name} ${t.metric} 恢复正常`,e)}}}catch{}},n.onclose=t=>{if(qg.value=!1,Vg(!1),Kg.value=null,t.code===4001||t.code===4401){e.forceLogout();return}i()},n.onerror=()=>{},Kg.value=n}function r(){Xg&&=(clearTimeout(Xg),null),Kg.value&&=(Kg.value.close(),null),qg.value=!1,Jg.value=0,Vg(!1)}function i(){if(!e.isLoggedIn)return;Jg.value++;let t=Math.min(1e3*2**(Jg.value-1)+Math.random()*1e3,Zg);Xg=setTimeout(()=>{e.isLoggedIn&&n()},t)}function a(){Yg.value=[]}return{connected:qg,connectionState:t,alerts:Yg,connect:n,disconnect:r,clearAlerts:a}}var t_=[{value:`off`,title:`关闭`},{value:`beep_short`,title:`短促单音`},{value:`beep_double`,title:`双音提示(默认)`},{value:`chime_soft`,title:`柔和三音`}],n_=`beep_double`,r_=new Set(t_.map(e=>e.value));function i_(e){let t=String(e??``).trim().toLowerCase();return r_.has(t)?t:n_}function a_(e,t,n,r,i=.08){let a=e.createOscillator(),o=e.createGain();a.type=`sine`,a.frequency.value=t,o.gain.value=i,a.connect(o),o.connect(e.destination),a.start(n),a.stop(n+r)}function o_(e){if(e!==`off`)try{let t=new AudioContext,n=t.currentTime;if(e===`beep_short`){a_(t,880,n,.12);return}if(e===`beep_double`){a_(t,880,n,.15),a_(t,1174,n+.12,.2);return}e===`chime_soft`&&(a_(t,523.25,n,.1,.06),a_(t,659.25,n+.1,.1,.06),a_(t,783.99,n+.2,.14,.06))}catch{}}var s_=`nexus_script_exec_complete_sound`,c_=N(l_());function l_(){try{let e=localStorage.getItem(s_);if(e)return i_(e)}catch{}return n_}function u_(e){try{localStorage.setItem(s_,e)}catch{}}function d_(){async function e(){try{let e=i_((await tg(`/settings/script_exec_complete_sound`)).value);c_.value=e,u_(e)}catch{c_.value=l_()}}async function t(e){let t=i_(e);await tg(`/settings/script_exec_complete_sound`,{method:`PUT`,body:JSON.stringify({value:t})}),c_.value=t,u_(t)}function n(){o_(c_.value)}function r(e){o_(e??c_.value)}return{soundMode:c_,syncFromServer:e,saveToServer:t,playCompleteSound:n,previewSound:r}}var f_=3e3,p_=Rt({visible:!1,text:``,color:`success`}),m_=null;function h_(e,t=`success`){m_&&=(clearTimeout(m_),null),p_.text=e,p_.color=t,p_.visible=!0,m_=setTimeout(()=>{g_()},f_)}function g_(){m_&&=(clearTimeout(m_),null),p_.visible=!1}var __=yu(`v-alert-title`),v_=J({border:[Boolean,Number,String]},`border`);function y_(e,t=lu()){return{borderClasses:G(()=>{let n=e.border;return n===!0||n===``?`${t}--border`:typeof n==`string`||n===0?String(n).split(` `).map(e=>`border-${e}`):[]})}}var b_=[null,`default`,`comfortable`,`compact`],x_=J({density:{type:String,default:`default`,validator:e=>b_.includes(e)}},`density`);function S_(e,t=lu()){return{densityClasses:I(()=>`${t}--density-${e.density}`)}}var C_=J({elevation:{type:[Number,String],validator:e=>parseInt(e)>=0}},`elevation`);function w_(e){return{elevationClasses:I(()=>{let t=Yt(e)?e.value:e.elevation;return t==null?[]:[`elevation-${parseInt(t)}`]})}}var T_=J({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},`rounded`);function E_(e,t=lu()){return{roundedClasses:G(()=>{let n=Yt(e)?e.value:e.rounded,r=Yt(e)?!1:e.tile,i=[];if(r||n===!1)i.push(`rounded-0`);else if(n===!0||n===``)i.push(`${t}--rounded`);else if(typeof n==`string`||n===0)for(let e of String(n).split(` `))i.push(`rounded-${e}`);return i})}}var D_=J({tag:{type:[String,Object,Function],default:`div`}},`tag`);function O_(e){return Nc(()=>{let{class:t,style:n}=M_(e);return{colorClasses:t,colorStyles:n}})}function k_(e){let{colorClasses:t,colorStyles:n}=O_(()=>({text:Qt(e)}));return{textColorClasses:t,textColorStyles:n}}function A_(e){let{colorClasses:t,colorStyles:n}=O_(()=>({background:Qt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function j_(e){return{text:typeof e.text==`string`?e.text.replace(/^text-/,``):e.text,background:typeof e.background==`string`?e.background.replace(/^bg-/,``):e.background}}function M_(e){let t=j_(Qt(e)),n=[],r={};if(t.background)if(Kl(t.background)){if(r.backgroundColor=t.background,!t.text&&ql(t.background)){let e=Xl(t.background);(e.a==null||e.a===1)&&n.push(su(e)?`v-theme-on-dark`:`v-theme-on-light`)}}else n.push(`bg-${t.background}`);return t.text&&(Kl(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}var N_=[`elevated`,`flat`,`tonal`,`outlined`,`text`,`plain`];function P_(e,t){return H(B,null,[e&&H(`span`,{key:`overlay`,class:j(`${t}__overlay`)},null),H(`span`,{key:`underlay`,class:j(`${t}__underlay`)},null)])}var F_=J({color:String,variant:{type:String,default:`elevated`,validator:e=>N_.includes(e)}},`variant`);function I_(e,t=lu()){let n=I(()=>{let{variant:n}=Qt(e);return`${t}--variant-${n}`}),{colorClasses:r,colorStyles:i}=O_(()=>{let{variant:t,color:n}=Qt(e);return{[[`elevated`,`flat`].includes(t)?`background`:`text`]:n}});return{colorClasses:r,colorStyles:i,variantClasses:n}}var L_=J({baseColor:String,divided:Boolean,direction:{type:String,default:`horizontal`},...v_(),...Y(),...x_(),...C_(),...T_(),...D_(),...Of(),...F_()},`VBtnGroup`),R_=X()({name:`VBtnGroup`,props:L_(),setup(e,{slots:t}){let{themeClasses:n}=Bf(e),{densityClasses:r}=S_(e),{borderClasses:i}=y_(e),{elevationClasses:a}=w_(e),{roundedClasses:o}=E_(e);mu({VBtn:{height:I(()=>e.direction===`horizontal`?`auto`:null),baseColor:I(()=>e.baseColor),color:I(()=>e.color),density:I(()=>e.density),flat:!0,variant:I(()=>e.variant)}}),Z(()=>U(e.tag,{class:j([`v-btn-group`,`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},n.value,i.value,r.value,a.value,o.value,e.class]),style:A(e.style)},t))}}),z_=J({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},`group`),B_=J({value:null,disabled:Boolean,selectedClass:String},`group-item`);function V_(e,t,n=!0){let r=cu(`useGroupItem`);if(!r)throw Error(`[Vuetify] useGroupItem composable must be used inside a component setup function`);let i=Er();Vn(Symbol.for(`${t.description}:id`),i);let a=R(t,null);if(!a){if(!n)return a;throw Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}let o=I(()=>e.value),s=G(()=>!!(a.disabled.value||e.disabled));function c(){a?.register({id:i,value:o,disabled:s},r)}function l(){a?.unregister(i)}c(),Wr(()=>l());let u=G(()=>a.isSelected(i)),d=G(()=>a.items.value[0].id===i),f=G(()=>a.items.value[a.items.value.length-1].id===i),p=G(()=>u.value&&[a.selectedClass.value,e.selectedClass]);return z(u,e=>{r.emit(`group:selected`,{value:e})},{flush:`sync`}),{id:i,isSelected:u,isFirst:d,isLast:f,toggle:()=>a.select(i,!u.value),select:e=>a.select(i,e),selectedClass:p,value:o,disabled:s,group:a,register:c,unregister:l}}function H_(e,t){let n=!1,r=Rt([]),i=Gu(e,`modelValue`,[],e=>e===void 0?[]:W_(r,e===null?[null]:xc(e)),t=>{let n=G_(r,t);return e.multiple?n:n[0]}),a=cu(`useGroup`);function o(e,n){let i=e,o=jc(Symbol.for(`${t.description}:id`),a?.vnode).indexOf(n);F(i.value)===void 0&&(i.value=o,i.useIndexAsValue=!0),o>-1?r.splice(o,0,i):r.push(i)}function s(e){if(n)return;c();let t=r.findIndex(t=>t.id===e);r.splice(t,1)}function c(){let t=r.find(e=>!e.disabled);t&&e.mandatory===`force`&&!i.value.length&&(i.value=[t.id])}Vr(()=>{c()}),Wr(()=>{n=!0}),Ur(()=>{for(let e=0;ee.id===t);if(!(n&&a?.disabled))if(e.multiple){let r=i.value.slice(),a=r.findIndex(e=>e===t),o=~a;if(n??=!o,o&&e.mandatory&&r.length<=1||!o&&e.max!=null&&r.length+1>e.max)return;a<0&&n?r.push(t):a>=0&&!n&&r.splice(a,1),i.value=r}else{let r=i.value.includes(t);if(e.mandatory&&r||!r&&!n)return;i.value=n??!r?[t]:[]}}function u(t){if(e.multiple&&Ys(`This method is not supported when using "multiple" prop`),i.value.length){let e=i.value[0],n=r.findIndex(t=>t.id===e),a=(n+t)%r.length,o=r[a];for(;o.disabled&&a!==n;)a=(a+t)%r.length,o=r[a];if(o.disabled)return;i.value=[r[a].id]}else{let e=r.find(e=>!e.disabled);e&&(i.value=[e.id])}}let d={register:o,unregister:s,selected:i,select:l,disabled:I(()=>e.disabled),prev:()=>u(r.length-1),next:()=>u(1),isSelected:e=>i.value.includes(e),selectedClass:I(()=>e.selectedClass),items:I(()=>r),getItemIndex:e=>U_(r,e)};return Vn(t,d),d}function U_(e,t){let n=W_(e,[t]);return n.length?e.findIndex(e=>e.id===n[0]):-1}function W_(e,t){let n=[];return t.forEach(t=>{let r=e.find(e=>Su(t,e.value)),i=e[t];r?.value===void 0?i?.useIndexAsValue&&n.push(i.id):n.push(r.id)}),n}function G_(e,t){let n=[];return t.forEach(t=>{let r=e.findIndex(e=>e.id===t);if(~r){let t=e[r];n.push(t.value===void 0?r:t.value)}}),n}var K_=Symbol.for(`vuetify:v-btn-toggle`),q_=J({...L_(),...z_()},`VBtnToggle`),J_=X()({name:`VBtnToggle`,props:q_(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isSelected:n,next:r,prev:i,select:a,selected:o}=H_(e,K_);return Z(()=>{let s=R_.filterProps(e);return U(R_,W({class:[`v-btn-toggle`,{"v-btn-toggle--has-color":!!e.color},e.class]},s,{style:e.style}),{default:()=>[t.default?.({isSelected:n,next:r,prev:i,select:a,selected:o})]})}),{next:r,prev:i,select:a}}}),Y_=J({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},`VDefaultsProvider`),X_=X(!1)({name:`VDefaultsProvider`,props:Y_(),setup(e,{slots:t}){let{defaults:n,disabled:r,reset:i,root:a,scoped:o}=rn(e);return mu(n,{reset:i,root:a,scoped:o,disabled:r}),()=>t.default?.()}}),Z_=[`x-small`,`small`,`default`,`large`,`x-large`],Q_=J({size:{type:[String,Number],default:`default`}},`size`);function $_(e,t=lu()){return Nc(()=>{let n=e.size,r,i;return Pc(Z_,n)?r=`${t}--size-${n}`:n&&(i={width:q(n),height:q(n)}),{sizeClasses:r,sizeStyles:i}})}var ev=J({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:Q,opacity:[String,Number],...Y(),...Q_(),...D_({tag:`i`}),...Of()},`VIcon`),tv=X()({name:`VIcon`,props:ev(),setup(e,{attrs:t,slots:n}){let r=P(),{themeClasses:i}=Vf(),{iconData:a}=zu(()=>r.value||e.icon),{sizeClasses:o}=$_(e),{textColorClasses:s,textColorStyles:c}=k_(()=>e.color);return Z(()=>{let l=n.default?.();l&&(r.value=kc(l).filter(e=>e.type===xa&&e.children&&typeof e.children==`string`)[0]?.children);let u=!!(t.onClick||t.onClickOnce);return U(a.value.component,{tag:e.tag,icon:a.value.icon,class:j([`v-icon`,`notranslate`,i.value,o.value,s.value,{"v-icon--clickable":u,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:A([{"--v-icon-opacity":e.opacity},o.value?void 0:{fontSize:q(e.size),height:q(e.size),width:q(e.size)},c.value,e.style]),role:u?`button`:void 0,"aria-hidden":!u,tabindex:u?e.disabled?-1:0:void 0},{default:()=>[l]})}),{}}});function nv(e,t){let n=N(),r=P(!1);if(Qs){let i=new IntersectionObserver(t=>{e?.(t,i),r.value=!!t.find(e=>e.isIntersecting)},t);De(()=>{i.disconnect()}),z(n,(e,t)=>{t&&(i.unobserve(t),r.value=!1),e&&i.observe(e)},{flush:`post`})}return{intersectionRef:n,isIntersecting:r}}var rv=J({reveal:{type:[Boolean,Object],default:!1}},`reveal`);function iv(e){let t=I(()=>typeof e.reveal==`object`?Math.max(0,Number(e.reveal.duration??900)):900),n=P(e.reveal?`initial`:`disabled`);return Vr(async()=>{e.reveal&&(n.value=`initial`,await new Promise(e=>requestAnimationFrame(e)),n.value=`pending`,await new Promise(e=>setTimeout(e,t.value)),n.value=`done`)}),{duration:t,state:n}}var av=J({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Y(),...rv(),...Q_(),...D_({tag:`div`}),...Of()},`VProgressCircular`),ov=X()({name:`VProgressCircular`,props:av(),setup(e,{slots:t}){let n=2*Math.PI*20,r=N(),{themeClasses:i}=Bf(e),{sizeClasses:a,sizeStyles:o}=$_(e),{textColorClasses:s,textColorStyles:c}=k_(()=>e.color),{textColorClasses:l,textColorStyles:u}=k_(()=>e.bgColor),{intersectionRef:d,isIntersecting:f}=nv(),{resizeRef:p,contentRect:m}=Hf(),{state:h,duration:g}=iv(e),_=I(()=>h.value===`initial`?0:Cc(parseFloat(e.modelValue),0,100)),v=I(()=>Number(e.width)),y=I(()=>o.value?Number(e.size):m.value?m.value.width:Math.max(v.value,32)),b=I(()=>20/(1-v.value/y.value)*2),x=I(()=>v.value/y.value*b.value),S=I(()=>{let t=(100-_.value)/100*n;return e.rounded&&_.value>0&&_.value<100?q(Math.min(n-.01,t+x.value)):q(t)}),C=G(()=>{let t=Number(e.rotate);return e.rounded?t+x.value/2/n*360:t});return Gn(()=>{d.value=r.value,p.value=r.value}),Z(()=>U(e.tag,{ref:r,class:j([`v-progress-circular`,{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":f.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate===`disable-shrink`||tc()),"v-progress-circular--revealing":[`initial`,`pending`].includes(h.value)},i.value,a.value,s.value,e.class]),style:A([o.value,c.value,{"--progress-reveal-duration":`${g.value}ms`},e.style]),role:`progressbar`,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":e.indeterminate?void 0:_.value},{default:()=>[H(`svg`,{style:{transform:`rotate(calc(-90deg + ${C.value}deg))`},xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 ${b.value} ${b.value}`},[H(`circle`,{class:j([`v-progress-circular__underlay`,l.value]),style:A(u.value),fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":0},null),H(`circle`,{class:`v-progress-circular__overlay`,fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":S.value,"stroke-linecap":e.rounded?`round`:void 0},null)]),t.default&&H(`div`,{class:`v-progress-circular__content`},[t.default({value:_.value})])]})),{}}}),sv=J({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},`dimension`);function cv(e){return{dimensionStyles:G(()=>{let t={},n=q(e.height),r=q(e.maxHeight),i=q(e.maxWidth),a=q(e.minHeight),o=q(e.minWidth),s=q(e.width);return n!=null&&(t.height=n),r!=null&&(t.maxHeight=r),i!=null&&(t.maxWidth=i),a!=null&&(t.minHeight=a),o!=null&&(t.minWidth=o),s!=null&&(t.width=s),t})}}var lv={center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`},uv=J({location:String},`location`);function dv(e,t=!1,n){let{isRtl:r}=sd();return{locationStyles:G(()=>{if(!e.location)return{};let{side:i,align:a}=nl(e.location.split(` `).length>1?e.location:`${e.location} center`,r.value);function o(e){return n?n(e):0}let s={};return i!==`center`&&(t?s[lv[i]]=`calc(100% - ${o(i)}px)`:s[i]=0),a===`center`?(i===`center`?s.top=s.left=`50%`:s[{top:`left`,bottom:`left`,left:`top`,right:`top`}[i]]=`50%`,s.transform={top:`translateX(-50%)`,bottom:`translateX(-50%)`,left:`translateY(-50%)`,right:`translateY(-50%)`,center:`translate(-50%, -50%)`}[i]):t?s[lv[a]]=`calc(100% - ${o(a)}px)`:s[a]=0,s})}}var fv=J({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},`chunks`);function pv(e,t){let n=I(()=>!!e.chunkCount||!!e.chunkWidth),r=G(()=>{let n=Qt(t);if(!n)return 0;if(!e.chunkCount)return Number(e.chunkWidth);let r=Number(e.chunkCount);return(n-Number(e.chunkGap)*(r-1))/r}),i=I(()=>Number(e.chunkGap)),a=G(()=>{if(!n.value)return{};let e=q(i.value),t=q(r.value);return{maskRepeat:`repeat-x`,maskImage:`linear-gradient(90deg, #000, #000 ${t}, transparent ${t}, transparent)`,maskSize:`calc(${t} + ${e}) 100%`}});function o(e){let n=Qt(t);if(!n)return e;let a=100*i.value/n,o=100*(r.value+i.value)/n;return Cc(Math.floor((e+a)/o+1e-9)*o-a/2,0,100)}return{hasChunks:n,chunksMaskStyles:a,snapValueToChunk:o}}var mv=J({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...fv(),...Y(),...uv({location:`top`}),...T_(),...D_(),...Of()},`VProgressLinear`),hv=X()({name:`VProgressLinear`,props:mv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=N(),r=Gu(e,`modelValue`),{isRtl:i,rtlClasses:a}=sd(),{themeClasses:o}=Bf(e),{locationStyles:s}=dv(e),{textColorClasses:c,textColorStyles:l}=k_(()=>e.color),{backgroundColorClasses:u,backgroundColorStyles:d}=A_(()=>e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:p}=A_(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:h}=A_(()=>e.color),{roundedClasses:g}=E_(e),{intersectionRef:_,isIntersecting:v}=nv(),y=G(()=>parseFloat(e.max)),b=G(()=>parseFloat(e.height)),x=G(()=>Cc(parseFloat(e.bufferValue)/y.value*100,0,100)),S=G(()=>Cc(parseFloat(r.value)/y.value*100,0,100)),C=G(()=>i.value!==e.reverse),w=G(()=>e.indeterminate?`fade-transition`:`slide-x-transition`),T=P(0),{hasChunks:E,chunksMaskStyles:ee,snapValueToChunk:D}=pv(e,T);Wu(E,()=>{let{resizeRef:e}=Hf(e=>T.value=e[0].contentRect.width);Gn(()=>e.value=n.value)});let te=G(()=>E.value?D(x.value):x.value),O=G(()=>E.value?D(S.value):S.value);function ne(e){if(!_.value)return;let{left:t,right:n,width:i}=_.value.getBoundingClientRect(),a=C.value?i-e.clientX+(n-i):e.clientX-t;r.value=Math.round(a/i*y.value)}return Gn(()=>{_.value=n.value}),Z(()=>U(e.tag,{ref:n,class:j([`v-progress-linear`,{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&v.value,"v-progress-linear--reverse":C.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},g.value,o.value,a.value,e.class]),style:A([{bottom:e.location===`bottom`?0:void 0,top:e.location===`top`?0:void 0,height:e.active?q(b.value):0,"--v-progress-linear-height":q(b.value),...e.absolute?s.value:{}},ee.value,e.style]),role:`progressbar`,"aria-hidden":e.active?`false`:`true`,"aria-valuemin":`0`,"aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(r.value),y.value),onClick:e.clickable&&ne},{default:()=>[e.stream&&H(`div`,{key:`stream`,class:j([`v-progress-linear__stream`,c.value]),style:{...l.value,[C.value?`left`:`right`]:q(-b.value),borderTop:`${q(b.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${q(b.value/4)})`,width:q(100-x.value,`%`),"--v-progress-linear-stream-to":q(b.value*(C.value?1:-1))}},null),H(`div`,{class:j([`v-progress-linear__background`,u.value]),style:A([d.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),H(`div`,{class:j([`v-progress-linear__buffer`,f.value]),style:A([p.value,{opacity:parseFloat(e.bufferOpacity),width:q(te.value,`%`)}])},null),U(Ao,{name:w.value},{default:()=>[e.indeterminate?H(`div`,{class:`v-progress-linear__indeterminate`},[[`long`,`short`].map(e=>H(`div`,{key:e,class:j([`v-progress-linear__indeterminate`,e,m.value]),style:A(h.value)},null))]):H(`div`,{class:j([`v-progress-linear__determinate`,m.value]),style:A([h.value,{width:q(O.value,`%`)}])},null)]}),t.default&&H(`div`,{class:`v-progress-linear__content`},[t.default({value:S.value,buffer:x.value})])]})),{}}}),gv=J({loading:[Boolean,String]},`loader`);function _v(e,t=lu()){return{loaderClasses:I(()=>({[`${t}--loading`]:e.loading}))}}function vv(e,{slots:t}){return H(`div`,{class:j(`${e.name}__loader`)},[t.default?.({color:e.color,isActive:e.active})||U(hv,{absolute:e.absolute,active:e.active,color:e.color,height:`2`,indeterminate:!0},null)])}var yv=[`static`,`relative`,`fixed`,`absolute`,`sticky`],bv=J({position:{type:String,validator:e=>yv.includes(e)}},`position`);function xv(e,t=lu()){return{positionClasses:I(()=>e.position?`${t}--${e.position}`:void 0)}}function Sv(){let e=cu(`useRoute`);return G(()=>e?.proxy?.$route)}function Cv(){return cu(`useRouter`)?.proxy?.$router}function wv(e,t){let n=$r(`RouterLink`),r=I(()=>!!(e.href||e.to)),i=G(()=>r?.value||Lc(t,`click`)||Lc(e,`click`));if(typeof n==`string`||!(`useLink`in n)){let t=I(()=>e.href);return{isLink:r,isRouterLink:I(()=>!1),isClickable:i,href:t,linkProps:Rt({href:t}),route:I(()=>void 0),navigate:I(()=>void 0)}}let a=n.useLink({to:I(()=>e.to||``),replace:I(()=>e.replace)}),o=G(()=>e.to?a:void 0),s=Sv(),c=G(()=>o.value?e.exact?s.value?o.value.isExactActive?.value&&Su(o.value.route.value.query,s.value.query):o.value.isExactActive?.value??!1:o.value.isActive?.value??!1:!1),l=G(()=>e.to?o.value?.route.value.href:e.href);return{isLink:r,isRouterLink:I(()=>!!e.to),isClickable:i,isActive:c,route:I(()=>o.value?.route.value),navigate:I(()=>o.value?.navigate),href:l,linkProps:Rt({href:l,"aria-current":I(()=>c.value?`page`:void 0),"aria-disabled":I(()=>e.disabled&&r.value?`true`:void 0),tabindex:I(()=>e.disabled&&r.value?`-1`:void 0)})}}var Tv=J({href:String,replace:Boolean,to:[String,Object],exact:Boolean},`router`),Ev=!1;function Dv(e,t){let n=!1,r,i;K&&e?.beforeEach&&(Dn(()=>{window.addEventListener(`popstate`,a),r=e.beforeEach(()=>Ev?n?t():void 0:(Ev=!0,new Promise(e=>{setTimeout(()=>e(n?t():void 0))}))),i=e?.afterEach(()=>{Ev=!1})}),De(()=>{window.removeEventListener(`popstate`,a),r?.(),i?.()}));function a(e){e.state?.replaced||(n=!0,setTimeout(()=>n=!1))}}function Ov(e,t){z(()=>e.isActive?.value,n=>{e.isLink.value&&n!=null&&t&&Dn(()=>{t(n)})},{immediate:!0})}var kv=Symbol(`rippleStop`),Av=80;function jv(e,t){e.style.transform=t,e.style.webkitTransform=t}function Mv(e){return e.constructor.name===`TouchEvent`}function Nv(e){return e.constructor.name===`KeyboardEvent`}var Pv=(e,t,n={})=>{let r=0,i=0;if(!Nv(e)){let n=new cl(t),a=Mv(e)?e.touches[e.touches.length-1]:e,o=ul([a.clientX,a.clientY]);r=o.x-n.left,i=o.y-n.top}let a=0,o=.3;t._ripple?.circle?(o=.15,a=t.clientWidth/2,a=n.center?a:a+Math.sqrt((r-a)**2+(i-a)**2)/4):a=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;let s=`${(t.clientWidth-a*2)/2}px`,c=`${(t.clientHeight-a*2)/2}px`,l=n.center?s:`${r-a}px`,u=n.center?c:`${i-a}px`;return{radius:a,scale:o,x:l,y:u,centerX:s,centerY:c}},Fv={show(e,t,n={}){if(!t?._ripple?.enabled)return;let r=document.createElement(`span`),i=document.createElement(`span`);r.appendChild(i),r.className=`v-ripple__container`,n.class&&(r.className+=` ${n.class}`);let{radius:a,scale:o,x:s,y:c,centerX:l,centerY:u}=Pv(e,t,n),d=`${a*2}px`;i.className=`v-ripple__animation`,i.style.width=d,i.style.height=d,t.appendChild(r);let f=window.getComputedStyle(t);f&&f.position===`static`&&(t.style.position=`relative`,t.dataset.previousPosition=`static`),i.classList.add(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--visible`),jv(i,`translate(${s}, ${c}) scale3d(${o},${o},${o})`),i.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.remove(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--in`),jv(i,`translate(${l}, ${u}) scale3d(1,1,1)`)})})},hide(e){if(!e?._ripple?.enabled)return;let t=e.getElementsByClassName(`v-ripple__animation`);if(t.length===0)return;let n=Array.from(t).findLast(e=>!e.dataset.isHiding);if(n)n.dataset.isHiding=`true`;else return;let r=performance.now()-Number(n.dataset.activated),i=Math.max(250-r,0);setTimeout(()=>{n.classList.remove(`v-ripple__animation--in`),n.classList.add(`v-ripple__animation--out`),setTimeout(()=>{e.getElementsByClassName(`v-ripple__animation`).length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),n.parentNode?.parentNode===e&&e.removeChild(n.parentNode)},300)},i)}};function Iv(e){return e===void 0||!!e}function Lv(e){let t={},n=e.currentTarget;if(!(!n?._ripple||n._ripple.touched||e[kv])){if(e[kv]=!0,Mv(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||Nv(e),n._ripple.class&&(t.class=n._ripple.class),Mv(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{Fv.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{n?._ripple?.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},Av)}else Fv.show(e,n,t)}}function Rv(e){e[kv]=!0}function zv(e){let t=e.currentTarget;if(t?._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type===`touchend`&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{zv(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),Fv.hide(t)}}function Bv(e){let t=e.currentTarget;t?._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}var Vv=!1;function Hv(e,t){!Vv&&t.includes(e.key)&&(Vv=!0,Lv(e))}function Uv(e){Vv=!1,zv(e)}function Wv(e){Vv&&(Vv=!1,zv(e))}function Gv(e,t,n){let{value:r,modifiers:i}=t,a=Iv(r);a||Fv.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=a,e._ripple.centered=i.center,e._ripple.circle=i.circle;let o=oc(r)?r:{};o.class&&(e._ripple.class=o.class);let s=o.keys??[`Enter`,`Space`];if(e._ripple.keyDownHandler=e=>Hv(e,s),a&&!n){if(i.stop){e.addEventListener(`touchstart`,Rv,{passive:!0}),e.addEventListener(`mousedown`,Rv);return}e.addEventListener(`touchstart`,Lv,{passive:!0}),e.addEventListener(`touchend`,zv,{passive:!0}),e.addEventListener(`touchmove`,Bv,{passive:!0}),e.addEventListener(`touchcancel`,zv),e.addEventListener(`mousedown`,Lv),e.addEventListener(`mouseup`,zv),e.addEventListener(`mouseleave`,zv),e.addEventListener(`keydown`,e._ripple.keyDownHandler),e.addEventListener(`keyup`,Uv),e.addEventListener(`blur`,Wv),e.addEventListener(`dragstart`,zv,{passive:!0})}else !a&&n&&Kv(e)}function Kv(e){e.removeEventListener(`touchstart`,Rv),e.removeEventListener(`mousedown`,Rv),e.removeEventListener(`touchstart`,Lv),e.removeEventListener(`touchend`,zv),e.removeEventListener(`touchmove`,Bv),e.removeEventListener(`touchcancel`,zv),e.removeEventListener(`mousedown`,Lv),e.removeEventListener(`mouseup`,zv),e.removeEventListener(`mouseleave`,zv),e._ripple?.keyDownHandler&&e.removeEventListener(`keydown`,e._ripple.keyDownHandler),e.removeEventListener(`keyup`,Uv),e.removeEventListener(`blur`,Wv),e.removeEventListener(`dragstart`,zv)}function qv(e,t){Gv(e,t,!1)}function Jv(e){Kv(e),delete e._ripple}function Yv(e,t){t.value!==t.oldValue&&Gv(e,t,Iv(t.oldValue))}var Xv={mounted:qv,unmounted:Jv,updated:Yv},Zv=J({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:K_},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:Q,appendIcon:Q,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...v_(),...Y(),...x_(),...sv(),...C_(),...B_(),...gv(),...uv(),...bv(),...T_(),...Tv(),...Q_(),...D_({tag:`button`}),...Of(),...F_({variant:`elevated`})},`VBtn`),Qv=X()({name:`VBtn`,props:Zv(),emits:{"group:selected":e=>!0},setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Bf(e),{borderClasses:i}=y_(e),{densityClasses:a}=S_(e),{dimensionStyles:o}=cv(e),{elevationClasses:s}=w_(e),{loaderClasses:c}=_v(e),{locationStyles:l}=dv(e),{positionClasses:u}=xv(e),{roundedClasses:d}=E_(e),{sizeClasses:f,sizeStyles:p}=$_(e),m=V_(e,e.symbol,!1),h=wv(e,t),g=G(()=>e.active===void 0?h.isRouterLink.value?h.isActive?.value:m?.isSelected.value:e.active),_=I(()=>g.value?e.activeColor??e.color:e.color),{colorClasses:v,colorStyles:y,variantClasses:b}=I_(G(()=>({color:m?.isSelected.value&&(!h.isLink.value||h.isActive?.value)||!m||h.isActive?.value?_.value??e.baseColor:e.baseColor,variant:e.variant}))),x=G(()=>m?.disabled.value||e.disabled),S=I(()=>e.variant===`elevated`&&!(e.disabled||e.flat||e.border)),C=G(()=>{if(!(e.value===void 0||typeof e.value==`symbol`))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function w(e){x.value||h.isLink.value&&(e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0||t.target===`_blank`)||(h.isRouterLink.value?h.navigate.value?.(e):m?.toggle())}return Ov(h,m?.select),Z(()=>{let t=h.isLink.value?`a`:e.tag,_=!!(e.prependIcon||n.prepend),T=!!(e.appendIcon||n.append),E=!!(e.icon&&e.icon!==!0);return zn(U(t,W(h.linkProps,{type:t===`a`?void 0:`button`,class:[`v-btn`,m?.selectedClass.value,{"v-btn--active":g.value,"v-btn--block":e.block,"v-btn--disabled":x.value,"v-btn--elevated":S.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?[`v-btn--spaced`,`v-btn--spaced-${e.spaced}`]:[],r.value,i.value,v.value,a.value,s.value,c.value,u.value,d.value,f.value,b.value,e.class],style:[y.value,o.value,l.value,p.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:x.value&&t!==`a`||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:w,value:C.value}),{default:()=>[P_(!0,`v-btn`),!e.icon&&_&&H(`span`,{key:`prepend`,class:`v-btn__prepend`},[n.prepend?U(X_,{key:`prepend-defaults`,disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},n.prepend):U(tv,{key:`prepend-icon`,icon:e.prependIcon},null)]),H(`span`,{class:`v-btn__content`,"data-no-activator":``},[!n.default&&E?U(tv,{key:`content-icon`,icon:e.icon},null):U(X_,{key:`content-defaults`,disabled:!E,defaults:{VIcon:{icon:e.icon}}},{default:()=>[n.default?.()??be(e.text)]})]),!e.icon&&T&&H(`span`,{key:`append`,class:`v-btn__append`},[n.append?U(X_,{key:`append-defaults`,disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},n.append):U(tv,{key:`append-icon`,icon:e.appendIcon},null)]),!!e.loading&&H(`span`,{key:`loader`,class:`v-btn__loader`},[n.loader?.()??U(ov,{color:typeof e.loading==`boolean`?void 0:e.loading,indeterminate:!0,width:`2`},null)])]}),[[Xv,!x.value&&e.ripple,``,{center:!!e.icon}]])}),{group:m}}}),$v=J({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[[`x-small`,10],[`small`,16],[`default`,24],[`large`,28],[`x-large`,32]]}},`iconSize`);function ey(e,t){return{iconSize:G(()=>{let n=new Map(e.iconSizes),r=e.iconSize??t()??`default`;return n.has(r)?n.get(r):r})}}var ty=[`success`,`info`,`warning`,`error`],ny=J({border:{type:[Boolean,String],validator:e=>typeof e==`boolean`||[`top`,`end`,`bottom`,`start`].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Q,default:`$close`},closeLabel:{type:String,default:`$vuetify.close`},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>ty.includes(e)},...Y(),...x_(),...sv(),...C_(),...$v(),...uv(),...bv(),...T_(),...D_(),...Of(),...F_({variant:`flat`})},`VAlert`),ry=X()({name:`VAlert`,props:ny(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,{emit:t,slots:n}){let r=Gu(e,`modelValue`),i=I(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:a}=ey(e,()=>e.prominent?44:void 0),{themeClasses:o}=Bf(e),{colorClasses:s,colorStyles:c,variantClasses:l}=I_(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:u}=S_(e),{dimensionStyles:d}=cv(e),{elevationClasses:f}=w_(e),{locationStyles:p}=dv(e),{positionClasses:m}=xv(e),{roundedClasses:h}=E_(e),{textColorClasses:g,textColorStyles:_}=k_(()=>e.borderColor),{t:v}=id(),y=I(()=>({"aria-label":v(e.closeLabel),onClick(e){r.value=!1,t(`click:close`,e)}}));return()=>{let t=!!(n.prepend||i.value),v=!!(n.title||e.title),b=!!(n.close||e.closable),x={density:e.density,icon:i.value,size:e.iconSize||e.prominent?a.value:void 0};return r.value&&U(e.tag,{class:j([`v-alert`,e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?`start`:e.border}`]:!0},{"v-alert--prominent":e.prominent},o.value,s.value,u.value,f.value,m.value,h.value,l.value,e.class]),style:A([c.value,d.value,p.value,e.style]),role:`alert`},{default:()=>[P_(!1,`v-alert`),e.border&&H(`div`,{key:`border`,class:j([`v-alert__border`,g.value]),style:A(_.value)},null),t&&H(`div`,{key:`prepend`,class:`v-alert__prepend`},[n.prepend?U(X_,{key:`prepend-defaults`,disabled:!i.value,defaults:{VIcon:{...x}}},n.prepend):U(tv,W({key:`prepend-icon`},x),null)]),H(`div`,{class:`v-alert__content`},[v&&U(__,{key:`title`},{default:()=>[n.title?.()??e.title]}),n.text?.()??e.text,n.default?.()]),n.append&&H(`div`,{key:`append`,class:`v-alert__append`},[n.append()]),b&&H(`div`,{key:`close`,class:`v-alert__close`},[n.close?U(X_,{key:`close-defaults`,defaults:{VBtn:{icon:e.closeIcon,size:`x-small`,variant:`text`}}},{default:()=>[n.close?.({props:y.value})]}):U(Qv,W({key:`close-btn`,icon:e.closeIcon,size:`x-small`,variant:`text`},y.value),null)])]})}}}),iy=J({...Y(),...mc(Kf(),[`fullHeight`]),...Of()},`VApp`),ay=X()({name:`VApp`,props:iy(),setup(e,{slots:t}){let n=Bf(e),{layoutClasses:r,getLayoutItem:i,items:a,layoutRef:o}=Zf({...e,fullHeight:!0}),{rtlClasses:s}=sd();return Z(()=>H(`div`,{ref:o,class:j([`v-application`,n.themeClasses.value,r.value,s.value,e.class]),style:A([e.style])},[H(`div`,{class:`v-application__wrap`},[t.default?.()])])),{getLayoutItem:i,items:a,theme:n}}}),oy=J({text:String,...Y(),...D_()},`VToolbarTitle`),sy=X()({name:`VToolbarTitle`,props:oy(),setup(e,{slots:t}){return Z(()=>{let n=!!(t.default||t.text||e.text);return U(e.tag,{class:j([`v-toolbar-title`,e.class]),style:A(e.style)},{default:()=>[n&&H(`div`,{class:`v-toolbar-title__placeholder`},[t.text?t.text():e.text,t.default?.()])]})}),{}}}),cy=J({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},`transition`);function ly(e,t,n){return X()({name:e,props:cy({mode:n,origin:t}),setup(t,{slots:n}){let r={onBeforeEnter(e){t.origin&&(e.style.transformOrigin=t.origin)},onLeave(e){if(t.leaveAbsolute){let{offsetTop:t,offsetLeft:n,offsetWidth:r,offsetHeight:i}=e;e._transitionInitialStyles={position:e.style.position,top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height},e.style.position=`absolute`,e.style.top=`${t}px`,e.style.left=`${n}px`,e.style.width=`${r}px`,e.style.height=`${i}px`}t.hideOnLeave&&e.style.setProperty(`display`,`none`,`important`)},onAfterLeave(e){if(t.leaveAbsolute&&e?._transitionInitialStyles){let{position:t,top:n,left:r,width:i,height:a}=e._transitionInitialStyles;delete e._transitionInitialStyles,e.style.position=t||``,e.style.top=n||``,e.style.left=r||``,e.style.width=i||``,e.style.height=a||``}}};return()=>mo(t.group?Es:Ao,{name:t.disabled?``:e,css:!t.disabled,...t.group?void 0:{mode:t.mode},...t.disabled?{}:r},n.default)}})}function uy(e,t,n=`in-out`){return X()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:tc()},group:Boolean,hideOnLeave:Boolean},setup(n,{slots:r}){let i=n.group?Es:Ao;return()=>mo(i,{name:n.disabled?``:e,css:!n.disabled,...n.disabled?{}:{...t,onLeave:e=>{n.hideOnLeave?e.style.setProperty(`display`,`none`,`important`):t.onLeave?.(e)}}},r.default)}})}function dy(e=``,t=`y`){return{onBeforeEnter(e){e._parent=e.parentNode,e._initialStyle={transition:e.style.transition,overflow:e.style.overflow,width:e.style.width,height:e.style.height}},onEnter(n){let r=n._initialStyle;if(!r)return;n.style.setProperty(`transition`,`none`,`important`),n.style.overflow=`hidden`;let i=`${n.offsetWidth}px`,a=`${n.offsetHeight}px`;[`x`,`both`].includes(t)&&(n.style.width=`0`),[`y`,`both`].includes(t)&&(n.style.height=`0`),n.offsetHeight,n.style.transition=r.transition,e&&n._parent&&n._parent.classList.add(e),requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(n.style.width=i),[`y`,`both`].includes(t)&&(n.style.height=a)})},onAfterEnter:r,onEnterCancelled:r,onLeave(e){e._initialStyle={transition:``,overflow:e.style.overflow,width:e.style.width,height:e.style.height},e.style.overflow=`hidden`,[`x`,`both`].includes(t)&&(e.style.width=`${e.offsetWidth}px`),[`y`,`both`].includes(t)&&(e.style.height=`${e.offsetHeight}px`),e.offsetHeight,requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(e.style.width=`0`),[`y`,`both`].includes(t)&&(e.style.height=`0`)})},onAfterLeave:n,onLeaveCancelled:n};function n(t){e&&t._parent&&t._parent.classList.remove(e),r(t)}function r(e){if(!e._initialStyle)return;let{width:n,height:r}=e._initialStyle;e.style.overflow=e._initialStyle.overflow,n!=null&&[`x`,`both`].includes(t)&&(e.style.width=n),r!=null&&[`y`,`both`].includes(t)&&(e.style.height=r),delete e._initialStyle}}var fy=J({target:[Object,Array]},`v-dialog-transition`),py=new WeakMap,my=X()({name:`VDialogTransition`,props:fy(),setup(e,{slots:t}){let n={onBeforeEnter(e){e.style.pointerEvents=`none`,e.style.visibility=`hidden`},async onEnter(t,n){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),t.style.visibility=``;let r=gy(e.target,t),{x:i,y:a,sx:o,sy:s,speed:c}=r;if(py.set(t,r),tc())pl(t,[{opacity:0},{}],{duration:125*c,easing:Tu}).finished.then(()=>n());else{let e=pl(t,[{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0},{}],{duration:225*c,easing:Tu});hy(t)?.forEach(e=>{pl(e,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*c,easing:wu})}),e.finished.then(()=>n())}},onAfterEnter(e){e.style.removeProperty(`pointer-events`)},onBeforeLeave(e){e.style.pointerEvents=`none`},async onLeave(t,n){await new Promise(e=>requestAnimationFrame(e));let r;r=!py.has(t)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?gy(e.target,t):py.get(t);let{x:i,y:a,sx:o,sy:s,speed:c}=r;tc()?pl(t,[{},{opacity:0}],{duration:85*c,easing:Eu}).finished.then(()=>n()):(pl(t,[{},{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0}],{duration:125*c,easing:Eu}).finished.then(()=>n()),hy(t)?.forEach(e=>{pl(e,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*c,easing:wu})}))},onAfterLeave(e){e.style.removeProperty(`pointer-events`)}};return()=>e.target?U(Ao,W({name:`dialog-transition`},n,{css:!1}),t):U(Ao,{name:`dialog-transition`},t)}});function hy(e){let t=e.querySelector(`:scope > .v-card, :scope > .v-sheet, :scope > .v-list`)?.children;return t&&[...t]}function gy(e,t){let n=ul(e),r=fl(t),[i,a]=getComputedStyle(t).transformOrigin.split(` `).map(e=>parseFloat(e)),[o,s]=getComputedStyle(t).getPropertyValue(`--v-overlay-anchor-origin`).split(` `),c=n.left+n.width/2;o===`left`||s===`left`?c-=n.width/2:(o===`right`||s===`right`)&&(c+=n.width/2);let l=n.top+n.height/2;o===`top`||s===`top`?l-=n.height/2:(o===`bottom`||s===`bottom`)&&(l+=n.height/2);let u=n.width/r.width,d=n.height/r.height,f=Math.max(1,u,d),p=u/f||0,m=d/f||0,h=r.width*r.height/(window.innerWidth*window.innerHeight),g=h>.12?Math.min(1.5,(h-.12)*10+1):1;return{x:c-(i+r.left),y:l-(a+r.top),sx:p,sy:m,speed:g}}ly(`fab-transition`,`center center`,`out-in`),ly(`dialog-bottom-transition`),ly(`dialog-top-transition`);var _y=ly(`fade-transition`),vy=ly(`scale-transition`);ly(`scroll-x-transition`),ly(`scroll-x-reverse-transition`),ly(`scroll-y-transition`),ly(`scroll-y-reverse-transition`),ly(`slide-x-transition`),ly(`slide-x-reverse-transition`);var yy=ly(`slide-y-transition`);ly(`slide-y-reverse-transition`);var by=uy(`expand-transition`,dy()),xy=uy(`expand-x-transition`,dy(``,`x`));uy(`expand-both-transition`,dy(``,`both`));function Sy(e){return{aspectStyles:G(()=>{let t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+`%`}:void 0})}}var Cy=J({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Y(),...sv()},`VResponsive`),wy=X()({name:`VResponsive`,props:Cy(),setup(e,{slots:t}){let{aspectStyles:n}=Sy(e),{dimensionStyles:r}=cv(e);return Z(()=>H(`div`,{class:j([`v-responsive`,{"v-responsive--inline":e.inline},e.class]),style:A([r.value,e.style])},[H(`div`,{class:`v-responsive__sizer`,style:A(n.value)},null),t.additional?.(),t.default&&H(`div`,{class:j([`v-responsive__content`,e.contentClass])},[t.default()])])),{}}}),Ty=J({transition:{type:null,default:`fade-transition`,validator:e=>e!==!0}},`transition`),Ey=(e,{slots:t})=>{let{transition:n,disabled:r,group:i,...a}=e,{component:o=i?Es:Ao,...s}=oc(n)?n:{},c;return c=oc(n)?W(s,$c({disabled:r,group:i}),a):W({name:r||!n?``:n},a),mo(o,c,t)};function Dy(e,t){if(!Qs)return;let n=t.modifiers||{},r=t.value,{handler:i,options:a}=typeof r==`object`?r:{handler:r,options:{}},o=new IntersectionObserver((r=[],a)=>{let o=e._observe?.[t.instance.$.uid];if(!o)return;let s=r.some(e=>e.isIntersecting);i&&(!n.quiet||o.init)&&(!n.once||s||o.init)&&i(s,r,a),s&&n.once?Oy(e,t):o.init=!0},a);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function Oy(e,t){let n=e._observe?.[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}var ky={mounted:Dy,unmounted:Oy,updated:(e,t)=>{e._observe?.[t.instance.$.uid]&&(Oy(e,t),Dy(e,t))}},Ay=J({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,imageClass:null,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:``},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...Cy(),...Y(),...T_(),...Ty()},`VImg`),jy=X()({name:`VImg`,directives:{vIntersect:ky},inheritAttrs:!1,props:Ay(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{backgroundColorClasses:i,backgroundColorStyles:a}=A_(()=>e.color),{roundedClasses:o}=E_(e),s=cu(`VImg`),c=P(``),l=N(),u=P(e.eager?`loading`:`idle`),d=P(),f=P(),p=G(()=>e.src&&typeof e.src==`object`?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),m=G(()=>p.value.aspect||d.value/f.value||0);z(()=>e.src,()=>{h(u.value!==`idle`)}),z(m,(e,t)=>{!e&&t&&l.value&&b(l.value)}),Br(()=>h());function h(t){if(!(e.eager&&t)&&!(Qs&&!t&&!e.eager)){if(u.value=`loading`,p.value.lazySrc){let e=new Image;e.src=p.value.lazySrc,b(e,null)}p.value.src&&Dn(()=>{n(`loadstart`,l.value?.currentSrc||p.value.src),setTimeout(()=>{if(!s.isUnmounted)if(l.value?.complete){if(l.value.naturalWidth||_(),u.value===`error`)return;m.value||b(l.value,null),u.value===`loading`&&g()}else m.value||b(l.value),v()})})}}function g(){s.isUnmounted||(v(),b(l.value),u.value=`loaded`,n(`load`,l.value?.currentSrc||p.value.src))}function _(){s.isUnmounted||(u.value=`error`,n(`error`,l.value?.currentSrc||p.value.src))}function v(){let e=l.value;e&&(c.value=e.currentSrc||e.src)}let y=-1;Wr(()=>{clearTimeout(y)});function b(e,t=100){let n=()=>{if(clearTimeout(y),s.isUnmounted)return;let{naturalHeight:r,naturalWidth:i}=e;r||i?(d.value=i,f.value=r):!e.complete&&u.value===`loading`&&t!=null?y=window.setTimeout(n,t):(e.currentSrc.endsWith(`.svg`)||e.currentSrc.startsWith(`data:image/svg+xml`))&&(d.value=1,f.value=1)};n()}let x=I(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),S=()=>{if(!p.value.src||u.value===`idle`)return null;let t=H(`img`,{class:j([`v-img__img`,x.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.src,srcset:p.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:l,onLoad:g,onError:_},null),n=r.sources?.();return U(Ey,{transition:e.transition,appear:!0},{default:()=>[zn(n?H(`picture`,{class:`v-img__picture`},[n,t]):t,[[Jo,u.value===`loaded`]])]})},C=()=>U(Ey,{transition:e.transition},{default:()=>[p.value.lazySrc&&u.value!==`loaded`&&H(`img`,{class:j([`v-img__img`,`v-img__img--preload`,x.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),w=()=>r.placeholder?U(Ey,{transition:e.transition,appear:!0},{default:()=>[(u.value===`loading`||u.value===`error`&&!r.error)&&H(`div`,{class:`v-img__placeholder`},[r.placeholder()])]}):null,T=()=>r.error?U(Ey,{transition:e.transition,appear:!0},{default:()=>[u.value===`error`&&H(`div`,{class:`v-img__error`},[r.error()])]}):null,E=()=>e.gradient?H(`div`,{class:`v-img__gradient`,style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,ee=P(!1);{let e=z(m,t=>{t&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{ee.value=!0})}),e())})}return Z(()=>{let n=wy.filterProps(e),[s,c]=bc(t);return zn(U(wy,W({class:[`v-img`,{"v-img--absolute":e.absolute,"v-img--booting":!ee.value,"v-img--fit-content":e.width===`fit-content`},i.value,o.value,e.class],style:[{width:q(e.width===`auto`?d.value:e.width)},a.value,e.style]},n,s,{aspectRatio:m.value,"aria-label":e.alt,role:e.alt?`img`:void 0}),{additional:()=>H(B,null,[U(S,c,null),U(C,null,null),U(E,null,null),U(w,null,null),U(T,null,null)]),default:r.default}),[[ky,{handler:h,options:e.options},null,{once:!0}]])}),{currentSrc:c,image:l,state:u,naturalWidth:d,naturalHeight:f}}}),My=[null,`prominent`,`default`,`comfortable`,`compact`],Ny=J({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:`start`},color:String,density:{type:String,default:`default`,validator:e=>My.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...v_(),...Y(),...C_(),...uv(),...T_(),...D_({tag:`header`}),...Of()},`VToolbar`),Py=X()({name:`VToolbar`,props:Ny(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=A_(()=>e.color),{borderClasses:i}=y_(e),{elevationClasses:a}=w_(e),{locationStyles:o}=dv(e),{roundedClasses:s}=E_(e),{themeClasses:c}=Bf(e),{rtlClasses:l}=sd(),u=P(e.extended===null?!!t.extension?.():e.extended),d=G(()=>parseInt(Number(e.height)+(e.density===`prominent`?Number(e.height):0)-(e.density===`comfortable`?8:0)-(e.density===`compact`?16:0),10)),f=G(()=>u.value?parseInt(Number(e.extensionHeight)+(e.density===`prominent`?Number(e.extensionHeight):0)-(e.density===`comfortable`?4:0)-(e.density===`compact`?8:0),10):0);return mu({VBtn:{variant:`text`}}),Z(()=>{let p=!!(e.title||t.title),m=!!(t.image||e.image),h=t.extension?.();return u.value=e.extended===null?!!h:e.extended,U(e.tag,{class:j([`v-toolbar`,`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},n.value,i.value,a.value,s.value,c.value,l.value,e.class]),style:A([r.value,o.value,e.style])},{default:()=>[m&&H(`div`,{key:`image`,class:`v-toolbar__image`},[t.image?U(X_,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):U(jy,{key:`image-img`,cover:!0,src:e.image},null)]),U(X_,{defaults:{VTabs:{height:q(d.value)}}},{default:()=>[H(`div`,{class:`v-toolbar__content`,style:{height:q(d.value)}},[t.prepend&&H(`div`,{class:`v-toolbar__prepend`},[t.prepend?.()]),p&&U(sy,{key:`title`,text:e.title},{text:t.title}),t.default?.(),t.append&&H(`div`,{class:`v-toolbar__append`},[t.append?.()])])]}),U(X_,{defaults:{VTabs:{height:q(f.value)}}},{default:()=>[U(by,null,{default:()=>[u.value&&H(`div`,{class:`v-toolbar__extension`,style:{height:q(f.value)}},[h])]})]})]})}),{contentHeight:d,extensionHeight:f}}}),Fy=J({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},`scroll`);function Iy(e,t={}){let{canScroll:n,layoutSize:r}=t,i=0,a=0,o=N(null),s=P(0),c=P(0),l=P(0),u=P(!1),d=P(!1),f=P(!1),p=P(!1),m=P(!0),h=G(()=>Number(e.scrollThreshold)),g=G(()=>Cc((h.value-s.value)/h.value||0));function _(e){return{clientHeight:`window`in e?window.innerHeight:e.clientHeight,scrollHeight:`window`in e?document.documentElement.scrollHeight:e.scrollHeight}}function v(){let e=o.value;if(!e)return;let{clientHeight:t,scrollHeight:n}=_(e),i=n-t,a=r?.value||0;m.value=i>h.value+a}function y(){v()}function b(){let e=o.value;if(!e||n&&!n.value)return;i=s.value,s.value=`window`in e?e.pageYOffset:e.scrollTop;let t=e instanceof Window?document.documentElement.scrollHeight:e.scrollHeight;a!==t&&(t>a&&v(),a=t),d.value=s.value=c-5;!d.value&&u&&s.value>=h.value&&m.value&&(p.value=!0);let g=Math.abs(s.value-i)>100,y=s.value<=5;(d.value&&i-s.value>1&&!u||g&&s.value{c.value=c.value||s.value}),z(u,()=>{c.value=0}),Vr(()=>{z(()=>e.scrollTarget,e=>{let t=e?document.querySelector(e):window;if(!t){Ys(`Unable to locate element with identifier ${e}`);return}t!==o.value&&(o.value?.removeEventListener(`scroll`,b),o.value=t,o.value.addEventListener(`scroll`,b,{passive:!0}),Promise.resolve().then(()=>{v()}))},{immediate:!0}),window.addEventListener(`resize`,y,{passive:!0})}),Wr(()=>{o.value?.removeEventListener(`scroll`,b),window.removeEventListener(`resize`,y)}),n&&z(n,b,{immediate:!0}),{scrollThreshold:h,currentScroll:s,currentThreshold:l,isScrollActive:u,scrollRatio:g,isScrollingUp:d,savedScroll:c,isAtBottom:f,reachedBottomWhileScrollingDown:p,hasEnoughScrollableSpace:m}}function Ly(){let e=P(!1);return Vr(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:I(()=>e.value?void 0:{transition:`none !important`}),isBooted:Bt(e)}}var Ry=J({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:`top`,validator:e=>[`top`,`bottom`].includes(e)},...mc(Ny(),[`location`]),...qf(),...Fy(),height:{type:[Number,String],default:64}},`VAppBar`),zy=X()({name:`VAppBar`,props:Ry(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=N(),r=Gu(e,`modelValue`),i=G(()=>{let t=new Set(e.scrollBehavior?.split(` `)??[]);return{hide:t.has(`hide`),fullyHide:t.has(`fully-hide`),inverted:t.has(`inverted`),collapse:t.has(`collapse`),elevate:t.has(`elevate`),fadeImage:t.has(`fade-image`)}}),{currentScroll:a,scrollThreshold:o,isScrollingUp:s,scrollRatio:c,isAtBottom:l,reachedBottomWhileScrollingDown:u,hasEnoughScrollableSpace:d}=Iy(e,{canScroll:G(()=>{let e=i.value;return e.hide||e.fullyHide||e.inverted||e.collapse||e.elevate||e.fadeImage||!r.value}),layoutSize:G(()=>(n.value?.contentHeight??0)+(n.value?.extensionHeight??0))}),f=I(()=>i.value.hide||i.value.fullyHide),p=G(()=>e.collapse||i.value.collapse&&(i.value.inverted?c.value>0:c.value===0)),m=G(()=>e.flat||i.value.fullyHide&&!r.value||i.value.elevate&&(i.value.inverted?a.value>0:a.value===0)),h=G(()=>i.value.fadeImage?i.value.inverted?1-c.value:c.value:void 0),g=G(()=>{if(i.value.hide&&i.value.inverted)return 0;let e=n.value?.contentHeight??0,t=n.value?.extensionHeight??0;return f.value?a.value!!e.scrollBehavior,()=>{Gn(()=>{if(!f.value){r.value=!0;return}if(i.value.inverted){r.value=a.value>o.value;return}if(!d.value){r.value=!0;return}if(u.value){r.value=!1;return}r.value=s.value&&!l.value||a.valueparseInt(e.order,10)),position:I(()=>e.location),layoutSize:g,elementSize:P(void 0),active:r,absolute:I(()=>e.absolute)});return Z(()=>{let r=mc(Py.filterProps(e),[`location`]);return U(Py,W({ref:n,class:[`v-app-bar`,{"v-app-bar--bottom":e.location===`bottom`},e.class],style:[{...v.value,"--v-toolbar-image-opacity":h.value,height:void 0,..._.value},e.style]},r,{collapse:p.value,flat:m.value}),t)}),{}}}),By=J({...mc(Zv({icon:`$menu`,variant:`text`}),[`spaced`])},`VAppBarNavIcon`),Vy=X()({name:`VAppBarNavIcon`,props:By(),setup(e,{slots:t}){return Z(()=>U(Qv,W(e,{class:[`v-app-bar-nav-icon`]}),t)),{}}}),Hy=X()({name:`VAppBarTitle`,props:oy(),setup(e,{slots:t}){return Z(()=>U(sy,W(e,{class:`v-app-bar-title`}),t)),{}}}),Uy=J({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,dotSize:[Number,String],floating:Boolean,icon:Q,inline:Boolean,label:{type:String,default:`$vuetify.badge`},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...Y(),...uv({location:`top end`}),...T_(),...D_(),...Of(),...Ty({transition:`scale-rotate-transition`}),...sv()},`VBadge`),Wy=X()({name:`VBadge`,inheritAttrs:!1,props:Uy(),setup(e,t){let{backgroundColorClasses:n,backgroundColorStyles:r}=A_(()=>e.color),{roundedClasses:i}=E_(e),{t:a}=id(),{textColorClasses:o,textColorStyles:s}=k_(()=>e.textColor),{themeClasses:c}=Vf(),{locationStyles:l}=dv(e,!0,t=>(e.floating?e.dot?2:4:e.dot?Number(e.dotSize??8):12)+([`top`,`bottom`].includes(t)?Number(e.offsetY??0):[`left`,`right`].includes(t)?Number(e.offsetX??0):0)),{dimensionStyles:u}=cv(e);return Z(()=>{let d=Number(e.content),f=!e.max||isNaN(d)?e.content:d<=Number(e.max)?d:`${e.max}+`,[p,m]=pc(t.attrs,[`aria-atomic`,`aria-label`,`aria-live`,`role`,`title`]);return U(e.tag,W({class:[`v-badge`,{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},m,{style:e.style}),{default:()=>[H(`div`,{class:`v-badge__wrapper`},[t.slots.default?.(),U(Ey,{transition:e.transition},{default:()=>[zn(H(`span`,W({class:[`v-badge__badge`,c.value,n.value,i.value,o.value],style:[r.value,s.value,u.value,e.inline?{}:l.value,e.dot&&e.dotSize?{width:q(e.dotSize),height:q(e.dotSize)}:{}],"aria-atomic":`true`,"aria-label":a(e.label,d),"aria-live":`polite`,role:`status`},p),[e.dot?void 0:t.slots.badge?t.slots.badge?.():e.icon?U(tv,{icon:e.icon},null):f]),[[Jo,e.modelValue]])]})])]})}),{}}}),Gy=J({badge:{type:[Boolean,Object],default:!1},start:Boolean,end:Boolean,icon:Q,image:String,text:String,...v_(),...Y(),...x_(),...T_(),...Q_(),...D_(),...Of(),...F_({variant:`flat`})},`VAvatar`),Ky=X()({name:`VAvatar`,props:Gy(),setup(e,{slots:t}){let{themeClasses:n}=Bf(e),{borderClasses:r}=y_(e),{colorClasses:i,colorStyles:a,variantClasses:o}=I_(e),{densityClasses:s}=S_(e),{roundedClasses:c}=E_(e),{sizeClasses:l,sizeStyles:u}=$_(e),d=G(()=>{switch(e.size){case`x-small`:return 8;case`small`:return 10;case`large`:return 14;case`x-large`:return 16;default:return 12}}),f=G(()=>{let{floating:t}=oc(e.badge)?e.badge:{};return(t?d.value/2:0)-1.5}),p=G(()=>({bordered:!0,dot:!t.badge,dotSize:d.value,offsetX:f.value,offsetY:f.value,color:typeof e.badge==`string`?e.badge:`primary`,...oc(e.badge)?e.badge:{}}));return Z(()=>{let d=U(e.tag,{class:j([`v-avatar`,{"v-avatar--start":e.start,"v-avatar--end":e.end},n.value,r.value,i.value,s.value,c.value,l.value,o.value,e.class]),style:A([a.value,u.value,e.style])},{default:()=>[t.default?U(X_,{key:`content-defaults`,defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[t.default()]}):e.image?U(jy,{key:`image`,src:e.image,alt:``,cover:!0},null):e.icon?U(tv,{key:`icon`,icon:e.icon},null):e.text,P_(!1,`v-avatar`)]});return e.badge?U(Wy,p.value,{default:()=>d,badge:t.badge}):d}),{}}}),qy=J({...Y(),...D_()},`VCardActions`),Jy=X()({name:`VCardActions`,props:qy(),setup(e,{slots:t}){return mu({VBtn:{slim:!0,variant:`text`}}),Z(()=>U(e.tag,{class:j([`v-card-actions`,e.class]),style:A(e.style)},t)),{}}}),Yy=J({opacity:[Number,String],...Y(),...D_()},`VCardSubtitle`),Xy=X()({name:`VCardSubtitle`,props:Yy(),setup(e,{slots:t}){return Z(()=>U(e.tag,{class:j([`v-card-subtitle`,e.class]),style:A([{"--v-card-subtitle-opacity":e.opacity},e.style])},t)),{}}}),Zy=yu(`v-card-title`),Qy=J({appendAvatar:String,appendIcon:Q,prependAvatar:String,prependIcon:Q,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Y(),...x_(),...D_()},`VCardItem`),$y=X()({name:`VCardItem`,props:Qy(),setup(e,{slots:t}){return Z(()=>{let n=!!(e.prependAvatar||e.prependIcon),r=!!(n||t.prepend),i=!!(e.appendAvatar||e.appendIcon),a=!!(i||t.append),o=!!(e.title!=null||t.title),s=!!(e.subtitle!=null||t.subtitle);return U(e.tag,{class:j([`v-card-item`,e.class]),style:A(e.style)},{default:()=>[r&&H(`div`,{key:`prepend`,class:`v-card-item__prepend`},[t.prepend?U(X_,{key:`prepend-defaults`,disabled:!n,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},t.prepend):H(B,null,[e.prependAvatar&&U(Ky,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&U(tv,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)])]),H(`div`,{class:`v-card-item__content`},[o&&U(Zy,{key:`title`},{default:()=>[t.title?.()??be(e.title)]}),s&&U(Xy,{key:`subtitle`},{default:()=>[t.subtitle?.()??be(e.subtitle)]}),t.default?.()]),a&&H(`div`,{key:`append`,class:`v-card-item__append`},[t.append?U(X_,{key:`append-defaults`,disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},t.append):H(B,null,[e.appendIcon&&U(tv,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&U(Ky,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)])])]})}),{}}}),eb=J({opacity:[Number,String],...Y(),...D_()},`VCardText`),tb=X()({name:`VCardText`,props:eb(),setup(e,{slots:t}){return Z(()=>U(e.tag,{class:j([`v-card-text`,e.class]),style:A([{"--v-card-text-opacity":e.opacity},e.style])},t)),{}}}),nb=J({appendAvatar:String,appendIcon:Q,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:Q,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...v_(),...Y(),...x_(),...sv(),...C_(),...gv(),...uv(),...bv(),...T_(),...Tv(),...D_(),...Of(),...F_({variant:`elevated`})},`VCard`),rb=X()({name:`VCard`,directives:{vRipple:Xv},props:nb(),setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Bf(e),{borderClasses:i}=y_(e),{colorClasses:a,colorStyles:o,variantClasses:s}=I_(e),{densityClasses:c}=S_(e),{dimensionStyles:l}=cv(e),{elevationClasses:u}=w_(e),{loaderClasses:d}=_v(e),{locationStyles:f}=dv(e),{positionClasses:p}=xv(e),{roundedClasses:m}=E_(e),h=wv(e,t),g=P(void 0);return z(()=>e.loading,(e,t)=>{g.value=!e&&typeof t==`string`?t:typeof e==`boolean`?void 0:e},{immediate:!0}),Z(()=>{let t=e.link!==!1&&h.isLink.value,_=!e.disabled&&e.link!==!1&&(e.link||h.isClickable.value),v=t?`a`:e.tag,y=!!(n.title||e.title!=null),b=!!(n.subtitle||e.subtitle!=null),x=y||b,S=!!(n.append||e.appendAvatar||e.appendIcon),C=!!(n.prepend||e.prependAvatar||e.prependIcon),w=!!(n.image||e.image),T=x||C||S,E=!!(n.text||e.text!=null);return zn(U(v,W(h.linkProps,{class:[`v-card`,{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":_},r.value,i.value,a.value,c.value,u.value,d.value,p.value,m.value,s.value,e.class],style:[o.value,l.value,f.value,{"--v-card-height":q(e.height)},e.style],onClick:_&&h.navigate.value,tabindex:e.disabled?-1:void 0}),{default:()=>[w&&H(`div`,{key:`image`,class:`v-card__image`},[n.image?U(X_,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},n.image):U(jy,{key:`image-img`,cover:!0,src:e.image},null)]),U(vv,{name:`v-card`,active:!!e.loading,color:g.value},{default:n.loader}),T&&U($y,{key:`item`,prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:n.item,prepend:n.prepend,title:n.title,subtitle:n.subtitle,append:n.append}),E&&U(tb,{key:`text`},{default:()=>[n.text?.()??e.text]}),n.default?.(),n.actions&&U(Jy,null,{default:n.actions}),P_(_,`v-card`)]}),[[Xv,_&&e.ripple]])}),{}}});function ib({selectedElement:e,containerElement:t,isRtl:n,isHorizontal:r}){let i=cb(r,t),a=sb(r,n,t),o=cb(r,e),s=lb(r,e),c=o*.4;return a>s?s-c:a+itypeof e==`boolean`||[`always`,`desktop`,`mobile`,`never`].includes(e)},...Y(),...gf({mobile:null}),...D_(),...z_({selectedClass:`v-slide-group-item--active`})},`VSlideGroup`),fb=X()({name:`VSlideGroup`,props:db(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isRtl:n}=sd(),{displayClasses:r,mobile:i}=_f(e),a=H_(e,e.symbol),o=P(!1),s=P(0),c=P(0),l=P(0),u=G(()=>e.direction===`horizontal`),{resizeRef:d,contentRect:f}=Hf(),{resizeRef:p,contentRect:m}=Hf(),h=Tf(),g=G(()=>({container:d.el,duration:200,easing:`easeOutQuart`})),_=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[0]):-1),v=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[a.selected.value.length-1]):-1);if(K){let t=-1;z(()=>[a.selected.value,f.value,m.value,u.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(f.value&&m.value){let e=u.value?`width`:`height`;c.value=f.value[e],l.value=m.value[e],o.value=c.value+1=0&&p.el){let t=p.el.children[v.value];b(t,e.centerActive)}})})}let y=P(!1);function b(e,t){let r=0;r=t?ab({containerElement:d.el,isHorizontal:u.value,selectedElement:e}):ib({containerElement:d.el,isHorizontal:u.value,isRtl:n.value,selectedElement:e}),x(r)}function x(e){if(!K||!d.el)return;let t=cb(u.value,d.el),r=sb(u.value,n.value,d.el);if(!(ob(u.value,d.el)<=t||Math.abs(e-r)<16)){if(u.value&&n.value&&d.el){let{scrollWidth:t,offsetWidth:n}=d.el;e=t-n-e}u.value?h.horizontal(e,g.value):h(e,g.value)}}function S(e){let{scrollTop:t,scrollLeft:n}=e.target;s.value=u.value?n:t}function C(e){if(y.value=!0,!(!o.value||!p.el)){for(let t of e.composedPath())for(let e of p.el.children)if(e===t){b(e);return}}}function w(e){y.value=!1}let T=!1;function E(e){!T&&!y.value&&!(e.relatedTarget&&p.el?.contains(e.relatedTarget))&&O(),T=!1}function ee(){T=!0}function D(e){if(!p.el)return;function t(t){e.preventDefault(),O(t)}u.value?e.key===`ArrowRight`?t(n.value?`prev`:`next`):e.key===`ArrowLeft`&&t(n.value?`next`:`prev`):e.key===`ArrowDown`?t(`next`):e.key===`ArrowUp`&&t(`prev`),e.key===`Home`?t(`first`):e.key===`End`&&t(`last`)}function te(e,t){if(!e)return;let n=e;do n=n?.[t===`next`?`nextElementSibling`:`previousElementSibling`];while(n?.hasAttribute(`disabled`));return n}function O(e){if(!p.el)return;let t;if(!e)t=zc(p.el)[0];else if(e===`next`){if(t=te(p.el.querySelector(`:focus`),e),!t)return O(`first`)}else if(e===`prev`){if(t=te(p.el.querySelector(`:focus`),e),!t)return O(`last`)}else e===`first`?(t=p.el.firstElementChild,t?.hasAttribute(`disabled`)&&(t=te(t,`next`))):e===`last`&&(t=p.el.lastElementChild,t?.hasAttribute(`disabled`)&&(t=te(t,`prev`)));t&&t.focus({preventScroll:!0})}function ne(e){let t=u.value&&n.value?-1:1,r=(e===`prev`?-t:t)*c.value,i=s.value+r;if(u.value&&n.value&&d.el){let{scrollWidth:e,offsetWidth:t}=d.el;i+=e-t}x(i)}let re=G(()=>({next:a.next,prev:a.prev,select:a.select,isSelected:a.isSelected})),k=G(()=>o.value||Math.abs(s.value)>0),ie=G(()=>{switch(e.showArrows){case`never`:return!1;case`always`:return!0;case`desktop`:return!i.value;case!0:return k.value;case`mobile`:return i.value||k.value;default:return!i.value&&k.value}}),ae=G(()=>Math.abs(s.value)>1),oe=G(()=>k.value?l.value-c.value-Math.abs(s.value)>1:!1);return Z(()=>U(e.tag,{class:j([`v-slide-group`,{"v-slide-group--vertical":!u.value,"v-slide-group--has-affixes":ie.value,"v-slide-group--is-overflowing":o.value},r.value,e.class]),style:A(e.style),tabindex:y.value||a.selected.value.length?-1:0,onFocus:E},{default:()=>[ie.value&&H(`div`,{key:`prev`,class:j([`v-slide-group__prev`,{"v-slide-group__prev--disabled":!ae.value}]),onMousedown:ee,onClick:()=>ae.value&&ne(`prev`)},[t.prev?.(re.value)??U(_y,null,{default:()=>[U(tv,{icon:n.value?e.nextIcon:e.prevIcon},null)]})]),H(`div`,{key:`container`,ref:d,class:j([`v-slide-group__container`,e.contentClass]),onScroll:S},[H(`div`,{ref:p,class:`v-slide-group__content`,onFocusin:C,onFocusout:w,onKeydown:D},[t.default?.(re.value)])]),ie.value&&H(`div`,{key:`next`,class:j([`v-slide-group__next`,{"v-slide-group__next--disabled":!oe.value}]),onMousedown:ee,onClick:()=>oe.value&&ne(`next`)},[t.next?.(re.value)??U(_y,null,{default:()=>[U(tv,{icon:n.value?e.prevIcon:e.nextIcon},null)]})])]})),{selected:a.selected,scrollTo:ne,scrollOffset:s,focus:O,hasPrev:ae,hasNext:oe}}}),pb=Symbol.for(`vuetify:v-chip-group`),mb=J({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Su},...db({scrollToActive:!1}),...Y(),...z_({selectedClass:`v-chip--selected`}),...D_(),...Of(),...F_({variant:`tonal`})},`VChipGroup`);X()({name:`VChipGroup`,props:mb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Bf(e),{isSelected:r,select:i,next:a,prev:o,selected:s}=H_(e,pb);return mu({VChip:{baseColor:I(()=>e.baseColor),color:I(()=>e.color),disabled:I(()=>e.disabled),filter:I(()=>e.filter),variant:I(()=>e.variant)}}),Z(()=>U(fb,W(fb.filterProps(e),{class:[`v-chip-group`,{"v-chip-group--column":e.column},n.value,e.class],style:e.style}),{default:()=>[t.default?.({isSelected:r,select:i,next:a,prev:o,selected:s.value})]})),{}}});var hb=J({activeClass:String,appendAvatar:String,appendIcon:Q,baseColor:String,closable:Boolean,closeIcon:{type:Q,default:`$delete`},closeLabel:{type:String,default:`$vuetify.close`},draggable:Boolean,filter:Boolean,filterIcon:{type:Q,default:`$complete`},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:Q,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:Ic(),onClickOnce:Ic(),...v_(),...Y(),...x_(),...C_(),...B_(),...T_(),...Tv(),...Q_(),...D_({tag:`span`}),...Of(),...F_({variant:`tonal`})},`VChip`),gb=X()({name:`VChip`,directives:{vRipple:Xv},props:hb(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=id(),{borderClasses:a}=y_(e),{densityClasses:o}=S_(e),{elevationClasses:s}=w_(e),{roundedClasses:c}=E_(e),{sizeClasses:l}=$_(e),{themeClasses:u}=Bf(e),d=Gu(e,`modelValue`),f=V_(e,pb,!1),p=V_(e,ub,!1),m=wv(e,t),h=I(()=>e.link!==!1&&m.isLink.value),g=G(()=>!e.disabled&&e.link!==!1&&(!!f||e.link||m.isClickable.value)),_=I(()=>({"aria-label":i(e.closeLabel),disabled:e.disabled,onClick(e){e.preventDefault(),e.stopPropagation(),d.value=!1,n(`click:close`,e)}}));z(d,e=>{e?(f?.register(),p?.register()):(f?.unregister(),p?.unregister())});let{colorClasses:v,colorStyles:y,variantClasses:b}=I_(()=>({color:!f||f.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function x(e){n(`click`,e),g.value&&(m.navigate.value?.(e),f?.toggle())}function S(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x(e))}return()=>{let t=m.isLink.value?`a`:e.tag,n=!!(e.appendIcon||e.appendAvatar),i=!!(n||r.append),p=!!(r.close||e.closable),C=!!(r.filter||e.filter)&&f,w=!!(e.prependIcon||e.prependAvatar),T=!!(w||r.prepend);return d.value&&zn(U(t,W(m.linkProps,{class:[`v-chip`,{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":g.value,"v-chip--filter":C,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&m.isActive?.value},u.value,a.value,v.value,o.value,s.value,c.value,l.value,b.value,f?.selectedClass.value,e.class],style:[y.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:g.value?0:void 0,onClick:x,onKeydown:g.value&&!h.value&&S}),{default:()=>[P_(g.value,`v-chip`),C&&U(xy,{key:`filter`},{default:()=>[zn(H(`div`,{class:`v-chip__filter`},[r.filter?U(X_,{key:`filter-defaults`,disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},r.filter):U(tv,{key:`filter-icon`,icon:e.filterIcon},null)]),[[Jo,f.isSelected.value]])]}),T&&H(`div`,{key:`prepend`,class:`v-chip__prepend`},[r.prepend?U(X_,{key:`prepend-defaults`,disabled:!w,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},r.prepend):H(B,null,[e.prependIcon&&U(tv,{key:`prepend-icon`,icon:e.prependIcon,start:!0},null),e.prependAvatar&&U(Ky,{key:`prepend-avatar`,image:e.prependAvatar,start:!0},null)])]),H(`div`,{class:`v-chip__content`,"data-no-activator":``},[r.default?.({isSelected:f?.isSelected.value,selectedClass:f?.selectedClass.value,select:f?.select,toggle:f?.toggle,value:f?.value.value,disabled:e.disabled})??be(e.text)]),i&&H(`div`,{key:`append`,class:`v-chip__append`},[r.append?U(X_,{key:`append-defaults`,disabled:!n,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},r.append):H(B,null,[e.appendIcon&&U(tv,{key:`append-icon`,end:!0,icon:e.appendIcon},null),e.appendAvatar&&U(Ky,{key:`append-avatar`,end:!0,image:e.appendAvatar},null)])]),p&&H(`button`,W({key:`close`,class:`v-chip__close`,type:`button`,"data-testid":`close-chip`},_.value),[r.close?U(X_,{key:`close-defaults`,defaults:{VIcon:{icon:e.closeIcon,size:`x-small`}}},r.close):U(tv,{key:`close-icon`,icon:e.closeIcon,size:`x-small`},null)])]}),[[Xv,g.value&&e.ripple,null]])}}}),_b=[`dotted`,`dashed`,`solid`,`double`],vb=J({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:`solid`,validator:e=>_b.includes(e)},...Y(),...Of()},`VDivider`),yb=X()({name:`VDivider`,props:vb(),setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Bf(e),{textColorClasses:i,textColorStyles:a}=k_(()=>e.color),o=G(()=>{let t={};return e.length&&(t[e.vertical?`height`:`width`]=q(e.length)),e.thickness&&(t[e.vertical?`borderRightWidth`:`borderTopWidth`]=q(e.thickness)),t}),s=I(()=>{let t=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,n=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&t?q(t):void 0,marginInline:!e.vertical&&t?q(t):void 0,transform:n?`translate${e.vertical?`X`:`Y`}(${q(n)})`:void 0}});return Z(()=>{let c=H(`hr`,{class:j([{"v-divider":!0,"v-divider--gradient":e.gradient&&!n.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},r.value,i.value,e.class]),style:A([o.value,a.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!t.role||t.role===`separator`?e.vertical?`vertical`:`horizontal`:void 0,role:`${t.role||`separator`}`},null);return n.default?H(`div`,{class:j([`v-divider__wrapper`,{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[c,H(`div`,{class:`v-divider__content`,style:A(s.value)},[n.default()]),c]):c}),{}}}),bb=yu(`v-spacer`,`div`,`VSpacer`),xb=Symbol.for(`vuetify:list`);function Sb(e={filterable:!1}){let t=R(xb,{filterable:!1,hasPrepend:P(!1),updateHasPrepend:()=>null,trackingIndex:P(-1),navigationStrategy:P(`focus`),uid:``}),{filterable:n,trackingIndex:r=t.trackingIndex,navigationStrategy:i=t.navigationStrategy,uid:a=t.uid||Er()}=e,o={filterable:t.filterable||n,hasPrepend:P(!1),updateHasPrepend:e=>{e&&(o.hasPrepend.value=e)},trackingIndex:r,navigationStrategy:i,uid:a};return Vn(xb,o),t}function Cb(){return R(xb,null)}var wb=e=>{let t={activate:({id:t,value:n,activated:r})=>(t=M(t),e&&!n&&r.size===1&&r.has(t)||(n?r.add(t):r.delete(t)),r),in:(e,n,r)=>{let i=new Set;if(e!=null)for(let a of xc(e))i=t.activate({id:a,value:!0,activated:new Set(i),children:n,parents:r});return i},out:e=>Array.from(e)};return t},Tb=e=>{let t=wb(e);return{activate:({activated:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Set([n]):new Set;return t.activate({...r,id:n,activated:i})},in:(e,n,r)=>{let i=new Set;if(e!=null){let a=xc(e);a.length&&(i=t.in(a.slice(0,1),n,r))}return i},out:(e,n,r)=>t.out(e,n,r)}},Eb=e=>{let t=wb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},Db=e=>{let t=Tb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},Ob={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=new Set;t.add(e);let n=r.get(e);for(;n!=null;)t.add(n),n=r.get(n);return t}else return n.delete(e),n},select:()=>null},kb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=r.get(e);for(n.add(e);t!=null&&t!==e;)n.add(t),t=r.get(t);return n}else n.delete(e);return n},select:()=>null},Ab={open:kb.open,select:({id:e,value:t,opened:n,parents:r})=>{if(!t)return n;let i=[],a=r.get(e);for(;a!=null;)i.push(a),a=r.get(a);return new Set(i)}},jb=e=>{let t={select:({id:t,value:n,selected:r})=>{if(t=M(t),e&&!n){let e=Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]);if(e.length===1&&e[0]===t)return r}return r.set(t,n?`on`:`off`),r},in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i});return a},out:e=>{let t=[];for(let[n,r]of e.entries())r===`on`&&t.push(n);return t}};return t},Mb=e=>{let t=jb(e);return{select:({selected:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Map([[n,e.get(n)]]):new Map;return t.select({...r,id:n,selected:i})},in:(e,n,r,i)=>e?.length?t.in(e.slice(0,1),n,r,i):new Map,out:(e,n,r)=>t.out(e,n,r)}},Nb=e=>{let t=jb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},Pb=e=>{let t=Mb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},Fb=e=>{let t={select:({id:t,value:n,selected:r,children:i,parents:a,disabled:o})=>{t=M(t);let s=new Map(r),c=[t];for(;c.length;){let e=c.shift();o.has(e)||r.set(M(e),n?`on`:`off`),i.has(e)&&c.push(...i.get(e))}let l=M(a.get(t));for(;l;){let e=!0,t=!0;for(let n of i.get(l)){let i=M(n);if(!o.has(i)&&(r.get(i)!==`on`&&(e=!1),r.has(i)&&r.get(i)!==`off`&&(t=!1),!e&&!t))break}r.set(l,e?`on`:t?`off`:`indeterminate`),l=M(a.get(l))}return e&&!n&&Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]).length===0?s:r},in:(e,n,r)=>{let i=new Map;for(let a of e||[])i=t.select({id:a,value:!0,selected:i,children:n,parents:r,disabled:new Set});return i},out:(e,t)=>{let n=[];for(let[r,i]of e.entries())i===`on`&&!t.has(r)&&n.push(r);return n}};return t},Ib=e=>{let t=Fb(e);return{select:t.select,in:t.in,out:(e,t,n)=>{let r=[];for(let[t,i]of e.entries())if(i===`on`){if(n.has(t)){let r=n.get(t);if(e.get(r)===`on`)continue}r.push(t)}return r}}},Lb=e=>{let t={select:Fb(e).select,in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])n.has(o)||(a=t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i}));return a},out:e=>{let t=[];for(let[n,r]of e.entries())(r===`on`||r===`indeterminate`)&&t.push(n);return t}};return t},Rb=Symbol.for(`vuetify:nested`),zb={id:P(),root:{itemsRegistration:N(`render`),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:N(new Map),parents:N(new Map),disabled:N(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:N(!1),scrollToActive:N(!1),selectable:N(!1),opened:N(new Set),activated:N(new Set),selected:N(new Map),selectedValues:N([]),getPath:()=>[]}},Bb=J({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:`render`}},`nested`),Vb=(e,{items:t,returnObject:n,scrollToActive:r,valueComparator:i})=>{let a=!1,o=P(new Map),s=P(new Map),c=P(new Set),l=Gu(e,`opened`,e.opened,e=>new Set(Array.isArray(e)?e.map(e=>M(e)):e),e=>[...e.values()]),u=G(()=>{if(typeof e.activeStrategy==`object`)return e.activeStrategy;if(typeof e.activeStrategy==`function`)return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case`leaf`:return Eb(e.mandatory);case`single-leaf`:return Db(e.mandatory);case`independent`:return wb(e.mandatory);default:return Tb(e.mandatory)}}),d=G(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;if(typeof e.selectStrategy==`function`)return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case`single-leaf`:return Pb(e.mandatory);case`leaf`:return Nb(e.mandatory);case`independent`:return jb(e.mandatory);case`single-independent`:return Mb(e.mandatory);case`trunk`:return Ib(e.mandatory);case`branch`:return Lb(e.mandatory);default:return Fb(e.mandatory)}}),f=G(()=>{if(typeof e.openStrategy==`object`)return e.openStrategy;switch(e.openStrategy){case`list`:return Ab;case`single`:return Ob;default:return kb}}),p=G(()=>{let e=[],n=[...t.value];for(;n.length;){let t=n.pop();e.push(t),t.children&&n.push(...t.children)}return e});function m(e){let t=Qt(i);if(!t)return e;let r=Qt(n);for(let n of p.value){let i=r?M(n.raw):n.value;if(t(e,i))return i}return e}let h=Gu(e,`activated`,e.activated,e=>u.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value),e=>u.value.out(e,o.value,s.value)),g=Gu(e,`selected`,e.selected,e=>d.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value,c.value),e=>d.value.out(e,o.value,s.value));Wr(()=>{a=!0});function _(e){let t=[],n=M(e);for(;n!==void 0;)t.unshift(n),n=s.value.get(n);return t}let v=cu(`nested`),y=new Set,b=Nu(()=>{Dn(()=>{o.value=new Map(o.value),s.value=new Map(s.value)})},100);z(()=>[t.value,Qt(n)],()=>{e.itemsRegistration===`props`&&x()},{immediate:!0});function x(){let e=new Map,r=new Map,i=new Set,a=Qt(n)?e=>M(e.raw):e=>e.value,l=[...t.value],u=0;for(;ue.activatable),scrollToActive:I(()=>Qt(r)),selectable:I(()=>e.selectable),activated:h,selected:g,selectedValues:G(()=>{let e=[];for(let[t,n]of g.value.entries())n===`on`&&e.push(t);return e}),itemsRegistration:I(()=>e.itemsRegistration),register:(e,t,n,r)=>{if(y.has(e)){Xs(`Multiple nodes with the same ID\n\t${_(e).map(String).join(` -> `)}\n\t${_(t).concat(e).map(String).join(` -> `)}`);return}else y.add(e);t&&e!==t&&s.value.set(e,t),n&&c.value.add(e),r&&o.value.set(e,[]),t!=null&&o.value.set(t,[...o.value.get(t)||[],e]),b()},unregister:e=>{if(a)return;y.delete(e),o.value.delete(e),c.value.delete(e);let t=s.value.get(e);if(t){let n=o.value.get(t)??[];o.value.set(t,n.filter(t=>t!==e))}s.value.delete(e),b()},updateDisabled:(e,t)=>{t?c.value.add(e):c.value.delete(e)},open:(e,t,n)=>{v.emit(`click:open`,{id:e,value:t,path:_(e),event:n});let r=f.value.open({id:e,value:t,opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},openOnSelect:(e,t,n)=>{let r=f.value.select({id:e,value:t,selected:new Map(g.value),opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},select:(e,t,n)=>{v.emit(`click:select`,{id:e,value:t,path:_(e),event:n});let r=d.value.select({id:e,value:t,selected:new Map(g.value),children:o.value,parents:s.value,disabled:c.value,event:n});r&&(g.value=r),S.root.openOnSelect(e,t,n)},activate:(t,n,r)=>{if(!e.activatable)return S.root.select(t,!0,r);v.emit(`click:activate`,{id:t,value:n,path:_(t),event:r});let i=u.value.activate({id:t,value:n,activated:new Set(h.value),children:o.value,parents:s.value,event:r});if(i.size!==h.value.size)h.value=i;else{for(let e of i)if(!h.value.has(e)){h.value=i;return}for(let e of h.value)if(!i.has(e)){h.value=i;return}}},children:o,parents:s,disabled:c,getPath:_}};return Vn(Rb,S),S.root},Hb=(e,t,n)=>{let r=R(Rb,zb),i=Symbol(`nested item`),a=G(()=>{let t=M(Qt(e));return t===void 0?i:t}),o={...r,id:a,open:(e,t)=>r.root.open(a.value,e,t),openOnSelect:(e,t)=>r.root.openOnSelect(a.value,e,t),isOpen:G(()=>r.root.opened.value.has(a.value)),parent:G(()=>r.root.parents.value.get(a.value)),activate:(e,t)=>r.root.activate(a.value,e,t),isActivated:G(()=>r.root.activated.value.has(a.value)),scrollToActive:r.root.scrollToActive,select:(e,t)=>r.root.select(a.value,e,t),isSelected:G(()=>r.root.selected.value.get(a.value)===`on`),isIndeterminate:G(()=>r.root.selected.value.get(a.value)===`indeterminate`),isLeaf:G(()=>!r.root.children.value.get(a.value)),isGroupActivator:r.isGroupActivator};return Br(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||Dn(()=>{r.root.register(a.value,r.id.value,Qt(t),n)})}),Wr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||r.root.unregister(a.value)}),z(a,(e,i)=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||(r.root.unregister(i),Dn(()=>{r.root.register(e,r.id.value,Qt(t),n)}))}),z(()=>Qt(t),e=>{r.root.updateDisabled(a.value,e)}),n&&Vn(Rb,o),o},Ub=()=>{Vn(Rb,{...R(Rb,zb),isGroupActivator:!0})},Wb=_u({name:`VListGroupActivator`,setup(e,{slots:t}){return Ub(),()=>t.default?.()}}),Gb=J({activeColor:String,baseColor:String,color:String,collapseIcon:{type:Q,default:`$collapse`},disabled:Boolean,expandIcon:{type:Q,default:`$expand`},rawId:[String,Number],prependIcon:Q,appendIcon:Q,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Y(),...D_()},`VListGroup`),Kb=X()({name:`VListGroup`,props:Gb(),setup(e,{slots:t}){let{isOpen:n,open:r,id:i}=Hb(()=>e.value,()=>e.disabled,!0),a=G(()=>`v-list-group--id-${String(e.rawId??i.value)}`),o=Cb(),{isBooted:s}=Ly(),c=R(Rb),l=I(()=>c?.root?.itemsRegistration.value===`render`);function u(e){[`INPUT`,`TEXTAREA`].includes(e.target?.tagName)||r(!n.value,e)}let d=G(()=>({onClick:u,class:`v-list-group__header`,id:a.value})),f=G(()=>n.value?e.collapseIcon:e.expandIcon),p=G(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return Z(()=>U(e.tag,{class:j([`v-list-group`,{"v-list-group--prepend":o?.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":n.value},e.class]),style:A(e.style)},{default:()=>[t.activator&&U(X_,{defaults:p.value},{default:()=>[U(Wb,null,{default:()=>[t.activator({props:d.value,isOpen:n.value})]})]}),U(Ey,{transition:{component:by},disabled:!s.value},{default:()=>[l.value?zn(H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()]),[[Jo,n.value]]):n.value&&H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()])]})]})),{isOpen:n}}}),qb=J({opacity:[Number,String],...Y(),...D_()},`VListItemSubtitle`),Jb=X()({name:`VListItemSubtitle`,props:qb(),setup(e,{slots:t}){return Z(()=>U(e.tag,{class:j([`v-list-item-subtitle`,e.class]),style:A([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},t)),{}}}),Yb=yu(`v-list-item-title`),Xb=J({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:Q,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:Q,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:Ic(),onClickOnce:Ic(),...v_(),...Y(),...x_(),...sv(),...C_(),...T_(),...Tv(),...D_(),...Of(),...F_({variant:`text`})},`VListItem`),Zb=X()({name:`VListItem`,directives:{vRipple:Xv},props:Xb(),emits:{click:e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let i=wv(e,t),a=N(),{activate:o,isActivated:s,select:c,isOpen:l,isSelected:u,isIndeterminate:d,isGroupActivator:f,root:p,parent:m,openOnSelect:h,scrollToActive:g,id:_}=Hb(G(()=>e.value===void 0?i.href.value:e.value),()=>e.disabled,!1),v=Cb(),y=G(()=>e.active!==!1&&(e.active||i.isActive?.value||(p.activatable.value?s.value:u.value))),b=I(()=>e.link!==!1&&i.isLink.value),x=G(()=>!!v&&(p.selectable.value||p.activatable.value||e.value!=null)),S=G(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||x.value)),C=G(()=>v&&v.navigationStrategy.value===`track`&&e.index!==void 0&&v.trackingIndex.value===e.index),w=G(()=>v?b.value?`link`:x.value?`option`:`listitem`:void 0),T=G(()=>{if(x.value)return p.activatable.value?s.value:p.selectable.value?u.value:y.value}),E=I(()=>e.rounded||e.nav),ee=I(()=>e.color??e.activeColor),D=I(()=>({color:y.value?ee.value??e.baseColor:e.baseColor,variant:e.variant}));z(()=>i.isActive?.value,e=>{e&&te()}),z(s,e=>{!e||!g||a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),z(C,e=>{e&&a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),Br(()=>{i.isActive?.value&&Dn(()=>te())});function te(){m.value!=null&&p.open(m.value,!0),h(!0)}let{themeClasses:O}=Bf(e),{borderClasses:ne}=y_(e),{colorClasses:re,colorStyles:k,variantClasses:ie}=I_(D),{densityClasses:ae}=S_(e),{dimensionStyles:oe}=cv(e),{elevationClasses:se}=w_(e),{roundedClasses:ce}=E_(E),le=I(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),A=I(()=>e.ripple!==void 0&&e.ripple&&v?.filterable?{keys:[`Enter`]}:e.ripple),ue=G(()=>({isActive:y.value,select:c,isOpen:l.value,isSelected:u.value,isIndeterminate:d.value,isDisabled:e.disabled}));function de(t){r(`click`,t),![`INPUT`,`TEXTAREA`].includes(t.target?.tagName)&&S.value&&(i.navigate.value?.(t),!f&&(p.activatable.value?o(!s.value,t):(p.selectable.value||e.value!=null&&!b.value)&&c(!u.value,t)))}function fe(e){let t=e.target;[`INPUT`,`TEXTAREA`].includes(t.tagName)||(e.key===`Enter`||e.key===` `&&!v?.filterable)&&(e.preventDefault(),e.stopPropagation(),e.target.dispatchEvent(new MouseEvent(`click`,e)))}return Z(()=>{let t=b.value?`a`:e.tag,r=n.title||e.title!=null,o=n.subtitle||e.subtitle!=null,s=!!(e.appendAvatar||e.appendIcon||n.append),c=!!(e.prependAvatar||e.prependIcon||n.prepend);return v?.updateHasPrepend(c),e.activeColor&&Zs(`active-color`,[`color`,`base-color`]),zn(U(t,W(i.linkProps,{ref:a,id:e.index!==void 0&&v?`v-list-item-${v.uid}-${e.index}`:void 0,class:[`v-list-item`,{"v-list-item--active":y.value,"v-list-item--disabled":e.disabled,"v-list-item--link":S.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!c&&v?.hasPrepend.value,"v-list-item--slim":e.slim,"v-list-item--focus-visible":C.value,[`${e.activeClass}`]:e.activeClass&&y.value},O.value,ne.value,re.value,ae.value,se.value,le.value,ce.value,ie.value,e.class],style:[{"--v-list-prepend-gap":q(e.prependGap)},k.value,oe.value,e.style],tabindex:e.tabindex??(S.value?v?-2:0:void 0),"aria-selected":T.value,role:w.value,onClick:de,onKeydown:S.value&&!b.value&&fe}),{default:()=>[P_(S.value||y.value,`v-list-item`),c&&H(`div`,{key:`prepend`,class:`v-list-item__prepend`},[n.prepend?U(X_,{key:`prepend-defaults`,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.prepend?.(ue.value)]}):H(B,null,[e.prependAvatar&&U(Ky,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&U(tv,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)]),H(`div`,{class:`v-list-item__spacer`},null)]),H(`div`,{class:`v-list-item__content`,"data-no-activator":``},[r&&U(Yb,{key:`title`},{default:()=>[n.title?.({title:e.title})??be(e.title)]}),o&&U(Jb,{key:`subtitle`},{default:()=>[n.subtitle?.({subtitle:e.subtitle})??be(e.subtitle)]}),n.default?.(ue.value)]),s&&H(`div`,{key:`append`,class:`v-list-item__append`},[n.append?U(X_,{key:`append-defaults`,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.append?.(ue.value)]}):H(B,null,[e.appendIcon&&U(tv,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&U(Ky,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)]),H(`div`,{class:`v-list-item__spacer`},null)])]}),[[Xv,S.value&&A.value]])}),{activate:o,isActivated:s,isGroupActivator:f,isSelected:u,list:v,select:c,root:p,id:_,link:i}}}),Qb=J({color:String,inset:Boolean,sticky:Boolean,title:String,...Y(),...D_()},`VListSubheader`),$b=X()({name:`VListSubheader`,props:Qb(),setup(e,{slots:t}){let{textColorClasses:n,textColorStyles:r}=k_(()=>e.color);return Z(()=>{let i=!!(t.default||e.title);return U(e.tag,{class:j([`v-list-subheader`,{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},n.value,e.class]),style:A([{textColorStyles:r},e.style])},{default:()=>[i&&H(`div`,{class:`v-list-subheader__text`},[t.default?.()??e.title])]})}),{}}}),ex=J({items:Array,returnObject:Boolean},`VListChildren`),tx=X()({name:`VListChildren`,props:ex(),setup(e,{slots:t}){return Sb(),()=>t.default?.()??e.items?.map(({children:n,props:r,type:i,raw:a},o)=>{if(i===`divider`)return t.divider?.({props:r})??U(yb,r,null);if(i===`subheader`)return t.subheader?.({props:r})??U($b,r,null);let s={subtitle:t.subtitle?e=>t.subtitle?.({...e,item:a}):void 0,prepend:t.prepend?e=>t.prepend?.({...e,item:a}):void 0,append:t.append?e=>t.append?.({...e,item:a}):void 0,title:t.title?e=>t.title?.({...e,item:a}):void 0},c=Kb.filterProps(r);return n?U(Kb,W(c,{value:e.returnObject?a:r?.value,rawId:r?.value}),{activator:({props:n})=>{let i=W(r,n,{value:e.returnObject?a:r.value});return t.header?t.header({props:i}):U(Zb,W(i,{index:o}),s)},default:()=>U(tx,{items:n,returnObject:e.returnObject},t)}):t.item?t.item({props:{...r,index:o}}):U(Zb,W(r,{index:o,value:e.returnObject?a:r.value}),s)})}}),nx=J({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:`title`},itemValue:{type:[String,Array,Function],default:`value`},itemChildren:{type:[Boolean,String,Array,Function],default:`children`},itemProps:{type:[Boolean,String,Array,Function],default:`props`},itemType:{type:[Boolean,String,Array,Function],default:`type`},returnObject:Boolean,valueComparator:Function},`list-items`),rx=new Set([`item`,`divider`,`subheader`]);function ix(e,t){let n=ic(t,e.itemTitle,t),r=ic(t,e.itemValue,n),i=ic(t,e.itemChildren),a=e.itemProps===!0?typeof t==`object`&&t&&!Array.isArray(t)?`children`in t?mc(t,[`children`]):t:void 0:ic(t,e.itemProps),o=ic(t,e.itemType,`item`);rx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:String(s.title??``),value:s.value,props:s,children:o===`item`&&Array.isArray(i)?ax(e,i):void 0,raw:t}}ix.neededProps=[`itemTitle`,`itemValue`,`itemChildren`,`itemProps`,`itemType`];function ax(e,t){let n=fc(e,ix.neededProps),r=[];for(let e of t)r.push(ix(n,e));return r}function ox(e){let t=G(()=>ax(e,e.items)),n=G(()=>t.value.some(e=>e.value===null)),r=P(new Map),i=P([]);Gn(()=>{let e=t.value,n=new Map,a=[];for(let t=0;te):t.map(({value:e})=>e)}return{items:t,transformIn:a,transformOut:o}}var sx=new Set([`item`,`divider`,`subheader`]);function cx(e,t){let n=Xc(t)?t:ic(t,e.itemTitle),r=Xc(t)?t:ic(t,e.itemValue,void 0),i=ic(t,e.itemChildren),a=e.itemProps===!0?mc(t,[`children`]):ic(t,e.itemProps),o=ic(t,e.itemType,`item`);sx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:s.title,value:s.value,props:s,children:o===`item`&&i?lx(e,i):void 0,raw:t}}function lx(e,t){let n=[];for(let r of t)n.push(cx(e,r));return n}function ux(e){return{items:G(()=>lx(e,e.items))}}var dx=J({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:Q,collapseIcon:Q,lines:{type:[Boolean,String],default:`one`},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:`focus`},navigationIndex:Number,"onClick:open":Ic(),"onClick:select":Ic(),"onUpdate:opened":Ic(),...Bb({selectStrategy:`single-leaf`,openStrategy:`list`}),...v_(),...Y(),...x_(),...sv(),...C_(),...nx(),...T_(),...D_(),...Of(),...F_({variant:`text`})},`VList`),fx=X()({name:`VList`,props:dx(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let{items:i}=ux(e),{themeClasses:a}=Bf(e),{backgroundColorClasses:o,backgroundColorStyles:s}=A_(()=>e.bgColor),{borderClasses:c}=y_(e),{densityClasses:l}=S_(e),{dimensionStyles:u}=cv(e),{elevationClasses:d}=w_(e),{roundedClasses:f}=E_(e),{children:p,open:m,parents:h,select:g,getPath:_}=Vb(e,{items:i,returnObject:I(()=>e.returnObject),scrollToActive:I(()=>e.navigationStrategy===`track`),valueComparator:I(()=>e.valueComparator)}),v=I(()=>e.lines?`v-list--${e.lines}-line`:void 0),y=I(()=>e.activeColor),b=I(()=>e.baseColor),x=I(()=>e.color),S=I(()=>e.selectable||e.activatable),C=Gu(e,`navigationIndex`,-1,e=>e??-1),w=Er();Sb({filterable:e.filterable,trackingIndex:C,navigationStrategy:I(()=>e.navigationStrategy),uid:w}),z(i,()=>{e.navigationStrategy===`track`&&(C.value=-1)}),mu({VListGroup:{activeColor:y,baseColor:b,color:x,expandIcon:I(()=>e.expandIcon),collapseIcon:I(()=>e.collapseIcon)},VListItem:{activeClass:I(()=>e.activeClass),activeColor:y,baseColor:b,color:x,density:I(()=>e.density),disabled:I(()=>e.disabled),lines:I(()=>e.lines),nav:I(()=>e.nav),slim:I(()=>e.slim),variant:I(()=>e.variant),tabindex:I(()=>e.navigationStrategy===`track`?-1:void 0)}});let T=P(!1),E=N();function ee(e){T.value=!0}function D(e){T.value=!1}function te(t){e.navigationStrategy===`track`?~C.value||(C.value=re(`first`)):!T.value&&!(t.relatedTarget&&E.value?.contains(t.relatedTarget))&&ae()}function O(){e.navigationStrategy===`track`&&(C.value=-1)}function ne(e){switch(e){case`ArrowDown`:return`next`;case`ArrowUp`:return`prev`;case`Home`:return`first`;case`End`:return`last`;default:return null}}function re(e){let t=i.value.length;if(t===0)return-1;let n;e===`first`?n=0:e===`last`?n=t-1:(n=C.value+(e===`next`?1:-1),n<0&&(n=t-1),n>=t&&(n=0));let r=n,a=0;for(;a=t&&(n=0),n===r)return-1;a++}return-1}function k(t){let n=t.target;if(!E.value||n.tagName===`INPUT`&&[`Home`,`End`].includes(t.key)||n.tagName===`TEXTAREA`)return;let r=ne(t.key);if(r!==null)if(t.preventDefault(),e.navigationStrategy===`track`){let e=re(r);e!==-1&&(C.value=e)}else ae(r)}function ie(e){T.value=!0}function ae(e,t){if(E.value)return Vc(E.value,e,t)}return Z(()=>{let r=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),p=S.value?t.ariaMultiselectable??!String(e.selectStrategy).startsWith(`single-`):void 0;return U(e.tag,{ref:E,class:j([`v-list`,{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},a.value,o.value,c.value,l.value,d.value,v.value,f.value,e.class]),style:A([{"--v-list-indent":q(r),"--v-list-group-prepend":r?`0px`:void 0,"--v-list-prepend-gap":q(e.prependGap)},s.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:S.value?`listbox`:`list`,"aria-activedescendant":e.navigationStrategy===`track`&&C.value>=0?`v-list-item-${w}-${C.value}`:void 0,"aria-multiselectable":p,onFocusin:ee,onFocusout:D,onFocus:te,onBlur:O,onKeydown:k,onMousedown:ie},{default:()=>[U(tx,{items:i.value,returnObject:e.returnObject},n)]})}),{open:m,select:g,focus:ae,children:p,parents:h,getPath:_,navigationIndex:C}}}),px=J({scrollable:Boolean,...Y(),...sv(),...D_({tag:`main`})},`VMain`),mx=X()({name:`VMain`,props:px(),setup(e,{slots:t}){let{dimensionStyles:n}=cv(e),{mainStyles:r}=Jf(),{ssrBootStyles:i}=Ly();return Z(()=>U(e.tag,{class:j([`v-main`,{"v-main--scrollable":e.scrollable},e.class]),style:A([r.value,i.value,n.value,e.style])},{default:()=>[e.scrollable?H(`div`,{class:`v-main__scroller`},[t.default?.()]):t.default?.()]})),{}}});function hx(e,t){return{x:e.x+t.x,y:e.y+t.y}}function gx(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _x(e,t){if(e.side===`top`||e.side===`bottom`){let{side:n,align:r}=e;return hx({x:r===`left`?0:r===`center`?t.width/2:r===`right`?t.width:r,y:n===`top`?0:n===`bottom`?t.height:n},t)}else if(e.side===`left`||e.side===`right`){let{side:n,align:r}=e;return hx({x:n===`left`?0:n===`right`?t.width:n,y:r===`top`?0:r===`center`?t.height/2:r===`bottom`?t.height:r},t)}return hx({x:t.width/2,y:t.height/2},t)}var vx={static:xx,connected:Cx},yx=J({locationStrategy:{type:[String,Function],default:`static`,validator:e=>typeof e==`function`||e in vx},location:{type:String,default:`bottom`},origin:{type:String,default:`auto`},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},`VOverlay-location-strategies`);function bx(e,t){let n=N({}),r=N();K&&Wu(()=>!!(t.isActive.value&&e.locationStrategy),s=>{z(()=>e.locationStrategy,s),De(()=>{window.removeEventListener(`resize`,i),visualViewport?.removeEventListener(`resize`,a),visualViewport?.removeEventListener(`scroll`,o),r.value=void 0}),window.addEventListener(`resize`,i,{passive:!0}),visualViewport?.addEventListener(`resize`,a,{passive:!0}),visualViewport?.addEventListener(`scroll`,o,{passive:!0}),typeof e.locationStrategy==`function`?r.value=e.locationStrategy(t,e,n)?.updateLocation:r.value=vx[e.locationStrategy](t,e,n)?.updateLocation});function i(e){r.value?.(e)}function a(e){r.value?.(e)}function o(e){r.value?.(e)}return{contentStyles:n,updateLocation:r}}function xx(){}function Sx(e,t){let n=fl(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Cx(e,t,n){(Array.isArray(e.target.value)||Mu(e.target.value))&&Object.assign(n.value,{position:`fixed`,top:0,[e.isRtl.value?`right`:`left`]:0});let{preferredAnchor:r,preferredOrigin:i}=Nc(()=>{let n=nl(t.location,e.isRtl.value),r=t.origin===`overlap`?n:t.origin===`auto`?il(n):nl(t.origin,e.isRtl.value);return n.side===r.side&&n.align===al(r).align?{preferredAnchor:ol(n),preferredOrigin:ol(r)}:{preferredAnchor:n,preferredOrigin:r}}),[a,o,s,c]=[`minWidth`,`minHeight`,`maxWidth`,`maxHeight`].map(e=>G(()=>{let n=parseFloat(t[e]);return isNaN(n)?1/0:n})),l=G(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset==`string`){let e=t.offset.split(` `).map(parseFloat);return e.length<2&&e.push(0),e}return typeof t.offset==`number`?[t.offset,0]:[0,0]}),u=!1,d=-1,f=new Mc(4),p=new ResizeObserver(()=>{if(!u)return;if(requestAnimationFrame(e=>{e!==d&&f.clear(),requestAnimationFrame(e=>{d=e})}),f.isFull){let e=f.values();if(Su(e.at(-1),e.at(-3))&&!Su(e.at(-1),e.at(-2)))return}let e=h();e&&f.push(e.flipped)}),m=new cl({x:0,y:0,width:0,height:0});z(e.target,(e,t)=>{t&&!Array.isArray(t)&&p.unobserve(t),Array.isArray(e)?Su(e,t)||h():e&&p.observe(e)},{immediate:!0}),z(e.contentEl,(e,t)=>{t&&p.unobserve(t),e&&p.observe(e)},{immediate:!0}),De(()=>{p.disconnect()});function h(){if(u=!1,requestAnimationFrame(()=>u=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(m=ul(e.target.value));let d=Sx(e.contentEl.value,e.isRtl.value),f=ku(e.contentEl.value),p=Number(t.viewportMargin);f.length||(f.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(d.x-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-x`)||0),d.y-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-y`)||0)));let h=f.reduce((e,t)=>{let n=dl(t);return e?new cl({x:Math.max(e.left,n.left),y:Math.max(e.top,n.top),width:Math.min(e.right,n.right)-Math.max(e.left,n.left),height:Math.min(e.bottom,n.bottom)-Math.max(e.top,n.top)}):n},void 0);t.stickToTarget?(h.x+=Math.min(p,m.x),h.y+=Math.min(p,m.y),h.width=Math.max(h.width-p*2,m.x+m.width-p),h.height=Math.max(h.height-p*2,m.y+m.height-p)):(h.x+=p,h.y+=p,h.width-=p*2,h.height-=p*2);let g={anchor:r.value,origin:i.value};function _(e){let t=new cl(d),{x:n,y:r}=gx(_x(e.anchor,m),_x(e.origin,t));switch(e.anchor.side){case`top`:r-=l.value[0];break;case`bottom`:r+=l.value[0];break;case`left`:n-=l.value[0];break;case`right`:n+=l.value[0];break}switch(e.anchor.align){case`top`:r-=l.value[1];break;case`bottom`:r+=l.value[1];break;case`left`:n-=l.value[1];break;case`right`:n+=l.value[1];break}return t.x+=n,t.y+=r,t.width=Math.min(t.width,s.value),t.height=Math.min(t.height,c.value),{overflows:ll(t,h),x:n,y:r}}let v=0,y=0,b={x:0,y:0},x={x:!1,y:!1},S=-1;for(;;){if(S++>10){Xs(`Infinite loop detected in connectedLocationStrategy`);break}let{x:e,y:t,overflows:n}=_(g);v+=e,y+=t,d.x+=e,d.y+=t;{let e=sl(g.anchor),t=n.x.before||n.x.after,r=n.y.before||n.y.after,i=!1;if([`x`,`y`].forEach(a=>{if(a===`x`&&t&&!x.x||a===`y`&&r&&!x.y){let t={anchor:{...g.anchor},origin:{...g.origin}},r=a===`x`?e===`y`?al:il:e===`y`?il:al;t.anchor=r(t.anchor),t.origin=r(t.origin);let{overflows:o}=_(t);(o[a].before<=n[a].before&&o[a].after<=n[a].after||o[a].before+o[a].after<(n[a].before+n[a].after)/2)&&(g=t,i=x[a]=!0)}}),i)continue}n.x.before&&(v+=n.x.before,d.x+=n.x.before),n.x.after&&(v-=n.x.after,d.x-=n.x.after),n.y.before&&(y+=n.y.before,d.y+=n.y.before),n.y.after&&(y-=n.y.after,d.y-=n.y.after);{let e=ll(d,h);b.x=h.width-e.x.before-e.x.after,b.y=h.height-e.y.before-e.y.after,v+=e.x.before,d.x+=e.x.before,y+=e.y.before,d.y+=e.y.before}break}let C=sl(g.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${g.anchor.side} ${g.anchor.align}`,transformOrigin:`${g.origin.side} ${g.origin.align}`,top:q(wx(y)),left:e.isRtl.value?void 0:q(wx(v)),right:e.isRtl.value?q(wx(-v)):void 0,minWidth:q(C===`y`?Math.min(a.value,m.width):a.value),maxWidth:q(Tx(Cc(b.x,a.value===1/0?0:a.value,s.value))),maxHeight:q(Tx(Cc(b.y,o.value===1/0?0:o.value,c.value)))}),{available:b,contentBox:d,flipped:x}}return z(()=>[r.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>h()),Dn(()=>{let e=h();if(!e)return;let{available:t,contentBox:n}=e;n.height>t.y&&requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{h()})})}),{updateLocation:h}}function wx(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function Tx(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}var Ex=!0,Dx=[];function Ox(e){!Ex||Dx.length?(Dx.push(e),Ax()):(Ex=!1,e(),Ax())}var kx=-1;function Ax(){cancelAnimationFrame(kx),kx=requestAnimationFrame(()=>{let e=Dx.shift();e&&e(),Dx.length?Ax():Ex=!0})}var jx={none:null,close:Px,block:Fx,reposition:Ix},Mx=J({scrollStrategy:{type:[String,Function],default:`block`,validator:e=>typeof e==`function`||e in jx}},`VOverlay-scroll-strategies`);function Nx(e,t){if(!K)return;let n;Gn(async()=>{n?.stop(),t.isActive.value&&e.scrollStrategy&&(n=Te(),await new Promise(e=>setTimeout(e)),n.active&&n.run(()=>{typeof e.scrollStrategy==`function`?e.scrollStrategy(t,e,n):jx[e.scrollStrategy]?.(t,e,n)}))}),De(()=>{n?.stop()})}function Px(e){function t(t){e.isActive.value=!1}Rx(Lx(e.target.value,e.contentEl.value),t)}function Fx(e,t){let n=e.root.value?.offsetParent,r=Lx(e.target.value,e.contentEl.value),i=[...new Set([...ku(r,t.contained?n:void 0),...ku(e.contentEl.value,t.contained?n:void 0)])].filter(e=>!e.classList.contains(`v-overlay-scroll-blocked`)),a=window.innerWidth-document.documentElement.offsetWidth,o=(e=>Au(e)&&e)(n||document.documentElement);o&&e.root.value.classList.add(`v-overlay--scroll-blocked`),i.forEach((e,t)=>{e.style.setProperty(`--v-body-scroll-x`,q(-e.scrollLeft)),e.style.setProperty(`--v-body-scroll-y`,q(-e.scrollTop)),(e!==document.documentElement||getComputedStyle(e).overflowY!==`scroll`)&&e.style.setProperty(`--v-scrollbar-offset`,q(a)),e.classList.add(`v-overlay-scroll-blocked`)}),De(()=>{i.forEach((e,t)=>{let n=parseFloat(e.style.getPropertyValue(`--v-body-scroll-x`)),r=parseFloat(e.style.getPropertyValue(`--v-body-scroll-y`)),i=e.style.scrollBehavior;e.style.scrollBehavior=`auto`,e.style.removeProperty(`--v-body-scroll-x`),e.style.removeProperty(`--v-body-scroll-y`),e.style.removeProperty(`--v-scrollbar-offset`),e.classList.remove(`v-overlay-scroll-blocked`),e.scrollLeft=-n,e.scrollTop=-r,e.style.scrollBehavior=i}),o&&e.root.value.classList.remove(`v-overlay--scroll-blocked`)})}function Ix(e,t,n){let r=!1,i=-1,a=-1;function o(t){Ox(()=>{let n=performance.now();e.updateLocation.value?.(t),r=(performance.now()-n)/(1e3/60)>2})}a=(typeof requestIdleCallback>`u`?e=>e():requestIdleCallback)(()=>{n.run(()=>{Rx(Lx(e.target.value,e.contentEl.value),e=>{r?(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o(e)})})):o(e)})})}),De(()=>{typeof cancelIdleCallback<`u`&&cancelIdleCallback(a),cancelAnimationFrame(i)})}function Lx(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(e=>!t?.contains(e)):e??t}function Rx(e,t){let n=[document,...ku(e)];n.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),De(()=>{n.forEach(e=>{e.removeEventListener(`scroll`,t)})})}var zx=Symbol.for(`vuetify:v-menu`),Bx=J({closeDelay:[Number,String],openDelay:[Number,String]},`delay`);function Vx(e,t){let n=()=>{};function r(r,i){n?.();let a=r?e.openDelay:e.closeDelay,o=Math.max(i?.minDelay??0,Number(a??0));return new Promise(e=>{n=Kc(o,()=>{t?.(r),e(r)})})}function i(){return r(!0)}function a(e){return r(!1,e)}return{clearDelay:n,runOpenDelay:i,runCloseDelay:a}}var Hx=J({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...Bx()},`VOverlay-activator`);function Ux(e,{isActive:t,isTop:n,contentEl:r}){let i=cu(`useActivator`),a=N(),o=!1,s=!1,c=!0,l=G(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),u=G(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!l.value),{runOpenDelay:d,runCloseDelay:f}=Vx(e,r=>{r===(e.openOnHover&&o||l.value&&s)&&!(e.openOnHover&&t.value&&!n.value)&&(t.value!==r&&(c=!0),t.value=r)}),p=!1;z(t,e=>{e||(p=!0,setTimeout(()=>p=!1,50))});let m=N(),h={onClick:e=>{p&&!t.value||(e.stopPropagation(),a.value=e.currentTarget||e.target,t.value||(m.value=[e.clientX,e.clientY]),t.value=!t.value)},onMouseenter:e=>{o=!0,a.value=e.currentTarget||e.target,d()},onMouseleave:e=>{o=!1,f()},onFocus:e=>{p||Wc(e.target,`:focus-visible`)!==!1&&(s=!0,e.stopPropagation(),a.value=e.currentTarget||e.target,d())},onBlur:e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,e.stopPropagation(),f({minDelay:1}))}},g=G(()=>{let t={};return u.value&&(t.onClick=h.onClick),e.openOnHover&&(t.onMouseenter=h.onMouseenter,t.onMouseleave=h.onMouseleave),l.value&&(t.onFocus=h.onFocus,t.onBlur=h.onBlur),t}),_=G(()=>{let n={};if(e.openOnHover&&(n.onMouseenter=()=>{o=!0,d()},n.onMouseleave=()=>{o=!1,f()}),l.value&&(n.onFocusin=e=>{e.target.matches(`:focus-visible`)&&(s=!0,d())},n.onFocusout=e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,f({minDelay:1}))}),e.closeOnContentClick){let e=R(zx,null);n.onClick=()=>{t.value=!1,e?.closeParents()}}return n}),v=G(()=>{let t={};return e.openOnHover&&(t.onMouseenter=()=>{c&&(o=!0,c=!1,d())},t.onMouseleave=()=>{o=!1,f()}),t});z(n,t=>{t&&(e.openOnHover&&!o&&(!l.value||!s)||l.value&&!s&&(!e.openOnHover||!o))&&!r.value?.contains(document.activeElement)&&f()}),z(t,e=>{e||setTimeout(()=>{m.value=void 0})},{flush:`post`});let y=Jc();Gn(()=>{y.value&&Dn(()=>{a.value=y.el})});let b=Jc(),x=G(()=>e.target===`cursor`&&m.value?m.value:b.value?b.el:Gx(e.target,i)||a.value),S=G(()=>Array.isArray(x.value)?void 0:x.value),C;return z(()=>!!e.activator,t=>{t&&K?(C=Te(),C.run(()=>{Wx(e,i,{activatorEl:a,activatorEvents:g})})):C&&C.stop()},{flush:`post`,immediate:!0}),De(()=>{C?.stop()}),{activatorEl:a,activatorRef:y,target:x,targetEl:S,targetRef:b,activatorEvents:g,contentEvents:_,scrimEvents:v}}function Wx(e,t,{activatorEl:n,activatorEvents:r}){z(()=>e.activator,(e,t)=>{if(t&&e!==t){let e=o(t);e&&a(e)}e&&Dn(()=>i())},{immediate:!0}),z(()=>e.activatorProps,()=>{i()}),De(()=>{a()});function i(t=o(),n=e.activatorProps){t&&hl(t,W(r.value,n))}function a(t=o(),n=e.activatorProps){t&&gl(t,W(r.value,n))}function o(r=e.activator){let i=Gx(r,t);return n.value=i?.nodeType===Node.ELEMENT_NODE?i:void 0,n.value}}function Gx(e,t){if(!e)return;let n;if(e===`parent`){let e=t?.proxy?.$el?.parentNode;for(;e?.hasAttribute(`data-no-activator`);)e=e.parentNode;n=e}else n=typeof e==`string`?document.querySelector(e):`$el`in e?e.$el:e;return n}var Kx=J({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},`focusTrap`),qx=new Map,Jx=0;function Yx(){let e;for(let{isActive:t,contentEl:n}of qx.values())t.value&&n.value&&(e=n.value);return e}function Xx(e){let t=document.activeElement;if(e.key!==`Tab`||!t)return;let n=Array.from(qx.values()).filter(({isActive:e,contentEl:n})=>e.value&&n.value?.contains(t)).map(e=>e.contentEl.value),r,i=t;for(;i;){if(n.includes(i)){r=i;break}i=i.parentElement}if(!r){let t=Yx();if(!t)return;let n=zc(t).filter(e=>e.tabIndex>=0);e.preventDefault(),n.length?e.shiftKey?n[n.length-1].focus():n[0].focus():t.focus({preventScroll:!0});return}let a=zc(r).filter(e=>e.tabIndex>=0);if(!a.length)return;if(a.length===1&&a[0].classList.contains(`v-list`)&&a[0].contains(t)){e.preventDefault();return}let o=a[0],s=a[a.length-1],c=t===o||t===r||o.classList.contains(`v-list`)&&o.contains(t),l=t===s||s.classList.contains(`v-list`)&&s.contains(t);e.shiftKey&&c&&(e.preventDefault(),s.focus()),!e.shiftKey&&l&&(e.preventDefault(),o.focus())}function Zx(e,{isActive:t,localTop:n,contentEl:r}){let i=Symbol(`trap`),a=!1,o=-1;async function s(){a=!0,o=window.setTimeout(()=>{a=!1},100)}async function c(e){let i=e.relatedTarget,o=e.target;document.removeEventListener(`pointerdown`,s),document.removeEventListener(`keydown`,l),await Dn(),t.value&&!a&&i!==o&&r.value&&Qt(n)&&![document,r.value].includes(o)&&!r.value.contains(o)&&zc(r.value)[0]?.focus()}function l(e){if(e.key===`Tab`&&(document.removeEventListener(`keydown`,l),t.value&&r.value&&e.target&&!r.value.contains(e.target))){let t=zc(document.documentElement);if(e.shiftKey&&e.target===t.at(0)||!e.shiftKey&&e.target===t.at(-1)){let t=zc(r.value);t.length>0&&(e.preventDefault(),t[0].focus())}}}let u=I(()=>t.value&&e.captureFocus&&!e.disableInitialFocus);K&&(z(()=>e.retainFocus,e=>{e?qx.set(i,{isActive:t,contentEl:r}):qx.delete(i)},{immediate:!0}),z(u,e=>{e?(document.addEventListener(`pointerdown`,s),document.addEventListener(`focusin`,c,{once:!0}),document.addEventListener(`keydown`,l)):(document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l))},{immediate:!0}),Jx++<1&&document.addEventListener(`keydown`,Xx)),De(()=>{qx.delete(i),K&&(clearTimeout(o),document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l),--Jx<1&&document.removeEventListener(`keydown`,Xx))})}function Qx(){if(!K)return P(!1);let{ssr:e}=_f();if(e){let e=P(!1);return Vr(()=>{e.value=!0}),e}else return P(!0)}var $x=J({eager:Boolean},`lazy`);function eS(e,t){let n=P(!1),r=I(()=>n.value||e.eager||t.value);z(t,()=>n.value=!0);function i(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:i}}function tS(){let e=cu(`useScopeId`).vnode.scopeId;return{scopeId:e?{[e]:``}:void 0}}var nS=Symbol.for(`vuetify:stack`),rS=Rt([]);function iS(e,t,n){let r=cu(`useStack`),i=!n,a=R(nS,void 0),o=Rt({activeChildren:new Set});Vn(nS,o);let s=P(Number(Qt(t)));Wu(e,()=>{let e=rS.at(-1)?.[1];s.value=e?e+10:Number(Qt(t)),i&&rS.push([r.uid,s.value]),a?.activeChildren.add(r.uid),De(()=>{if(i){let e=M(rS).findIndex(e=>e[0]===r.uid);rS.splice(e,1)}a?.activeChildren.delete(r.uid)})});let c=P(!0);return i&&Gn(()=>{let e=rS.at(-1)?.[0]===r.uid;setTimeout(()=>c.value=e)}),{globalTop:Bt(c),localTop:I(()=>!o.activeChildren.size),stackStyles:I(()=>({zIndex:s.value}))}}function aS(e){return{teleportTarget:G(()=>{let t=e();if(t===!0||!K)return;let n=t===!1?document.body:typeof t==`string`?document.querySelector(t):t;if(n==null){go(`Unable to locate target ${t}`);return}let r=[...n.children].find(e=>e.matches(`.v-overlay-container`));return r||(r=document.createElement(`div`),r.className=`v-overlay-container`,n.appendChild(r)),r})}}function oS(){return!0}function sS(e,t,n){if(!e||cS(e,n)===!1)return!1;let r=Cu(t);if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&r.host===e.target)return!1;let i=(typeof n.value==`object`&&n.value.include||(()=>[]))();return i.push(t),!i.some(t=>t?.contains(e.target))}function cS(e,t){return(typeof t.value==`object`&&t.value.closeConditional||oS)(e)}function lS(e,t,n){let r=typeof n.value==`function`?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&sS(e,t,n)&&setTimeout(()=>{cS(e,n)&&r&&r(e)},0)}function uS(e,t){let n=Cu(e);t(document),typeof ShadowRoot<`u`&&n instanceof ShadowRoot&&t(n)}var dS={mounted(e,t){let n=n=>lS(n,e,t),r=n=>{e._clickOutside.lastMousedownWasOutside=sS(n,e,t)};uS(e,e=>{e.addEventListener(`click`,n,!0),e.addEventListener(`mousedown`,r,!0)}),e._clickOutside||={lastMousedownWasOutside:!1},e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(uS(e,n=>{if(!n||!e._clickOutside?.[t.instance.$.uid])return;let{onClick:r,onMousedown:i}=e._clickOutside[t.instance.$.uid];n.removeEventListener(`click`,r,!0),n.removeEventListener(`mousedown`,i,!0)}),delete e._clickOutside[t.instance.$.uid])}};function fS(e){let{modelValue:t,color:n,...r}=e;return U(Ao,{name:`fade-transition`,appear:!0},{default:()=>[e.modelValue&&H(`div`,W({class:[`v-overlay__scrim`,e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}var pS=J({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...Hx(),...Y(),...sv(),...$x(),...yx(),...Mx(),...Kx(),...Of(),...Ty()},`VOverlay`),mS=X()({name:`VOverlay`,directives:{vClickOutside:dS},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...mc(pS(),[`disableInitialFocus`])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,{slots:t,attrs:n,emit:r}){let i=cu(`VOverlay`),a=N(),o=N(),s=N(),c=Gu(e,`modelValue`),l=G({get:()=>c.value,set:t=>{t&&e.disabled||(c.value=t)}}),{themeClasses:u}=Bf(e),{rtlClasses:d,isRtl:f}=sd(),{hasContent:p,onAfterLeave:m}=eS(e,l),h=A_(()=>typeof e.scrim==`string`?e.scrim:null),{globalTop:g,localTop:_,stackStyles:v}=iS(l,()=>e.zIndex,e._disableGlobalStack),{activatorEl:y,activatorRef:b,target:x,targetEl:S,targetRef:C,activatorEvents:w,contentEvents:T,scrimEvents:E}=Ux(e,{isActive:l,isTop:_,contentEl:s}),{teleportTarget:ee}=aS(()=>{let t=e.attach||e.contained;if(t)return t;let n=y?.value?.getRootNode()||i.proxy?.$el?.getRootNode();return n instanceof ShadowRoot?n:!1}),{dimensionStyles:D}=cv(e),te=Qx(),{scopeId:O}=tS();z(()=>e.disabled,e=>{e&&(l.value=!1)});let{contentStyles:ne,updateLocation:re}=bx(e,{isRtl:f,contentEl:s,target:x,isActive:l});Nx(e,{root:a,contentEl:s,targetEl:S,target:x,isActive:l,updateLocation:re});function k(t){r(`click:outside`,t),e.persistent?A():l.value=!1}function ie(t){return l.value&&_.value&&(!e.scrim||t.target===o.value||t instanceof MouseEvent&&t.shadowTarget===o.value)}Zx(e,{isActive:l,localTop:_,contentEl:s});function ae(){let e=y.value;if(!e||!e.isConnected||e.closest(`.v-overlay__content`)||s.value?._clickOutside?.lastMousedownWasOutside)return;let t=document.activeElement;if(!(!t||t===document.body||t===e||e.contains(t)||t.closest(`.v-overlay__content`)))return;let n=e.parentElement,r=n?zc(n):[],i;if(r.includes(e))i=e;else{let t=zc(e);i=t.find(e=>e.tagName===`INPUT`||e.tagName===`TEXTAREA`)??t[0]}i?.focus({preventScroll:!0})}z(l,e=>{e||ae()},{flush:`post`}),K&&z(l,e=>{e?window.addEventListener(`keydown`,oe):window.removeEventListener(`keydown`,oe)},{immediate:!0}),Wr(()=>{K&&window.removeEventListener(`keydown`,oe)});function oe(t){t.key===`Escape`&&g.value&&(s.value?.contains(document.activeElement)||r(`keydown`,t),e.persistent?A():(l.value=!1,s.value?.contains(document.activeElement)&&y.value?.focus()))}function se(e){e.key===`Escape`&&!g.value||r(`keydown`,e)}let ce=Cv();Wu(()=>e.closeOnBack,()=>{Dv(ce,()=>{if(g.value&&l.value)return e.persistent?A():l.value=!1,!1})});let le=N();z(()=>l.value&&(e.absolute||e.contained)&&ee.value==null,e=>{if(e){let e=Ou(a.value);e&&e!==document.scrollingElement&&(le.value=e.scrollTop)}});function A(){e.noClickAnimation||s.value&&pl(s.value,[{transformOrigin:`center`},{transform:`scale(1.03)`},{transformOrigin:`center`}],{duration:150,easing:`cubic-bezier(0.4, 0, 0.2, 1)`})}function ue(){r(`afterEnter`)}function de(){m(),r(`afterLeave`)}return Z(()=>H(B,null,[t.activator?.({isActive:l.value,targetRef:C,props:W({ref:b},w.value,e.activatorProps)}),te.value&&p.value&&U(sr,{disabled:!ee.value,to:ee.value},{default:()=>[H(`div`,W({class:[`v-overlay`,{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":l.value,"v-overlay--contained":e.contained},u.value,d.value,e.class],style:[v.value,{"--v-overlay-opacity":e.opacity,top:q(le.value)},e.style],ref:a,onKeydown:se},O,n),[U(fS,W({color:h,modelValue:l.value&&!!e.scrim,ref:o},E.value),null),U(Ey,{appear:!0,persisted:!0,transition:e.transition,target:x.value,onAfterEnter:ue,onAfterLeave:de},{default:()=>[zn(H(`div`,W({ref:s,class:[`v-overlay__content`,e.contentClass],style:[D.value,ne.value]},T.value,e.contentProps),[t.default?.({isActive:l})]),[[Jo,l.value],[dS,{handler:k,closeConditional:ie,include:()=>[y.value,...Array.from(document.querySelectorAll(`.v-overlay__content`))]}]])]})])]})])),{activatorEl:y,scrimEl:o,target:x,animateClick:A,contentEl:s,rootEl:a,globalTop:g,localTop:_,updateLocation:re}}}),hS=Symbol(`Forwarded refs`);function gS(e,t){let n=e;for(;n;){let e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Object.getPrototypeOf(n)}}function _S(e,...t){return e[hS]=t,new Proxy(e,{get(e,n){if(Reflect.has(e,n))return Reflect.get(e,n);if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t)if(e.value&&Reflect.has(e.value,n)){let t=Reflect.get(e.value,n);return typeof t==`function`?t.bind(e.value):t}}},has(e,n){if(Reflect.has(e,n))return!0;if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return!0;return!1},set(e,n,r){if(Reflect.has(e,n))return Reflect.set(e,n,r);if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return Reflect.set(e.value,n,r);return!1},getOwnPropertyDescriptor(e,n){let r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return r;if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t){if(!e.value)continue;let t=gS(e.value,n)??(`_`in e.value?gS(e.value._?.setupState,n):void 0);if(t)return t}for(let e of t){let t=e.value&&e.value[hS];if(!t)continue;let r=t.slice();for(;r.length;){let e=r.shift(),t=gS(e.value,n);if(t)return t;let i=e.value&&e.value[hS];i&&r.push(...i)}}}}})}var vS=J({id:String,submenu:Boolean,...mc(pS({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:`connected`,location:void 0,openDelay:300,scrim:!1,scrollStrategy:`reposition`,transition:{component:my}}),[`absolute`])},`VMenu`),yS=X()({name:`VMenu`,props:vS(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Gu(e,`modelValue`),{scopeId:r}=tS(),{isRtl:i}=sd(),a=Er(),o=I(()=>e.id||`v-menu-${a}`),s=N(),c=R(zx,null),l=P(new Set);Vn(zx,{register(){l.value.add(a)},unregister(){l.value.delete(a)},closeParents(t){setTimeout(()=>{!l.value.size&&!e.persistent&&(t==null||s.value?.contentEl&&!qc(t,s.value.contentEl))&&(n.value=!1,c?.closeParents())},40)}}),Wr(()=>c?.unregister()),Fr(()=>n.value=!1),z(n,e=>{e?c?.register():c?.unregister()},{immediate:!0});function u(e){c?.closeParents(e)}function d(t){e.disabled||(t.key===`Tab`?!Bc(zc(s.value?.contentEl,!1),t.shiftKey?`prev`:`next`,e=>e.tabIndex>=0)&&!e.retainFocus&&(n.value=!1):e.submenu&&t.key===(i.value?`ArrowRight`:`ArrowLeft`)&&(n.value=!1))}function f(t){if(e.disabled)return;let r=s.value?.contentEl;r&&n.value?t.key===`ArrowDown`?(t.preventDefault(),t.stopImmediatePropagation(),Vc(r,`next`)):t.key===`ArrowUp`?(t.preventDefault(),t.stopImmediatePropagation(),Vc(r,`prev`)):e.submenu&&(t.key===(i.value?`ArrowRight`:`ArrowLeft`)?n.value=!1:t.key===(i.value?`ArrowLeft`:`ArrowRight`)&&(t.preventDefault(),Vc(r,`first`))):(e.submenu?t.key===(i.value?`ArrowLeft`:`ArrowRight`):[`ArrowDown`,`ArrowUp`].includes(t.key))&&(n.value=!0,t.preventDefault(),setTimeout(()=>setTimeout(()=>f(t))))}let p=G(()=>W({"aria-haspopup":`menu`,"aria-expanded":String(n.value),"aria-controls":o.value,"aria-owns":o.value,onKeydown:f},e.activatorProps));return Z(()=>{let i=mS.filterProps(e);return U(mS,W({ref:s,id:o.value,class:[`v-menu`,e.class],style:e.style},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,absolute:!0,activatorProps:p.value,location:e.location??(e.submenu?`end`:`bottom`),"onClick:outside":u,onKeydown:d},r),{activator:t.activator,default:(...e)=>U(X_,{root:`VMenu`},{default:()=>[t.default?.(...e)]})})}),_S({id:o,ΨopenChildren:l},s)}});function bS({rootEl:e,isSticky:t,layoutItemStyles:n}){let r=P(!1),i=P(0),a=G(()=>{let e=typeof r.value==`boolean`?`top`:r.value;return[t.value?{top:`auto`,bottom:`auto`,height:void 0}:void 0,r.value?{[e]:q(i.value)}:{top:n.value.top}]});Vr(()=>{z(t,e=>{e?window.addEventListener(`scroll`,s,{passive:!0}):window.removeEventListener(`scroll`,s)},{immediate:!0})}),Wr(()=>{window.removeEventListener(`scroll`,s)});let o=0;function s(){let t=o>window.scrollY?`up`:`down`,a=e.value.getBoundingClientRect(),s=parseFloat(n.value.top??0),c=window.scrollY-Math.max(0,i.value-s),l=a.height+Math.max(i.value,s)-window.scrollY-window.innerHeight,u=parseFloat(getComputedStyle(e.value).getPropertyValue(`--v-body-scroll-y`))||0;a.height0;n--){if(e[n].t===e[n-1].t)continue;let r=CS(t),i=(e[n].d-e[n-1].d)/(e[n].t-e[n-1].t);t+=(i-r)*Math.abs(i),n===e.length-1&&(t*=.5)}return CS(t)*1e3}function TS(){let e={};function t(t){Array.from(t.changedTouches).forEach(n=>{(e[n.identifier]??(e[n.identifier]=new Mc(SS))).push([t.timeStamp,n])})}function n(t){Array.from(t.changedTouches).forEach(t=>{delete e[t.identifier]})}function r(t){let n=e[t]?.values().reverse();if(!n)throw Error(`No samples for touch id ${t}`);let r=n[0],i=[],a=[];for(let e of n){if(r[0]-e[0]>xS)break;i.push({t:e[0],d:e[1].clientX}),a.push({t:e[0],d:e[1].clientY})}return{x:wS(i),y:wS(a),get direction(){let{x:e,y:t}=this,[n,r]=[Math.abs(e),Math.abs(t)];return n>r&&e>=0?`right`:n>r&&e<=0?`left`:r>n&&t>=0?`down`:r>n&&t<=0?`up`:ES()}}}return{addMovement:t,endTouch:n,getVelocity:r}}function ES(){throw Error()}function DS({el:e,isActive:t,isTemporary:n,width:r,touchless:i,position:a}){Vr(()=>{window.addEventListener(`touchstart`,_,{passive:!0}),window.addEventListener(`touchmove`,v,{passive:!1}),window.addEventListener(`touchend`,y,{passive:!0})}),Wr(()=>{window.removeEventListener(`touchstart`,_),window.removeEventListener(`touchmove`,v),window.removeEventListener(`touchend`,y)});let o=G(()=>[`left`,`right`].includes(a.value)),{addMovement:s,endTouch:c,getVelocity:l}=TS(),u=!1,d=P(!1),f=P(0),p=P(0),m;function h(e,t){return(a.value===`left`?e:a.value===`right`?document.documentElement.clientWidth-e:a.value===`top`?e:a.value===`bottom`?document.documentElement.clientHeight-e:OS())-(t?r.value:0)}function g(e,t=!0){let n=a.value===`left`?(e-p.value)/r.value:a.value===`right`?(document.documentElement.clientWidth-e-p.value)/r.value:a.value===`top`?(e-p.value)/r.value:a.value===`bottom`?(document.documentElement.clientHeight-e-p.value)/r.value:OS();return t?Cc(n):n}function _(e){if(i.value)return;let l=e.changedTouches[0].clientX,d=e.changedTouches[0].clientY,_=a.value===`left`?l<25:a.value===`right`?l>document.documentElement.clientWidth-25:a.value===`top`?d<25:a.value===`bottom`?d>document.documentElement.clientHeight-25:OS(),v=t.value&&(a.value===`left`?ldocument.documentElement.clientWidth-r.value:a.value===`top`?ddocument.documentElement.clientHeight-r.value:OS());(_||v||t.value&&n.value)&&(m=[l,d],p.value=h(o.value?l:d,t.value),f.value=g(o.value?l:d),u=p.value>-20&&p.value<80,c(e),s(e))}function v(e){let t=e.changedTouches[0].clientX,n=e.changedTouches[0].clientY;if(u){if(!e.cancelable){u=!1;return}let r=Math.abs(t-m[0]),i=Math.abs(n-m[1]);(o.value?r>i&&r>3:i>r&&i>3)?(d.value=!0,u=!1):(o.value?i:r)>3&&(u=!1)}if(!d.value)return;e.preventDefault(),s(e);let r=g(o.value?t:n,!1);f.value=Math.max(0,Math.min(1,r)),r>1?p.value=h(o.value?t:n,!0):r<0&&(p.value=h(o.value?t:n,!1))}function y(e){if(u=!1,!d.value)return;s(e),d.value=!1;let n=l(e.changedTouches[0].identifier),r=Math.abs(n.x),i=Math.abs(n.y);(o.value?r>i&&r>400:i>r&&i>3)?t.value=n.direction===({left:`right`,right:`left`,top:`down`,bottom:`up`}[a.value]||OS()):t.value=f.value>.5}let b=G(()=>d.value?{transform:a.value===`left`?`translateX(calc(-100% + ${f.value*r.value}px))`:a.value===`right`?`translateX(calc(100% - ${f.value*r.value}px))`:a.value===`top`?`translateY(calc(-100% + ${f.value*r.value}px))`:a.value===`bottom`?`translateY(calc(100% - ${f.value*r.value}px))`:OS(),transition:`none`}:void 0);return Wu(d,()=>{let t=e.value?.style.transform??null,n=e.value?.style.transition??null;Gn(()=>{e.value?.style.setProperty(`transform`,b.value?.transform||`none`),e.value?.style.setProperty(`transition`,b.value?.transition||null)}),De(()=>{e.value?.style.setProperty(`transform`,t),e.value?.style.setProperty(`transition`,n)})}),{isDragging:d,dragProgress:f,dragStyles:b}}function OS(){throw Error()}var kS=[`start`,`end`,`left`,`right`,`top`,`bottom`],AS=J({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:`start`,validator:e=>kS.includes(e)},sticky:Boolean,...v_(),...Y(),...Bx(),...gf({mobile:null}),...C_(),...qf(),...T_(),...mc(Kx(),[`disableInitialFocus`]),...D_({tag:`nav`}),...Of()},`VNavigationDrawer`),jS=X()({name:`VNavigationDrawer`,props:AS(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{isRtl:i}=sd(),{themeClasses:a}=Bf(e),{borderClasses:o}=y_(e),{backgroundColorClasses:s,backgroundColorStyles:c}=A_(()=>e.color),{elevationClasses:l}=w_(e),{displayClasses:u,mobile:d}=_f(e),{roundedClasses:f}=E_(e),p=Cv(),m=Gu(e,`modelValue`,null,e=>!!e),{ssrBootStyles:h}=Ly(),{scopeId:g}=tS(),_=N(),v=P(!1),{runOpenDelay:y,runCloseDelay:b}=Vx(e,e=>{v.value=e}),x=G(()=>e.rail&&e.expandOnHover&&v.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),S=G(()=>rl(e.location,i.value)),C=I(()=>e.persistent),w=G(()=>!e.permanent&&(d.value||e.temporary)),T=G(()=>e.sticky&&!w.value&&S.value!==`bottom`);Zx(e,{isActive:m,localTop:w,contentEl:_}),Wu(()=>e.expandOnHover&&e.rail!=null,()=>{z(v,e=>n(`update:rail`,!e))}),Wu(()=>!e.disableResizeWatcher,()=>{z(w,t=>!e.permanent&&Dn(()=>m.value=!t))}),Wu(()=>!e.disableRouteWatcher&&!!p,()=>{z(p.currentRoute,()=>w.value&&(m.value=!1))}),z(()=>e.permanent,e=>{e&&(m.value=!0)}),e.modelValue==null&&!w.value&&(m.value=e.permanent||!d.value);let{isDragging:E,dragProgress:ee}=DS({el:_,isActive:m,isTemporary:w,width:x,touchless:I(()=>e.touchless),position:S}),D=G(()=>{let t=w.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):x.value;return E.value?t*ee.value:t}),{layoutItemStyles:te,layoutItemScrimStyles:O}=Yf({id:e.name,order:G(()=>parseInt(e.order,10)),position:S,layoutSize:D,elementSize:x,active:Bt(m),disableTransitions:I(()=>E.value),absolute:G(()=>e.absolute||T.value&&typeof ne.value!=`string`)}),{isStuck:ne,stickyStyles:re}=bS({rootEl:_,isSticky:T,layoutItemStyles:te}),k=A_(()=>typeof e.scrim==`string`?e.scrim:null),ie=G(()=>({...E.value?{opacity:ee.value*.2,transition:`none`}:void 0,...O.value}));return mu({VList:{bgColor:`transparent`}}),Z(()=>{let n=r.image||e.image;return H(B,null,[U(e.tag,W({ref:_,onMouseenter:y,onMouseleave:b,class:[`v-navigation-drawer`,`v-navigation-drawer--${S.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":v.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":w.value,"v-navigation-drawer--persistent":C.value,"v-navigation-drawer--active":m.value,"v-navigation-drawer--sticky":T.value},a.value,s.value,o.value,u.value,l.value,f.value,e.class],style:[c.value,te.value,h.value,re.value,e.style],inert:!m.value},g,t),{default:()=>[n&&H(`div`,{key:`image`,class:`v-navigation-drawer__img`},[r.image?U(X_,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{alt:``,cover:!0,height:`inherit`,src:e.image}}},r.image):U(jy,{key:`image-img`,alt:``,cover:!0,height:`inherit`,src:e.image},null)]),r.prepend&&H(`div`,{class:`v-navigation-drawer__prepend`},[r.prepend?.()]),H(`div`,{class:`v-navigation-drawer__content`},[r.default?.()]),r.append&&H(`div`,{class:`v-navigation-drawer__append`},[r.append?.()])]}),U(Ao,{name:`fade-transition`},{default:()=>[w.value&&(E.value||m.value)&&!!e.scrim&&H(`div`,W({class:[`v-navigation-drawer__scrim`,k.backgroundColorClasses.value],style:[ie.value,k.backgroundColorStyles.value],onClick:()=>{C.value||(m.value=!1)}},g),null)]})])}),{isStuck:ne}}}),MS=J({color:String,...v_(),...Y(),...sv(),...C_(),...uv(),...bv(),...T_(),...D_(),...Of()},`VSheet`),NS=X()({name:`VSheet`,props:MS(),setup(e,{slots:t}){let{themeClasses:n}=Bf(e),{backgroundColorClasses:r,backgroundColorStyles:i}=A_(()=>e.color),{borderClasses:a}=y_(e),{dimensionStyles:o}=cv(e),{elevationClasses:s}=w_(e),{locationStyles:c}=dv(e),{positionClasses:l}=xv(e),{roundedClasses:u}=E_(e);return Z(()=>U(e.tag,{class:j([`v-sheet`,n.value,r.value,a.value,s.value,l.value,u.value,e.class]),style:A([i.value,o.value,c.value,e.style])},t)),{}}}),PS=Symbol.for(`vuetify:v-snackbar-queue`);function FS(e,t){let n=R(PS,null);if(!n)return null;let r=Er();n.register(r),Wr(()=>n.unregister(r)),z(e,e=>!e&&n.unregister(r),{flush:`sync`});let{resizeRef:i,contentRect:a}=Hf();return z(t,e=>{i.value=e??null}),z(a,e=>{e?.width&&n.setSize(r,e.height,e.width)}),{id:r,offset:G(()=>n.getOffset(r))}}function IS(e){let t=P(e()),n=-1;function r(){clearInterval(n)}function i(){r(),Dn(()=>t.value=e())}function a(i){let a=i?getComputedStyle(i):{transitionDuration:.2},o=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;let s=performance.now();n=window.setInterval(()=>{let n=performance.now()-s+o;t.value=Math.max(e()-n,0),t.value<=0&&r()},o)}return De(r),{clear:r,time:t,start:a,reset:i}}var LS=J({collapsed:Object,loading:Boolean,prependAvatar:String,prependIcon:Q,queueGap:Number,queueIndex:Number,title:String,text:String,reverseTimer:Boolean,timer:{type:[Boolean,String],default:!1},timerColor:String,timeout:{type:[Number,String],default:5e3},vertical:Boolean,...uv({location:`bottom`}),...bv(),...T_(),...F_(),...Of(),...mc(pS({closeOnBack:!1,transition:`v-snackbar-transition`}),[`persistent`,`noClickAnimation`,`offset`,`retainFocus`,`captureFocus`,`disableInitialFocus`,`scrim`,`scrollStrategy`,`stickToTarget`,`viewportMargin`])},`VSnackbar`),RS=X()({name:`VSnackbar`,props:LS(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Gu(e,`modelValue`),{positionClasses:r}=xv(e),{scopeId:i}=tS(),{themeClasses:a}=Bf(e),{colorClasses:o,colorStyles:s,variantClasses:c}=I_(e),{roundedClasses:l}=E_(e),u=IS(()=>Number(e.timeout)),d=N(),f=FS(n,()=>d.value?.contentEl),p,m=N(),h=P(!1),g=P(!1),_=P(0),v=N(),y=R(Uf,void 0);Wu(()=>!!y,()=>{let e=Jf();Gn(()=>{v.value=e.mainStyles.value})}),z(n,x),z(()=>e.timeout,x),Vr(()=>{n.value&&x()});let b=-1;function x(){u.reset(),window.clearTimeout(b);let t=Number(e.timeout);if(!n.value||t===-1)return;let r=cc(m.value);Dn(()=>u.start(r)),b=window.setTimeout(()=>{n.value=!1},t)}function S(){u.reset(),window.clearTimeout(b)}function C(){h.value=!0,S()}function w(){h.value=!1,g.value||x()}function T(){g.value=!0,S()}function E(e){(d.value?.contentEl)?.contains(e.relatedTarget)||(g.value=!1,h.value||x())}function ee(e){_.value=e.touches[0].clientY}function D(e){Math.abs(_.value-e.changedTouches[0].clientY)>50&&(n.value=!1)}function te(){h.value&&w(),g.value=!1}let O=G(()=>e.location.split(` `).reduce((e,t)=>(e[`v-snackbar--${t}`]=!0,e),{})),ne=G(()=>{let[t,n]=e.location.split(` `);return t===`bottom`||[`left`,`right`].includes(t)&&n===`end`?-1:1}),re=G(()=>e.collapsed?{"--v-snackbar-collapsed-height":q(e.collapsed.height),"--v-snackbar-collapsed-width":q(e.collapsed.width)}:null),k=G(()=>f?f.offset.value===null?p:p=q(f.offset.value):{}),ie=G(()=>{if(typeof e.transition!=`string`||!e.transition.endsWith(`-auto`))return e.transition;let t=e.transition.replace(`-auto`,``),[n,r]=e.location.split(` `);return`${t}-${[`start`,`end`,`left`,`right`].includes(r)||[`left`,`right`].includes(n)?`x`:`y`}${[`end`,`right`].includes(r)||![`start`,`left`].includes(r)&&[`bottom`,`right`].includes(n)?`-reverse`:``}-transition`});return Z(()=>{let f=mc(mS.filterProps(e),[`transition`]),p=!!(e.prependAvatar||e.prependIcon),g=!!(p||e.loading||t.prepend),_=!!(t.default||t.text||t.title||e.text||e.title);return U(mS,W({ref:d,class:[`v-snackbar`,{"v-snackbar--active":n.value,"v-snackbar--collapsed":!!e.collapsed,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},O.value,r.value,e.class],style:[v.value,{"--v-snackbar-offset":k.value,"--v-snackbar-gap":q(e.queueGap),"--v-snackbar-index":e.queueIndex,"--v-snackbar-direction":ne.value},re.value,e.style]},f,{transition:ie.value,modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,contentProps:W({class:[`v-snackbar__wrapper`,a.value,o.value,l.value,c.value],style:[s.value],onPointerenter:C,onPointerleave:w,onFocusin:T,onFocusout:E},f.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:`none`,_disableGlobalStack:!0,onTouchstartPassive:ee,onTouchend:D,onAfterLeave:te},i),{default:()=>[P_(!1,`v-snackbar`),t.header&&H(`div`,{class:`v-snackbar__header`},[t.header?.()]),e.timer&&u.time.value>0&&!h.value&&H(`div`,{key:`timer`,class:j([`v-snackbar__timer`,`v-snackbar__timer--${e.timer===`bottom`?`bottom`:`top`}`])},[U(hv,{ref:m,color:e.timerColor??`info`,max:e.timeout,modelValue:e.reverseTimer?Number(e.timeout)-u.time.value:u.time.value},null)]),g&&U(X_,{key:`prepend-defaults`,disabled:!p&&!e.loading,defaults:{VAvatar:{image:e.prependAvatar},VIcon:{icon:e.prependIcon},VProgressCircular:{indeterminate:!0,size:24,width:3}}},{default:()=>[H(`div`,{class:`v-snackbar__prepend`},[t.prepend?t.prepend():H(B,null,[e.loading&&U(ov,null,null),!e.loading&&e.prependAvatar&&U(Ky,null,null),!e.loading&&e.prependIcon&&U(tv,null,null)])])]}),_&&H(`div`,{key:`content`,class:`v-snackbar__content`,role:`status`,"aria-live":`polite`},[t.title?.()??(e.title?H(`div`,{class:`v-snackbar__title`,key:`title`},[e.title]):``),t.text?.()??e.text,t.default?.()]),t.actions&&U(X_,{defaults:{VBtn:{variant:`text`,ripple:!1,slim:!0}}},{default:()=>[H(`div`,{class:`v-snackbar__actions`},[t.actions({isActive:n})])]})],activator:t.activator})}),_S({},d)}}),zS=J({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...Y(),...Ty({transition:{component:yy}})},`VCounter`),BS=X()({name:`VCounter`,functional:!0,props:zS(),setup(e,{slots:t}){let n=I(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return Z(()=>U(Ey,{transition:e.transition},{default:()=>[zn(H(`div`,{class:j([`v-counter`,{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:A(e.style)},[t.default?t.default({counter:n.value,max:e.max,value:e.value}):n.value]),[[Jo,e.active]])]})),{}}}),VS=J({text:String,onClick:Ic(),...Y(),...Of()},`VLabel`),HS=X()({name:`VLabel`,props:VS(),setup(e,{slots:t}){return Z(()=>H(`label`,{class:j([`v-label`,{"v-label--clickable":!!e.onClick},e.class]),style:A(e.style),onClick:e.onClick},[e.text,t.default?.()])),{}}}),US=J({floating:Boolean,...Y()},`VFieldLabel`),WS=X()({name:`VFieldLabel`,props:US(),setup(e,{slots:t}){return Z(()=>U(HS,{class:j([`v-field-label`,{"v-field-label--floating":e.floating},e.class]),style:A(e.style)},t)),{}}});function GS(e){let{t}=id();function n({name:n,color:r,...i}){let a={prepend:`prependAction`,prependInner:`prependAction`,append:`appendAction`,appendInner:`appendAction`,clear:`clear`}[n],o=e[`onClick:${n}`];function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),Rc(o,new PointerEvent(`click`,e)))}let c=o&&a?t(`$vuetify.input.${a}`,e.label??``):void 0;return U(tv,W({icon:e[`${n}Icon`],"aria-label":c,onClick:o,onKeydown:s,color:r},i),null)}return{InputIcon:n}}var KS=J({focused:Boolean,"onUpdate:focused":Ic()},`focus`);function qS(e,t=lu()){let n=Gu(e,`focused`),r=I(()=>({[`${t}--focused`]:n.value}));function i(){n.value=!0}function a(){n.value=!1}return{focusClasses:r,isFocused:n,focus:i,blur:a}}var JS=[`underlined`,`outlined`,`filled`,`solo`,`solo-inverted`,`solo-filled`,`plain`],YS=J({appendInnerIcon:Q,bgColor:String,clearable:Boolean,clearIcon:{type:Q,default:`$clear`},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:Q,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:`filled`,validator:e=>JS.includes(e)},"onClick:clear":Ic(),"onClick:appendInner":Ic(),"onClick:prependInner":Ic(),...Y(),...gv(),...T_(),...Of()},`VField`),XS=X()({name:`VField`,inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...KS(),...YS()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{themeClasses:i}=Bf(e),{loaderClasses:a}=_v(e),{focusClasses:o,isFocused:s,focus:c,blur:l}=qS(e),{InputIcon:u}=GS(e),{roundedClasses:d}=E_(e),{rtlClasses:f}=sd(),p=I(()=>e.dirty||e.active),m=I(()=>!!(e.label||r.label)),h=I(()=>!e.singleLine&&m.value),g=Er(),_=G(()=>e.id||`input-${g}`),v=I(()=>e.details?`${_.value}-messages`:void 0),y=N(),b=N(),x=N(),S=G(()=>[`plain`,`underlined`].includes(e.variant)),C=G(()=>e.error||e.disabled?void 0:p.value&&s.value?e.color:e.baseColor),w=G(()=>{if(e.iconColor===!0||!e.iconColor&&e.glow&&s.value)return C.value;if(!(!e.iconColor||e.glow&&!s.value))return e.iconColor}),{backgroundColorClasses:T,backgroundColorStyles:E}=A_(()=>e.bgColor),{textColorClasses:ee,textColorStyles:D}=k_(C);z(p,e=>{if(h.value&&!tc()){let t=y.value.$el,n=b.value.$el;requestAnimationFrame(()=>{let r=fl(t),i=new cl(n),a=i.x-r.x,o=i.y-r.y-(r.height/2-i.height/2),s=i.width/.75,c=Math.abs(s-r.width)>1?{maxWidth:q(s)}:void 0,l=getComputedStyle(t),u=getComputedStyle(n),d=parseFloat(l.transitionDuration)*1e3||150,f=parseFloat(u.getPropertyValue(`--v-field-label-scale`)),p=u.getPropertyValue(`color`);t.style.visibility=`visible`,n.style.visibility=`hidden`,pl(t,{transform:`translate(${a}px, ${o}px) scale(${f})`,color:p,...c},{duration:d,easing:wu,direction:e?`normal`:`reverse`}).finished.then(()=>{t.style.removeProperty(`visibility`),n.style.removeProperty(`visibility`)})})}},{flush:`post`});let te=G(()=>({isActive:p,isFocused:s,controlRef:x,iconColor:w,blur:l,focus:c})),O=I(()=>{let e=!p.value;return{"aria-hidden":e,for:e?void 0:_.value}}),ne=I(()=>{let e=h.value&&p.value;return{"aria-hidden":e,for:e?void 0:_.value}});function re(e){e.target!==document.activeElement&&e.preventDefault()}return Z(()=>{let n=e.variant===`outlined`,s=!!(r[`prepend-inner`]||e.prependInnerIcon),g=!!(e.clearable||r.clear)&&!e.disabled,x=!!(r[`append-inner`]||e.appendInnerIcon||g),C=()=>r.label?r.label({...te.value,label:e.label,props:{for:_.value}}):e.label;return H(`div`,W({class:[`v-field`,{"v-field--active":p.value,"v-field--appended":x,"v-field--center-affix":e.centerAffix??!S.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":s,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!C(),[`v-field--variant-${e.variant}`]:!0},i.value,T.value,o.value,a.value,d.value,f.value,e.class],style:[E.value,e.style],onClick:re},t),[H(`div`,{class:`v-field__overlay`},null),U(vv,{name:`v-field`,active:!!e.loading,color:e.error?`error`:typeof e.loading==`string`?e.loading:e.color},{default:r.loader}),s&&H(`div`,{key:`prepend`,class:`v-field__prepend-inner`},[r[`prepend-inner`]?r[`prepend-inner`](te.value):e.prependInnerIcon&&U(u,{key:`prepend-icon`,name:`prependInner`,color:w.value},null)]),H(`div`,{class:`v-field__field`,"data-no-activator":``},[[`filled`,`solo`,`solo-inverted`,`solo-filled`].includes(e.variant)&&h.value&&U(WS,W({key:`floating-label`,ref:b,class:[ee.value],floating:!0},O.value,{style:D.value}),{default:()=>[C()]}),m.value&&U(WS,W({key:`label`,ref:y,id:e.labelId},ne.value),{default:()=>[C()]}),r.default?.({...te.value,props:{id:_.value,class:`v-field__input`,"aria-describedby":v.value},focus:c,blur:l})??H(`div`,{id:_.value,class:`v-field__input`,"aria-describedby":v.value},null)]),g&&U(xy,{key:`clear`},{default:()=>[zn(H(`div`,{class:`v-field__clearable`,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},[U(X_,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[r.clear?r.clear({...te.value,props:{onFocus:c,onBlur:l,onClick:e[`onClick:clear`],tabindex:-1}}):U(u,{name:`clear`,onFocus:c,onBlur:l,tabindex:-1},null)]})]),[[Jo,e.dirty]])]}),x&&H(`div`,{key:`append`,class:`v-field__append-inner`},[r[`append-inner`]?r[`append-inner`](te.value):e.appendInnerIcon&&U(u,{key:`append-icon`,name:`appendInner`,color:w.value},null)]),H(`div`,{class:j([`v-field__outline`,ee.value]),style:A(D.value)},[n&&H(B,null,[H(`div`,{class:`v-field__outline__start`},null),h.value&&H(`div`,{class:`v-field__outline__notch`},[U(WS,W({ref:b,floating:!0},O.value),{default:()=>[C()]})]),H(`div`,{class:`v-field__outline__end`},null)]),S.value&&h.value&&U(WS,W({ref:b,floating:!0},O.value),{default:()=>[C()]})])])}),{controlRef:x,fieldIconColor:w}}}),ZS=J({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...Y(),...Ty({transition:{component:yy,leaveAbsolute:!0,group:!0}})},`VMessages`),QS=X()({name:`VMessages`,props:ZS(),setup(e,{slots:t}){let n=G(()=>xc(e.messages)),{textColorClasses:r,textColorStyles:i}=k_(()=>e.color);return Z(()=>U(Ey,{transition:e.transition,tag:`div`,class:j([`v-messages`,r.value,e.class]),style:A([i.value,e.style])},{default:()=>[e.active&&n.value.map((e,r)=>H(`div`,{class:`v-messages__message`,key:`${r}-${n.value}`},[t.message?t.message({message:e}):e]))]})),{}}}),$S=Symbol.for(`vuetify:form`),eC=J({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:`input`}},`form`);function tC(e){let t=Gu(e,`modelValue`),n=I(()=>e.disabled),r=I(()=>e.readonly),i=P(!1),a=N([]),o=N([]);async function s(){let t=[],n=!0;o.value=[],i.value=!0;for(let r of a.value){let i=await r.validate();if(i.length>0&&(n=!1,t.push({id:r.id,errorMessages:i})),!n&&e.fastFail)break}return o.value=t,i.value=!1,{valid:n,errors:o.value}}function c(){a.value.forEach(e=>e.reset())}function l(){a.value.forEach(e=>e.resetValidation())}return z(a,()=>{let e=0,n=0,r=[];for(let t of a.value)t.isValid===!1?(n++,r.push({id:t.id,errorMessages:t.errorMessages})):t.isValid===!0&&e++;o.value=r,t.value=n>0?!1:e===a.value.length?!0:null},{deep:!0,flush:`post`}),Vn($S,{register:({id:e,vm:t,validate:n,reset:r,resetValidation:i})=>{a.value.some(t=>t.id===e)&&Ys(`Duplicate input name "${e}"`),a.value.push({id:e,validate:n,reset:r,resetValidation:i,vm:Kt(t),isValid:null,errorMessages:[]})},unregister:e=>{a.value=a.value.filter(t=>t.id!==e)},update:(e,t,n)=>{let r=a.value.find(t=>t.id===e);r&&(r.isValid=t,r.errorMessages=n)},isDisabled:n,isReadonly:r,isValidating:i,isValid:t,items:a,validateOn:I(()=>e.validateOn)}),{errors:o,isDisabled:n,isReadonly:r,isValidating:i,isValid:t,items:a,validate:s,reset:c,resetValidation:l}}function nC(e){let t=R($S,null);return{...t,isReadonly:G(()=>!!(e?.readonly??t?.isReadonly.value)),isDisabled:G(()=>!!(e?.disabled??t?.isDisabled.value))}}var rC=Symbol.for(`vuetify:rules`);function iC(e){let t=R(rC,null);if(!e){if(!t)throw Error(`Could not find Vuetify rules injection`);return t.aliases}return t?.resolve(e)??I(e)}var aC=J({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...KS()},`validation`);function oC(e,t=lu(),n=Er()){let r=Gu(e,`modelValue`),i=G(()=>e.validationValue===void 0?r.value:e.validationValue),a=nC(e),o=iC(()=>e.rules),s=N([]),c=P(!0),l=G(()=>!!(xc(r.value===``?null:r.value).length||xc(i.value===``?null:i.value).length)),u=G(()=>e.errorMessages?.length?xc(e.errorMessages).concat(s.value).slice(0,Math.max(0,Number(e.maxErrors))):s.value),d=G(()=>{let t=(e.validateOn??a.validateOn?.value)||`input`;t===`lazy`&&(t=`input lazy`),t===`eager`&&(t=`input eager`);let n=new Set(t?.split(` `)??[]);return{input:n.has(`input`),blur:n.has(`blur`)||n.has(`input`)||n.has(`invalid-input`),invalidInput:n.has(`invalid-input`),lazy:n.has(`lazy`),eager:n.has(`eager`)}}),f=G(()=>e.error||e.errorMessages?.length?!1:e.rules.length?c.value?s.value.length||d.value.lazy?null:!0:!s.value.length:!0),p=P(!1),m=G(()=>({[`${t}--error`]:f.value===!1,[`${t}--dirty`]:l.value,[`${t}--disabled`]:a.isDisabled.value,[`${t}--readonly`]:a.isReadonly.value})),h=cu(`validation`),g=G(()=>e.name??F(n));Br(()=>{a.register?.({id:g.value,vm:h,validate:y,reset:_,resetValidation:v})}),Wr(()=>{a.unregister?.(g.value)}),Vr(async()=>{d.value.lazy||await y(!d.value.eager),a.update?.(g.value,f.value,u.value)}),Wu(()=>d.value.input||d.value.invalidInput&&f.value===!1,()=>{z(i,()=>{if(i.value!=null)y();else if(e.focused){let t=z(()=>e.focused,e=>{e||y(),t()})}})}),Wu(()=>d.value.blur,()=>{z(()=>e.focused,e=>{e||y()})}),z([f,u],()=>{a.update?.(g.value,f.value,u.value)});async function _(){r.value=null,await Dn(),await v()}async function v(){c.value=!0,d.value.lazy?s.value=[]:await y(!d.value.eager)}async function y(t=!1){let n=[];p.value=!0;for(let t of o.value){if(n.length>=Number(e.maxErrors??1))break;let r=await(typeof t==`function`?t:()=>t)(i.value);if(r!==!0){if(r!==!1&&typeof r!=`string`){console.warn(`${r} is not a valid value. Rule functions must return boolean true or a string.`);continue}n.push(r||``)}}return s.value=n,p.value=!1,c.value=t,s.value}return{errorMessages:u,isDirty:l,isDisabled:a.isDisabled,isReadonly:a.isReadonly,isPristine:c,isValid:f,isValidating:p,reset:_,resetValidation:v,validate:y,validationClasses:m}}var sC=J({id:String,appendIcon:Q,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:Q,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},"onClick:prepend":Ic(),"onClick:append":Ic(),...Y(),...x_(),...fc(sv(),[`maxWidth`,`minWidth`,`width`]),...Of(),...aC()},`VInput`),cC=X()({name:`VInput`,props:{...sC()},emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let{densityClasses:i}=S_(e),{dimensionStyles:a}=cv(e),{themeClasses:o}=Bf(e),{rtlClasses:s}=sd(),{InputIcon:c}=GS(e),l=Er(),u=G(()=>e.id||`input-${l}`),{errorMessages:d,isDirty:f,isDisabled:p,isReadonly:m,isPristine:h,isValid:g,isValidating:_,reset:v,resetValidation:y,validate:b,validationClasses:x}=oC(e,`v-input`,u),S=G(()=>e.errorMessages?.length||!h.value&&d.value.length?d.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages),C=I(()=>S.value.length>0),w=I(()=>!e.hideDetails||e.hideDetails===`auto`&&(C.value||!!n.details)),T=G(()=>w.value?`${u.value}-messages`:void 0),E=G(()=>({id:u,messagesId:T,isDirty:f,isDisabled:p,isReadonly:m,isPristine:h,isValid:g,isValidating:_,hasDetails:w,reset:v,resetValidation:y,validate:b})),ee=I(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),D=I(()=>{if(e.iconColor)return e.iconColor===!0?ee.value:e.iconColor});return Z(()=>{let t=!!(n.prepend||e.prependIcon),r=!!(n.append||e.appendIcon);return H(`div`,{class:j([`v-input`,`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons,"v-input--indent-details":e.indentDetails},i.value,o.value,s.value,x.value,e.class]),style:A([a.value,e.style])},[t&&H(`div`,{key:`prepend`,class:`v-input__prepend`},[n.prepend?n.prepend(E.value):e.prependIcon&&U(c,{key:`prepend-icon`,name:`prepend`,color:D.value},null)]),n.default&&H(`div`,{class:`v-input__control`},[n.default?.(E.value)]),r&&H(`div`,{key:`append`,class:`v-input__append`},[n.append?n.append(E.value):e.appendIcon&&U(c,{key:`append-icon`,name:`append`,color:D.value},null)]),w.value&&H(`div`,{id:T.value,class:`v-input__details`,role:`alert`,"aria-live":`polite`},[U(QS,{active:C.value,messages:S.value},{message:n.message}),n.details?.(E.value)])])}),{reset:v,resetValidation:y,validate:b,isValid:g,errorMessages:d}}}),lC=J({autocomplete:String},`autocomplete`);function uC(e){let t=Er(),n=P(0),r=I(()=>e.autocomplete===`suppress`);return{isSuppressing:r,fieldAutocomplete:I(()=>r.value?`off`:e.autocomplete),fieldName:I(()=>{if(e.name)return r.value?`${e.name}-${t}-${n.value}`:e.name}),update:()=>n.value=new Date().getTime()}}function dC(e){function t(t,n){if(!e.autofocus||!t)return;let r=n[0].target;(r.matches(`input,textarea`)?r:r.querySelector(`input,textarea`))?.focus()}return{onIntersect:t}}var fC=[`color`,`file`,`time`,`date`,`datetime-local`,`week`,`month`],pC=J({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:`text`},modelModifiers:Object,...lC(),...mc(sC(),[`direction`]),...YS()},`VTextField`),mC=X()({name:`VTextField`,directives:{vIntersect:ky},inheritAttrs:!1,props:pC(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let i=Gu(e,`modelValue`,void 0,e=>Object.is(e,-0)?`-0`:e),{isFocused:a,focus:o,blur:s}=qS(e),{onIntersect:c}=dC(e),l=G(()=>typeof e.counterValue==`function`?e.counterValue(i.value):typeof e.counterValue==`number`?e.counterValue:(i.value??``).toString().length),u=G(()=>{if(t.maxlength)return t.maxlength;if(!(!e.counter||typeof e.counter!=`number`&&typeof e.counter!=`string`))return e.counter}),d=G(()=>[`plain`,`underlined`].includes(e.variant)),f=N(),p=N(),m=N(),h=uC(e),g=G(()=>fC.includes(e.type)||e.persistentPlaceholder||a.value||e.active);function _(){h.isSuppressing.value&&h.update(),a.value||o(),Dn(()=>{m.value!==document.activeElement&&m.value?.focus()})}function v(e){n(`mousedown:control`,e),e.target!==m.value&&(_(),e.preventDefault())}function y(e){n(`click:control`,e)}function b(t,n){t.stopPropagation(),_(),Dn(()=>{n(),Rc(e[`onClick:clear`],t)})}function x(t){let n=t.target;if(!(e.modelModifiers?.trim&&[`text`,`search`,`password`,`tel`,`url`].includes(e.type))){i.value=n.value;return}let r=n.value,a=n.selectionStart,o=n.selectionEnd;i.value=r,Dn(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),a!=null&&(n.selectionStart=a-e),o!=null&&(n.selectionEnd=o-e)})}return Z(()=>{let n=!!(r.counter||e.counter!==!1&&e.counter!=null),_=!!(n||r.details),[S,C]=bc(t),{modelValue:w,...T}=cC.filterProps(e),E=XS.filterProps(e);return U(cC,W({ref:f,modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-text-field`,{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":d.value},e.class],style:e.style},S,T,{centerAffix:!d.value,focused:a.value,indentDetails:e.indentDetails??!d.value}),{...r,default:({id:t,isDisabled:n,isDirty:l,isReadonly:u,isValid:d,hasDetails:f,reset:_})=>U(XS,W({ref:p,onMousedown:v,onClick:y,"onClick:clear":e=>b(e,_),role:e.role},mc(E,[`onClick:clear`]),{id:t.value,labelId:`${t.value}-label`,active:g.value||l.value,dirty:l.value||e.dirty,disabled:n.value,focused:a.value,details:f.value,error:d.value===!1}),{...r,default:({props:{class:a,...l},controlRef:d})=>{let f=H(`input`,W({ref:e=>m.value=d.value=e,value:i.value,onInput:x,autofocus:e.autofocus,readonly:u.value,disabled:n.value,name:h.fieldName.value,autocomplete:h.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:o,onBlur:s,"aria-labelledby":`${t.value}-label`},l,C),null);return H(B,null,[e.prefix&&H(`span`,{class:`v-text-field__prefix`},[H(`span`,{class:`v-text-field__prefix__text`},[e.prefix])]),zn(r.default?H(`div`,{class:j(a),"data-no-activator":``},[r.default({id:t}),f]):Ra(f,{class:a}),[[ky,c,null,{once:!0}]]),e.suffix&&H(`span`,{class:`v-text-field__suffix`},[H(`span`,{class:`v-text-field__suffix__text`},[e.suffix])])])}}),details:_?t=>H(B,null,[r.details?.(t),n&&H(B,null,[H(`span`,null,null),U(BS,{active:e.persistentCounter||a.value,value:l.value,max:u.value,disabled:e.disabled},r.counter)])]):void 0})}),_S({},f,p,m)}}),hC={class:`hidden-sm-and-down`},gC={key:2,class:`nexus-script-exec-bar`},_C={class:`d-flex align-center flex-wrap ga-2 mb-1`},vC={class:`text-body-2 font-weight-medium text-truncate`},yC={class:`text-caption text-medium-emphasis`},bC={class:`ml-2`},xC={key:3,class:`nexus-top-center-script-notices`},SC={class:`d-flex align-center flex-wrap ga-2 justify-center`},CC=Ks(Tr({__name:`App`,setup(e){let t=ch(),n=sh(),r=Vf(),i=og(),a=e_(),{runningItems:o,completeAlerts:s,dismissCompleteAlert:c}=Gg(),{playCompleteSound:l,syncFromServer:u}=d_();function d(e){return e===`completed`?`success`:e===`failed`?`error`:e===`partial`?`warning`:`info`}function f(e){c(e),n.push(`/script-runs/${e}`).catch(()=>{})}Vr(()=>{Ug(()=>l())}),z(()=>i.isLoggedIn,e=>{e?(a.connect(),p(),u()):a.disconnect()},{immediate:!0});async function p(){if(i.isLoggedIn)try{let e=await tg(`/settings/theme`);(e.value===`dark`||e.value===`light`)&&(r.global.name.value=e.value,localStorage.setItem(`nexus_theme`,e.value))}catch{}}async function m(){let e=r.global.current.value.dark?`light`:`dark`;r.global.name.value=e,localStorage.setItem(`nexus_theme`,e);try{await tg(`/settings/theme`,{method:`PUT`,body:JSON.stringify({value:e})})}catch{}}let h=N(!0),{mobile:g}=_f();Vn(`nexusDrawer`,h);let _=G(()=>({"nexus-terminal-main":t.path===`/terminal`,"nexus-page-main":t.path!==`/terminal`&&t.path!==`/login`})),v=G(()=>{let e=o.value.length;if(!(!e||!i.isLoggedIn))return{paddingTop:`calc(var(--v-layout-top, 64px) + ${e*52}px)`}}),y=[{to:`/`,title:`仪表盘`,icon:`mdi-view-dashboard-outline`},{to:`/servers`,title:`服务器`,icon:`mdi-server`},{to:`/terminal`,title:`终端`,icon:`mdi-console`},{to:`/files`,title:`文件管理`,icon:`mdi-folder-outline`},{to:`/push`,title:`推送`,icon:`mdi-upload-outline`},{to:`/scripts`,title:`脚本库`,icon:`mdi-code-braces`},{to:`/script-runs`,title:`脚本看板`,icon:`mdi-clipboard-play-outline`},{to:`/credentials`,title:`凭据`,icon:`mdi-key-outline`},{to:`/schedules`,title:`调度`,icon:`mdi-clock-outline`},{to:`/retries`,title:`重试队列`,icon:`mdi-refresh`}],b=[{to:`/commands`,title:`命令日志`,icon:`mdi-console`},{to:`/alerts`,title:`告警中心`,icon:`mdi-bell-outline`},{to:`/audit`,title:`审计日志`,icon:`mdi-clipboard-text-outline`}],x=Rt({show:!1,text:``,color:`success`}),S=N(``),C=N(!1),w=N(!1),T=N(null),E;function ee(){if(clearTimeout(E),!S.value||S.value.length<2){T.value=null,C.value=!1;return}E=setTimeout(()=>D(),300)}async function D(){if(!(!S.value||S.value.length<2)){w.value=!0,C.value=!0;try{let e=await ng.get(`/search/`,{q:S.value});T.value=e,e.total===0&&(C.value=!0)}catch{T.value=null}finally{w.value=!1}}}function te(){S.value=``,T.value=null,C.value=!1}function O(e){C.value=!1,n.push({path:`/servers`,query:{highlight:String(e)}})}function ne(){C.value=!1,n.push(`/scripts`)}function re(){C.value=!1,n.push(`/credentials`)}function k(){C.value=!1,ie(`/schedules`)}function ie(e){t.path!==e&&n.push(e).catch(()=>{}),g.value&&(h.value=!1)}function ae(){i.logout(),n.push(`/login`)}return window.$snackbar=(e,t=`success`)=>{x.text=e,x.color=t,x.show=!0},Gr(()=>clearTimeout(E)),(e,r)=>{let a=Zr(`router-view`);return V(),ja(ay,null,{default:L(()=>[F(i).isLoggedIn?(V(),ja(zy,{key:0,color:`primary`,elevation:`0`,flat:``,class:`ps-4`},{append:L(()=>[U(Qv,{class:`text-none me-1 px-3`,height:`48`,slim:``},{prepend:L(()=>[U(Ky,{color:`surface-light`,size:`32`,start:``},{default:L(()=>[U(tv,{icon:`mdi-account`,size:`18`})]),_:1})]),append:L(()=>[U(tv,{icon:`mdi-chevron-down`})]),default:L(()=>[H(`span`,hC,be(F(i).admin?.username||`管理员`),1),U(yS,{activator:`parent`},{default:L(()=>[U(fx,{density:`compact`,nav:``},{default:L(()=>[U(Zb,{"prepend-icon":`mdi-theme-light-dark`,title:`切换主题`,link:``,onClick:m}),U(Zb,{"prepend-icon":`mdi-cog-outline`,title:`设置`,link:``,onClick:r[6]||=e=>F(n).push(`/settings`)}),U(Zb,{"prepend-icon":`mdi-logout`,title:`退出登录`,link:``,onClick:ae})]),_:1})]),_:1})]),_:1})]),default:L(()=>[U(Vy,{class:`mr-3`,onClick:r[0]||=e=>h.value=!h.value}),U(Ky,{color:`surface`,size:`40`,class:`pa-1`},{default:L(()=>[U(tv,{icon:`mdi-server-network`,size:`24`})]),_:1}),U(Hy,null,{default:L(()=>[...r[11]||=[za(`Nexus`,-1)]]),_:1}),F(i).isLoggedIn?(V(),ja(mC,{key:0,modelValue:S.value,"onUpdate:modelValue":[r[1]||=e=>S.value=e,ee],"prepend-inner-icon":`mdi-magnify`,"append-inner-icon":`mdi-close`,placeholder:`搜索服务器、脚本、凭据...`,variant:`solo-inverted`,density:`compact`,"hide-details":``,rounded:``,clearable:``,class:`mx-4`,style:{"max-width":`360px`},"onClick:appendInner":te,"onClick:clear":te},null,8,[`modelValue`])):Ba(``,!0),U(yS,{modelValue:C.value,"onUpdate:modelValue":r[5]||=e=>C.value=e,"close-on-content-click":!1,activator:`parent`,location:`bottom`,"open-on-click":!1,"open-on-focus":!1},{default:L(()=>[T.value&&T.value.total>0?(V(),ja(rb,{key:0,width:`420`,elevation:`8`,rounded:`lg`,class:`mt-1`},{default:L(()=>[U(fx,{density:`compact`,slim:``},{default:L(()=>[T.value.servers.length?(V(),Aa(B,{key:0},[U($b,null,{default:L(()=>[U(tv,{size:`14`,class:`mr-1`},{default:L(()=>[...r[12]||=[za(`mdi-server`,-1)]]),_:1}),za(` 服务器 (`+be(T.value.servers.length)+`) `,1)]),_:1}),(V(!0),Aa(B,null,ni(T.value.servers,e=>(V(),ja(Zb,{key:`s-`+e.id,title:e.name,subtitle:e.domain,"prepend-icon":`mdi-server`,slim:``,link:``,onClick:t=>O(e.id)},null,8,[`title`,`subtitle`,`onClick`]))),128))],64)):Ba(``,!0),T.value.scripts.length?(V(),Aa(B,{key:1},[T.value.servers.length?(V(),ja(yb,{key:0})):Ba(``,!0),U($b,null,{default:L(()=>[U(tv,{size:`14`,class:`mr-1`},{default:L(()=>[...r[13]||=[za(`mdi-code-braces`,-1)]]),_:1}),za(` 脚本 (`+be(T.value.scripts.length)+`) `,1)]),_:1}),(V(!0),Aa(B,null,ni(T.value.scripts,e=>(V(),ja(Zb,{key:`sc-`+e.id,title:e.name,subtitle:e.category||`—`,"prepend-icon":`mdi-code-braces`,slim:``,link:``,onClick:r[2]||=e=>ne()},null,8,[`title`,`subtitle`]))),128))],64)):Ba(``,!0),T.value.credentials.length?(V(),Aa(B,{key:2},[T.value.servers.length||T.value.scripts.length?(V(),ja(yb,{key:0})):Ba(``,!0),U($b,null,{default:L(()=>[U(tv,{size:`14`,class:`mr-1`},{default:L(()=>[...r[14]||=[za(`mdi-key`,-1)]]),_:1}),za(` 凭据 (`+be(T.value.credentials.length)+`) `,1)]),_:1}),(V(!0),Aa(B,null,ni(T.value.credentials,e=>(V(),ja(Zb,{key:`c-`+e.id,title:e.name,subtitle:`${e.db_type} @ ${e.host}`,"prepend-icon":`mdi-key`,slim:``,link:``,onClick:r[3]||=e=>re()},null,8,[`title`,`subtitle`]))),128))],64)):Ba(``,!0),T.value.schedules.length?(V(),Aa(B,{key:3},[T.value.servers.length||T.value.scripts.length||T.value.credentials.length?(V(),ja(yb,{key:0})):Ba(``,!0),U($b,null,{default:L(()=>[U(tv,{size:`14`,class:`mr-1`},{default:L(()=>[...r[15]||=[za(`mdi-clock`,-1)]]),_:1}),za(` 调度 (`+be(T.value.schedules.length)+`) `,1)]),_:1}),(V(!0),Aa(B,null,ni(T.value.schedules,e=>(V(),ja(Zb,{key:`sch-`+e.id,title:e.name,subtitle:e.cron_expr,"prepend-icon":`mdi-clock`,slim:``,link:``,onClick:r[4]||=e=>k()},null,8,[`title`,`subtitle`]))),128))],64)):Ba(``,!0)]),_:1})]),_:1})):S.value&&S.value.length>=2&&!w.value?(V(),ja(rb,{key:1,width:`420`,elevation:`8`,rounded:`lg`,class:`mt-1`},{default:L(()=>[U(tb,{class:`text-center text-medium-emphasis py-6`},{default:L(()=>[U(tv,{size:`32`,class:`mb-2`},{default:L(()=>[...r[16]||=[za(`mdi-magnify-close`,-1)]]),_:1}),r[17]||=H(`div`,null,`未找到匹配结果`,-1)]),_:1})]),_:1})):Ba(``,!0)]),_:1},8,[`modelValue`])]),_:1})):Ba(``,!0),F(i).isLoggedIn?(V(),ja(jS,{key:1,modelValue:h.value,"onUpdate:modelValue":r[8]||=e=>h.value=e,color:`surface`,width:`250`,class:`nexus-nav-drawer`,temporary:F(g)},{append:L(()=>[U(Zb,{active:F(t).path===`/settings`,"prepend-icon":`mdi-cog-outline`,title:`设置`,"active-class":`text-primary`,class:`ma-2`,link:``,nav:``,slim:``,onClick:r[7]||=e=>F(n).push(`/settings`)},null,8,[`active`])]),default:L(()=>[U(fx,{nav:``,slim:``},{default:L(()=>[U($b,null,{default:L(()=>[...r[18]||=[za(`运维`,-1)]]),_:1}),(V(),Aa(B,null,ni(y,e=>U(Zb,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:F(t).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>ie(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`])),64))]),_:1}),U(yb,{class:`mx-3 my-1`}),U(fx,{nav:``,slim:``},{default:L(()=>[U($b,null,{default:L(()=>[...r[19]||=[za(`系统`,-1)]]),_:1}),(V(),Aa(B,null,ni(b,e=>U(Zb,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:F(t).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>ie(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`])),64))]),_:1})]),_:1},8,[`modelValue`,`temporary`])):Ba(``,!0),F(i).isLoggedIn&&F(o).length?(V(),Aa(`div`,gC,[(V(!0),Aa(B,null,ni(F(o),e=>(V(),ja(NS,{key:e.executionId,class:`nexus-script-exec-bar__item px-4 py-2`,color:`surface`,border:``},{default:L(()=>[H(`div`,_C,[H(`span`,vC,be(e.label),1),U(gb,{size:`x-small`,variant:`tonal`,color:`primary`,label:``},{default:L(()=>[za(`#`+be(e.executionId),1)]),_:2},1024),U(bb),H(`span`,yC,[za(` 已进行 `+be(e.done)+` 台,剩余 `+be(e.remaining)+` 台 `,1),H(`span`,bC,`(`+be(e.progress)+`)`,1)])]),U(hv,{"model-value":e.total?Math.round(e.done/e.total*100):0,color:`primary`,height:`6`,rounded:``,striped:``,stream:``},null,8,[`model-value`])]),_:2},1024))),128))])):Ba(``,!0),F(i).isLoggedIn&&(F(p_).visible||F(s).length)?(V(),Aa(`div`,xC,[U(Ao,{name:`nexus-script-submit-toast-fade`},{default:L(()=>[F(p_).visible?(V(),ja(ry,{key:`script-submit`,color:F(p_).color,variant:`tonal`,density:`compact`,class:`nexus-top-center-script-notices__item`,role:`status`,onClick:r[9]||=e=>F(g_)()},{default:L(()=>[za(be(F(p_).text),1)]),_:1},8,[`color`])):Ba(``,!0)]),_:1}),(V(!0),Aa(B,null,ni(F(s),e=>(V(),ja(ry,{key:e.executionId,class:j([`nexus-top-center-script-notices__item`,{"nexus-script-exec-alert--fading":e.fading}]),type:d(e.status),variant:`tonal`,closable:``,density:`compact`,onClick:t=>F(c)(e.executionId),"onClick:close":t=>F(c)(e.executionId)},{default:L(()=>[H(`div`,SC,[H(`span`,null,` 「`+be(e.label)+`」执行结束: 成功 `+be(e.success)+` / 失败 `+be(e.failed)+` / 共 `+be(e.total)+` 台 `,1),U(Qv,{size:`small`,variant:`text`,color:`primary`,onClick:Bs(t=>f(e.executionId),[`stop`])},{default:L(()=>[...r[20]||=[za(` 查看详情 `,-1)]]),_:1},8,[`onClick`])])]),_:2},1032,[`class`,`type`,`onClick`,`onClick:close`]))),128))])):Ba(``,!0),U(mx,{class:j(_.value),style:A(v.value)},{default:L(()=>[(V(),ja(a,{key:F(t).fullPath}))]),_:1},8,[`class`,`style`]),U(RS,{modelValue:x.show,"onUpdate:modelValue":r[10]||=e=>x.show=e,color:x.color,timeout:3e3,location:`top`,class:`nexus-top-center-snackbar`,"multi-line":``},{default:L(()=>[za(be(x.text),1)]),_:1},8,[`modelValue`,`color`])]),_:1})}}}));mg(CC),CC.mount(`#app`);export{Zv as $,tc as $n,be as $r,Hh as $t,Zb as A,q as An,ii as Ar,d_ as At,Zy as B,yc as Bn,De as Br,xg as Bt,$x as C,J as Cn,Wr as Cr,E_ as Ct,ix as D,Qc as Dn,V as Dr,S_ as Dt,nx as E,Rc as En,Gr as Er,x_ as Et,gb as F,bc as Fn,Gn as Fr,Ug as Ft,ky as G,lc as Gn,M as Gr,Dg as Gt,Jy as H,oc as Hn,Rt as Hr,wg as Ht,fb as I,zc as In,L as Ir,Hg as It,by as J,Uc as Jn,Qt as Jr,rg as Jt,Ey as K,uc as Kn,I as Kr,ug as Kt,db as L,rc as Ln,zn as Lr,Gg as Lt,Jb as M,Sc as Mn,Er as Mr,t_ as Mt,bb as N,Gc as Nn,ji as Nr,i_ as Nt,ox as O,Yc as On,Vn as Or,v_ as Ot,yb as P,Zc as Pn,z as Pr,e_ as Pt,Qv as Q,K as Qn,A as Qr,Vh as Qt,rb as R,ic as Rn,Yt as Rr,Tg as Rt,tS as S,Y as Sn,Dn as Sr,T_ as St,fx as T,Ic as Tn,Vr as Tr,w_ as Tt,Ky as U,gc as Un,N as Ur,Cg as Ut,Xy as V,Hc as Vn,en as Vr,vg as Vt,Ly as W,Xc as Wn,P as Wr,Eg as Wt,my as X,fc as Xn,ne as Xr,Zh as Xt,vy as Y,mc as Yn,F as Yr,ig as Yt,ry as Z,xc as Zn,j as Zr,ng as Zt,NS as _,Su as _n,Tr as _r,V_ as _t,uC as a,Vf as an,Hs as ar,_v as at,mS as b,mu as bn,di as br,k_ as bt,tC as c,_f as cn,sr as cr,cv as ct,XS as d,Gu as dn,ja as dr,Q_ as dt,ch as en,ec as er,Xv as et,YS as f,Wu as fn,Ba as fr,X_ as ft,BS as g,wu as gn,U as gr,H_ as gt,HS as h,Ou as hn,za as hr,z_ as ht,lC as i,Bf as in,Jo as ir,gv as it,Yb as j,ac as jn,$r as jr,n_ as jt,$b as k,Cc as kn,ni as kr,h_ as kt,eC as l,id as ln,G as lr,ov as lt,GS as m,Z as mn,ri as mr,B_ as mt,pC as n,Hf as nn,Zs as nr,wv as nt,cC as o,cf as on,Bs as or,hv as ot,qS as p,Q as pn,Aa as pr,J_ as pt,Ty as q,Wc as qn,rn as qr,og as qt,dC as r,Of as rn,Ls as rr,vv as rt,sC as s,gf as sn,B as sr,sv as st,mC as t,sh as tn,Xs as tr,Tv as tt,nC as u,sd as un,H as ur,tv as ut,yS as v,vu as vn,mo as vr,F_ as vt,eS as w,pl as wn,Hr as wr,C_ as wt,pS as x,cu as xn,W as xr,D_ as xt,_S as y,X as yn,R as yr,A_ as yt,tb as z,Dc as zn,Kt as zr,Sg as zt}; \ No newline at end of file diff --git a/web/app/assets/initMonaco-CbTFLcUb.js b/web/app/assets/initMonaco-CbTFLcUb.js new file mode 100644 index 00000000..278696f7 --- /dev/null +++ b/web/app/assets/initMonaco-CbTFLcUb.js @@ -0,0 +1,877 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-iDw0e5LA.js","assets/lspLanguageFeatures-CrPR27dq.js","assets/htmlMode-_P0Ii-St.js","assets/jsonMode-BD7q89Sm.js","assets/javascript-H5zk57M_.js","assets/typescript-D5WOfyfO.js"])))=>i.map(i=>d[i]); +import{Kt as e}from"./index-C6qJAv49.js";var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};function r(){return globalThis._VSCODE_NLS_MESSAGES}function i(){return globalThis._VSCODE_NLS_LANGUAGE}var a=i()===`pseudo`||typeof document<`u`&&document.location&&typeof document.location.hash==`string`&&document.location.hash.indexOf(`pseudo=true`)>=0;function o(e,t){let n;return n=t.length===0?e:e.replace(/\{(\d+)\}/g,(e,n)=>{let r=t[n[0]],i=e;return typeof r==`string`?i=r:(typeof r==`number`||typeof r==`boolean`||r==null)&&(i=String(r)),i}),a&&(n=`[`+n.replace(/[aouei]/g,`$&$&`)+`]`),n}function s(e,t,...n){return o(typeof e==`number`?c(e,t):t,n)}function c(e,t){let n=r()?.[e];if(typeof n!=`string`){if(typeof t==`string`)return t;throw Error(`!!! NLS MISSING: ${e} !!!`)}return n}function l(e,t,...n){let r;r=typeof e==`number`?c(e,t):t;let i=o(r,n);return{value:i,original:t===r?i:o(t,n)}}function u(e,t){let n=e;typeof n.vscodeWindowId!=`number`&&Object.defineProperty(n,"vscodeWindowId",{get:()=>t})}var d=window,f=class e{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new e}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};function p(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}function m(e){return f.INSTANCE.getZoomFactor(e)}var h=navigator.userAgent,g=h.indexOf(`Firefox`)>=0,_=h.indexOf(`AppleWebKit`)>=0,v=h.indexOf(`Chrome`)>=0,y=!v&&h.indexOf(`Safari`)>=0,b=!v&&!y&&_;h.indexOf(`Electron/`);var x=h.indexOf(`Android`)>=0,S=!1;if(typeof d.matchMedia==`function`){let e=d.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=d.matchMedia(`(display-mode: fullscreen)`);S=e.matches,p(d,e,({matches:e})=>{S&&t.matches||(S=e)})}function ee(){return globalThis.MonacoEnvironment}var te=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?fe.isErrorNoTelemetry(e)?new fe(e.message+` + +`+e.stack):Error(e.message+` + +`+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function ne(e){te.onUnexpectedError(e)}function C(e){oe(e)||te.onUnexpectedError(e)}function re(e){oe(e)||te.onUnexpectedExternalError(e)}function ie(e){if(e instanceof Error){let{name:t,message:n,cause:r}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:fe.isErrorNoTelemetry(e),cause:r?ie(r):void 0,code:e.code}}return e}var ae=`Canceled`;function oe(e){return e instanceof se?!0:e instanceof Error&&e.name===`Canceled`&&e.message===`Canceled`}var se=class extends Error{constructor(){super(ae),this.name=this.message}};function ce(){let e=Error(ae);return e.name=e.message,e}function le(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}function ue(e){return Error(e?`Illegal state: ${e}`:`Illegal state`)}var de=class extends Error{constructor(e){super(`NotSupported`),e&&(this.message=e)}},fe=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},w=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function pe(e,t){if(!e)throw Error(t?`Assertion failed (${t})`:`Assertion Failed`)}function me(e,t=`Unreachable`){throw Error(t)}function he(e,t=`unexpected state`){if(!e)throw typeof t==`string`?new w(`Assertion Failed: ${t}`):t}function ge(e,t=`Soft Assertion Failed`){e||C(new w(t))}function _e(e){e()||(e(),C(new w(`Assertion Failed`)))}function ve(e,t){let n=0;for(;n=0,Ie=Ue.indexOf(`Macintosh`)>=0,Be=(Ue.indexOf(`Macintosh`)>=0||Ue.indexOf(`iPad`)>=0||Ue.indexOf(`iPhone`)>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Le=Ue.indexOf(`Linux`)>=0,Ve=Ue?.indexOf(`Mobi`)>=0,ze=!0,He=i()||`en`,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var qe=0;Ie?qe=1:Fe?qe=3:Le&&(qe=2);var Je=Fe,Ye=Ie,Xe=Le,Ze=Re,Qe=ze,$e=ze&&typeof We.importScripts==`function`?We.origin:void 0,et=Be,tt=Ve,nt=qe,rt=Ue,it=He,at=typeof We.postMessage==`function`&&!We.importScripts,ot=(()=>{if(at){let e=[];We.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n{let r=++t;e.push({id:r,callback:n}),We.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})(),st=Ie||Be?2:Fe?1:3,ct=!0,lt=!1;function ut(){if(!lt){lt=!0;let e=new Uint8Array(2);e[0]=1,e[1]=2,ct=new Uint16Array(e.buffer)[0]===513}return ct}var dt=!!(rt&&rt.indexOf(`Chrome`)>=0),ft=!!(rt&&rt.indexOf(`Firefox`)>=0),pt=!!(!dt&&rt&&rt.indexOf(`Safari`)>=0),mt=!!(rt&&rt.indexOf(`Edg/`)>=0),ht=!!(rt&&rt.indexOf(`Android`)>=0),gt={clipboard:{writeText:Ze||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Ze||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:d.PointerEvent&&(`ontouchstart`in d||navigator.maxTouchPoints>0)},_t=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},vt=new _t,yt=new _t,bt=new _t,xt=Array(230),eee=Object.create(null),tee=Object.create(null),St=[];for(let e=0;e<=193;e++)St[e]=-1;(function(){let e=[[1,0,`None`,0,`unknown`,0,`VK_UNKNOWN`,``,``],[1,1,`Hyper`,0,``,0,``,``,``],[1,2,`Super`,0,``,0,``,``,``],[1,3,`Fn`,0,``,0,``,``,``],[1,4,`FnLock`,0,``,0,``,``,``],[1,5,`Suspend`,0,``,0,``,``,``],[1,6,`Resume`,0,``,0,``,``,``],[1,7,`Turbo`,0,``,0,``,``,``],[1,8,`Sleep`,0,``,0,`VK_SLEEP`,``,``],[1,9,`WakeUp`,0,``,0,``,``,``],[0,10,`KeyA`,31,`A`,65,`VK_A`,``,``],[0,11,`KeyB`,32,`B`,66,`VK_B`,``,``],[0,12,`KeyC`,33,`C`,67,`VK_C`,``,``],[0,13,`KeyD`,34,`D`,68,`VK_D`,``,``],[0,14,`KeyE`,35,`E`,69,`VK_E`,``,``],[0,15,`KeyF`,36,`F`,70,`VK_F`,``,``],[0,16,`KeyG`,37,`G`,71,`VK_G`,``,``],[0,17,`KeyH`,38,`H`,72,`VK_H`,``,``],[0,18,`KeyI`,39,`I`,73,`VK_I`,``,``],[0,19,`KeyJ`,40,`J`,74,`VK_J`,``,``],[0,20,`KeyK`,41,`K`,75,`VK_K`,``,``],[0,21,`KeyL`,42,`L`,76,`VK_L`,``,``],[0,22,`KeyM`,43,`M`,77,`VK_M`,``,``],[0,23,`KeyN`,44,`N`,78,`VK_N`,``,``],[0,24,`KeyO`,45,`O`,79,`VK_O`,``,``],[0,25,`KeyP`,46,`P`,80,`VK_P`,``,``],[0,26,`KeyQ`,47,`Q`,81,`VK_Q`,``,``],[0,27,`KeyR`,48,`R`,82,`VK_R`,``,``],[0,28,`KeyS`,49,`S`,83,`VK_S`,``,``],[0,29,`KeyT`,50,`T`,84,`VK_T`,``,``],[0,30,`KeyU`,51,`U`,85,`VK_U`,``,``],[0,31,`KeyV`,52,`V`,86,`VK_V`,``,``],[0,32,`KeyW`,53,`W`,87,`VK_W`,``,``],[0,33,`KeyX`,54,`X`,88,`VK_X`,``,``],[0,34,`KeyY`,55,`Y`,89,`VK_Y`,``,``],[0,35,`KeyZ`,56,`Z`,90,`VK_Z`,``,``],[0,36,`Digit1`,22,`1`,49,`VK_1`,``,``],[0,37,`Digit2`,23,`2`,50,`VK_2`,``,``],[0,38,`Digit3`,24,`3`,51,`VK_3`,``,``],[0,39,`Digit4`,25,`4`,52,`VK_4`,``,``],[0,40,`Digit5`,26,`5`,53,`VK_5`,``,``],[0,41,`Digit6`,27,`6`,54,`VK_6`,``,``],[0,42,`Digit7`,28,`7`,55,`VK_7`,``,``],[0,43,`Digit8`,29,`8`,56,`VK_8`,``,``],[0,44,`Digit9`,30,`9`,57,`VK_9`,``,``],[0,45,`Digit0`,21,`0`,48,`VK_0`,``,``],[1,46,`Enter`,3,`Enter`,13,`VK_RETURN`,``,``],[1,47,`Escape`,9,`Escape`,27,`VK_ESCAPE`,``,``],[1,48,`Backspace`,1,`Backspace`,8,`VK_BACK`,``,``],[1,49,`Tab`,2,`Tab`,9,`VK_TAB`,``,``],[1,50,`Space`,10,`Space`,32,`VK_SPACE`,``,``],[0,51,`Minus`,88,`-`,189,`VK_OEM_MINUS`,`-`,`OEM_MINUS`],[0,52,`Equal`,86,`=`,187,`VK_OEM_PLUS`,`=`,`OEM_PLUS`],[0,53,`BracketLeft`,92,`[`,219,`VK_OEM_4`,`[`,`OEM_4`],[0,54,`BracketRight`,94,`]`,221,`VK_OEM_6`,`]`,`OEM_6`],[0,55,`Backslash`,93,`\\`,220,`VK_OEM_5`,`\\`,`OEM_5`],[0,56,`IntlHash`,0,``,0,``,``,``],[0,57,`Semicolon`,85,`;`,186,`VK_OEM_1`,`;`,`OEM_1`],[0,58,`Quote`,95,`'`,222,`VK_OEM_7`,`'`,`OEM_7`],[0,59,`Backquote`,91,"`",192,`VK_OEM_3`,"`",`OEM_3`],[0,60,`Comma`,87,`,`,188,`VK_OEM_COMMA`,`,`,`OEM_COMMA`],[0,61,`Period`,89,`.`,190,`VK_OEM_PERIOD`,`.`,`OEM_PERIOD`],[0,62,`Slash`,90,`/`,191,`VK_OEM_2`,`/`,`OEM_2`],[1,63,`CapsLock`,8,`CapsLock`,20,`VK_CAPITAL`,``,``],[1,64,`F1`,59,`F1`,112,`VK_F1`,``,``],[1,65,`F2`,60,`F2`,113,`VK_F2`,``,``],[1,66,`F3`,61,`F3`,114,`VK_F3`,``,``],[1,67,`F4`,62,`F4`,115,`VK_F4`,``,``],[1,68,`F5`,63,`F5`,116,`VK_F5`,``,``],[1,69,`F6`,64,`F6`,117,`VK_F6`,``,``],[1,70,`F7`,65,`F7`,118,`VK_F7`,``,``],[1,71,`F8`,66,`F8`,119,`VK_F8`,``,``],[1,72,`F9`,67,`F9`,120,`VK_F9`,``,``],[1,73,`F10`,68,`F10`,121,`VK_F10`,``,``],[1,74,`F11`,69,`F11`,122,`VK_F11`,``,``],[1,75,`F12`,70,`F12`,123,`VK_F12`,``,``],[1,76,`PrintScreen`,0,``,0,``,``,``],[1,77,`ScrollLock`,84,`ScrollLock`,145,`VK_SCROLL`,``,``],[1,78,`Pause`,7,`PauseBreak`,19,`VK_PAUSE`,``,``],[1,79,`Insert`,19,`Insert`,45,`VK_INSERT`,``,``],[1,80,`Home`,14,`Home`,36,`VK_HOME`,``,``],[1,81,`PageUp`,11,`PageUp`,33,`VK_PRIOR`,``,``],[1,82,`Delete`,20,`Delete`,46,`VK_DELETE`,``,``],[1,83,`End`,13,`End`,35,`VK_END`,``,``],[1,84,`PageDown`,12,`PageDown`,34,`VK_NEXT`,``,``],[1,85,`ArrowRight`,17,`RightArrow`,39,`VK_RIGHT`,`Right`,``],[1,86,`ArrowLeft`,15,`LeftArrow`,37,`VK_LEFT`,`Left`,``],[1,87,`ArrowDown`,18,`DownArrow`,40,`VK_DOWN`,`Down`,``],[1,88,`ArrowUp`,16,`UpArrow`,38,`VK_UP`,`Up`,``],[1,89,`NumLock`,83,`NumLock`,144,`VK_NUMLOCK`,``,``],[1,90,`NumpadDivide`,113,`NumPad_Divide`,111,`VK_DIVIDE`,``,``],[1,91,`NumpadMultiply`,108,`NumPad_Multiply`,106,`VK_MULTIPLY`,``,``],[1,92,`NumpadSubtract`,111,`NumPad_Subtract`,109,`VK_SUBTRACT`,``,``],[1,93,`NumpadAdd`,109,`NumPad_Add`,107,`VK_ADD`,``,``],[1,94,`NumpadEnter`,3,``,0,``,``,``],[1,95,`Numpad1`,99,`NumPad1`,97,`VK_NUMPAD1`,``,``],[1,96,`Numpad2`,100,`NumPad2`,98,`VK_NUMPAD2`,``,``],[1,97,`Numpad3`,101,`NumPad3`,99,`VK_NUMPAD3`,``,``],[1,98,`Numpad4`,102,`NumPad4`,100,`VK_NUMPAD4`,``,``],[1,99,`Numpad5`,103,`NumPad5`,101,`VK_NUMPAD5`,``,``],[1,100,`Numpad6`,104,`NumPad6`,102,`VK_NUMPAD6`,``,``],[1,101,`Numpad7`,105,`NumPad7`,103,`VK_NUMPAD7`,``,``],[1,102,`Numpad8`,106,`NumPad8`,104,`VK_NUMPAD8`,``,``],[1,103,`Numpad9`,107,`NumPad9`,105,`VK_NUMPAD9`,``,``],[1,104,`Numpad0`,98,`NumPad0`,96,`VK_NUMPAD0`,``,``],[1,105,`NumpadDecimal`,112,`NumPad_Decimal`,110,`VK_DECIMAL`,``,``],[0,106,`IntlBackslash`,97,`OEM_102`,226,`VK_OEM_102`,``,``],[1,107,`ContextMenu`,58,`ContextMenu`,93,``,``,``],[1,108,`Power`,0,``,0,``,``,``],[1,109,`NumpadEqual`,0,``,0,``,``,``],[1,110,`F13`,71,`F13`,124,`VK_F13`,``,``],[1,111,`F14`,72,`F14`,125,`VK_F14`,``,``],[1,112,`F15`,73,`F15`,126,`VK_F15`,``,``],[1,113,`F16`,74,`F16`,127,`VK_F16`,``,``],[1,114,`F17`,75,`F17`,128,`VK_F17`,``,``],[1,115,`F18`,76,`F18`,129,`VK_F18`,``,``],[1,116,`F19`,77,`F19`,130,`VK_F19`,``,``],[1,117,`F20`,78,`F20`,131,`VK_F20`,``,``],[1,118,`F21`,79,`F21`,132,`VK_F21`,``,``],[1,119,`F22`,80,`F22`,133,`VK_F22`,``,``],[1,120,`F23`,81,`F23`,134,`VK_F23`,``,``],[1,121,`F24`,82,`F24`,135,`VK_F24`,``,``],[1,122,`Open`,0,``,0,``,``,``],[1,123,`Help`,0,``,0,``,``,``],[1,124,`Select`,0,``,0,``,``,``],[1,125,`Again`,0,``,0,``,``,``],[1,126,`Undo`,0,``,0,``,``,``],[1,127,`Cut`,0,``,0,``,``,``],[1,128,`Copy`,0,``,0,``,``,``],[1,129,`Paste`,0,``,0,``,``,``],[1,130,`Find`,0,``,0,``,``,``],[1,131,`AudioVolumeMute`,117,`AudioVolumeMute`,173,`VK_VOLUME_MUTE`,``,``],[1,132,`AudioVolumeUp`,118,`AudioVolumeUp`,175,`VK_VOLUME_UP`,``,``],[1,133,`AudioVolumeDown`,119,`AudioVolumeDown`,174,`VK_VOLUME_DOWN`,``,``],[1,134,`NumpadComma`,110,`NumPad_Separator`,108,`VK_SEPARATOR`,``,``],[0,135,`IntlRo`,115,`ABNT_C1`,193,`VK_ABNT_C1`,``,``],[1,136,`KanaMode`,0,``,0,``,``,``],[0,137,`IntlYen`,0,``,0,``,``,``],[1,138,`Convert`,0,``,0,``,``,``],[1,139,`NonConvert`,0,``,0,``,``,``],[1,140,`Lang1`,0,``,0,``,``,``],[1,141,`Lang2`,0,``,0,``,``,``],[1,142,`Lang3`,0,``,0,``,``,``],[1,143,`Lang4`,0,``,0,``,``,``],[1,144,`Lang5`,0,``,0,``,``,``],[1,145,`Abort`,0,``,0,``,``,``],[1,146,`Props`,0,``,0,``,``,``],[1,147,`NumpadParenLeft`,0,``,0,``,``,``],[1,148,`NumpadParenRight`,0,``,0,``,``,``],[1,149,`NumpadBackspace`,0,``,0,``,``,``],[1,150,`NumpadMemoryStore`,0,``,0,``,``,``],[1,151,`NumpadMemoryRecall`,0,``,0,``,``,``],[1,152,`NumpadMemoryClear`,0,``,0,``,``,``],[1,153,`NumpadMemoryAdd`,0,``,0,``,``,``],[1,154,`NumpadMemorySubtract`,0,``,0,``,``,``],[1,155,`NumpadClear`,131,`Clear`,12,`VK_CLEAR`,``,``],[1,156,`NumpadClearEntry`,0,``,0,``,``,``],[1,0,``,5,`Ctrl`,17,`VK_CONTROL`,``,``],[1,0,``,4,`Shift`,16,`VK_SHIFT`,``,``],[1,0,``,6,`Alt`,18,`VK_MENU`,``,``],[1,0,``,57,`Meta`,91,`VK_COMMAND`,``,``],[1,157,`ControlLeft`,5,``,0,`VK_LCONTROL`,``,``],[1,158,`ShiftLeft`,4,``,0,`VK_LSHIFT`,``,``],[1,159,`AltLeft`,6,``,0,`VK_LMENU`,``,``],[1,160,`MetaLeft`,57,``,0,`VK_LWIN`,``,``],[1,161,`ControlRight`,5,``,0,`VK_RCONTROL`,``,``],[1,162,`ShiftRight`,4,``,0,`VK_RSHIFT`,``,``],[1,163,`AltRight`,6,``,0,`VK_RMENU`,``,``],[1,164,`MetaRight`,57,``,0,`VK_RWIN`,``,``],[1,165,`BrightnessUp`,0,``,0,``,``,``],[1,166,`BrightnessDown`,0,``,0,``,``,``],[1,167,`MediaPlay`,0,``,0,``,``,``],[1,168,`MediaRecord`,0,``,0,``,``,``],[1,169,`MediaFastForward`,0,``,0,``,``,``],[1,170,`MediaRewind`,0,``,0,``,``,``],[1,171,`MediaTrackNext`,124,`MediaTrackNext`,176,`VK_MEDIA_NEXT_TRACK`,``,``],[1,172,`MediaTrackPrevious`,125,`MediaTrackPrevious`,177,`VK_MEDIA_PREV_TRACK`,``,``],[1,173,`MediaStop`,126,`MediaStop`,178,`VK_MEDIA_STOP`,``,``],[1,174,`Eject`,0,``,0,``,``,``],[1,175,`MediaPlayPause`,127,`MediaPlayPause`,179,`VK_MEDIA_PLAY_PAUSE`,``,``],[1,176,`MediaSelect`,128,`LaunchMediaPlayer`,181,`VK_MEDIA_LAUNCH_MEDIA_SELECT`,``,``],[1,177,`LaunchMail`,129,`LaunchMail`,180,`VK_MEDIA_LAUNCH_MAIL`,``,``],[1,178,`LaunchApp2`,130,`LaunchApp2`,183,`VK_MEDIA_LAUNCH_APP2`,``,``],[1,179,`LaunchApp1`,0,``,0,`VK_MEDIA_LAUNCH_APP1`,``,``],[1,180,`SelectTask`,0,``,0,``,``,``],[1,181,`LaunchScreenSaver`,0,``,0,``,``,``],[1,182,`BrowserSearch`,120,`BrowserSearch`,170,`VK_BROWSER_SEARCH`,``,``],[1,183,`BrowserHome`,121,`BrowserHome`,172,`VK_BROWSER_HOME`,``,``],[1,184,`BrowserBack`,122,`BrowserBack`,166,`VK_BROWSER_BACK`,``,``],[1,185,`BrowserForward`,123,`BrowserForward`,167,`VK_BROWSER_FORWARD`,``,``],[1,186,`BrowserStop`,0,``,0,`VK_BROWSER_STOP`,``,``],[1,187,`BrowserRefresh`,0,``,0,`VK_BROWSER_REFRESH`,``,``],[1,188,`BrowserFavorites`,0,``,0,`VK_BROWSER_FAVORITES`,``,``],[1,189,`ZoomToggle`,0,``,0,``,``,``],[1,190,`MailReply`,0,``,0,``,``,``],[1,191,`MailForward`,0,``,0,``,``,``],[1,192,`MailSend`,0,``,0,``,``,``],[1,0,``,114,`KeyInComposition`,229,``,``,``],[1,0,``,116,`ABNT_C2`,194,`VK_ABNT_C2`,``,``],[1,0,``,96,`OEM_8`,223,`VK_OEM_8`,``,``],[1,0,``,0,``,0,`VK_KANA`,``,``],[1,0,``,0,``,0,`VK_HANGUL`,``,``],[1,0,``,0,``,0,`VK_JUNJA`,``,``],[1,0,``,0,``,0,`VK_FINAL`,``,``],[1,0,``,0,``,0,`VK_HANJA`,``,``],[1,0,``,0,``,0,`VK_KANJI`,``,``],[1,0,``,0,``,0,`VK_CONVERT`,``,``],[1,0,``,0,``,0,`VK_NONCONVERT`,``,``],[1,0,``,0,``,0,`VK_ACCEPT`,``,``],[1,0,``,0,``,0,`VK_MODECHANGE`,``,``],[1,0,``,0,``,0,`VK_SELECT`,``,``],[1,0,``,0,``,0,`VK_PRINT`,``,``],[1,0,``,0,``,0,`VK_EXECUTE`,``,``],[1,0,``,0,``,0,`VK_SNAPSHOT`,``,``],[1,0,``,0,``,0,`VK_HELP`,``,``],[1,0,``,0,``,0,`VK_APPS`,``,``],[1,0,``,0,``,0,`VK_PROCESSKEY`,``,``],[1,0,``,0,``,0,`VK_PACKET`,``,``],[1,0,``,0,``,0,`VK_DBE_SBCSCHAR`,``,``],[1,0,``,0,``,0,`VK_DBE_DBCSCHAR`,``,``],[1,0,``,0,``,0,`VK_ATTN`,``,``],[1,0,``,0,``,0,`VK_CRSEL`,``,``],[1,0,``,0,``,0,`VK_EXSEL`,``,``],[1,0,``,0,``,0,`VK_EREOF`,``,``],[1,0,``,0,``,0,`VK_PLAY`,``,``],[1,0,``,0,``,0,`VK_ZOOM`,``,``],[1,0,``,0,``,0,`VK_NONAME`,``,``],[1,0,``,0,``,0,`VK_PA1`,``,``],[1,0,``,0,``,0,`VK_OEM_CLEAR`,``,``]],t=[],n=[];for(let r of e){let[e,i,a,o,s,c,l,u,d]=r;if(n[i]||(n[i]=!0,eee[a]=i,tee[a.toLowerCase()]=i,e&&(St[i]=o)),!t[o]){if(t[o]=!0,!s)throw Error(`String representation missing for key code ${o} around scan code ${a}`);vt.define(o,s),yt.define(o,u||s),bt.define(o,d||u||s)}c&&(xt[c]=o)}})();var Ct;(function(e){function t(e){return vt.keyCodeToStr(e)}e.toString=t;function n(e){return vt.strToKeyCode(e)}e.fromString=n;function r(e){return yt.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return bt.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return yt.strToKeyCode(e)||bt.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return vt.keyCodeToStr(e)}e.toElectronAccelerator=o})(Ct||={});function wt(e,t){return(e|(t&65535)<<16>>>0)>>>0}function Tt(e,t){if(typeof e==`number`){if(e===0)return null;let n=(e&65535)>>>0,r=(e&4294901760)>>>16;return r===0?new Ot([Et(n,t)]):new Ot([Et(n,t),Et(r,t)])}else{let n=[];for(let r=0;r=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){let n=0;for(let r of e)if(!t(r,n++))return!1;return!0}e.every=d;function f(e,t){for(let n of e)if(t(n))return n}e.find=f;function*p(e,t){for(let n of e)t(n)&&(yield n)}e.filter=p;function*m(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=m;function*h(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=h;function*g(...e){for(let t of e)we(t)?yield*t:yield t}e.concat=g;function _(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=_;function v(e){let t=0;for(let n of e)t++;return t}e.length=v;function*y(e,t,n=e.length){for(t<-e.length&&(t=0),t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Bt(...e){return T(()=>zt(e))}var Vt=class{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw Error(`Unbound disposable context: Need to use an arrow function to preserve the value of this`);this._isDisposed=!0,this._fn()}}};function T(e){return new Vt(e)}var E=class e{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{zt(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t||t===D.None)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}},D=class{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new E,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}},Ht=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},lee=class{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}},uee=class{constructor(e){this.object=e}dispose(){}},Ut=class{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{zt(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(Error(`Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!`).stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}},Wt=class e{static{this.Undefined=new e(void 0)}constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}},Gt=class{constructor(){this._first=Wt.Undefined,this._last=Wt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Wt.Undefined}clear(){let e=this._first;for(;e!==Wt.Undefined;){let t=e.next;e.prev=Wt.Undefined,e.next=Wt.Undefined,e=t}this._first=Wt.Undefined,this._last=Wt.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new Wt(e);if(this._first===Wt.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==Wt.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Wt.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Wt.Undefined&&e.next!==Wt.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Wt.Undefined&&e.next===Wt.Undefined?(this._first=Wt.Undefined,this._last=Wt.Undefined):e.next===Wt.Undefined?(this._last=this._last.prev,this._last.next=Wt.Undefined):e.prev===Wt.Undefined&&(this._first=this._first.next,this._first.prev=Wt.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==Wt.Undefined;)yield e.element,e=e.next}},dee=globalThis.performance.now.bind(globalThis.performance),Kt=class e{static create(t){return new e(t)}constructor(e){this._now=e===!1?Date.now:dee,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},O;(function(e){e.None=()=>D.None;function t(e,t){return f(e,()=>void 0,0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(t,n){return e.once(e.filter(t,n))}e.onceIf=r;function i(e,t,n){return u((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=i;function a(e,t,n){return u((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=a;function o(e,t,n){return u((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=o;function s(e){return e}e.signal=s;function c(...e){return(t,n=null,r)=>d(Bt(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=c;function l(e,t,n,r){let a=n;return i(e,e=>(a=t(a,e),a),r)}e.reduce=l;function u(e,t){let n,r=new k({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function d(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function f(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new k({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(l&&clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=null,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=f;function p(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=p;function m(e,t=(e,t)=>e===t,n){let r=!0,i;return o(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=m;function h(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=h;function g(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new k({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=g;function _(e,t){return(n,r,i)=>{let a=t(new y);return e(function(e){let t=a.evaluate(e);t!==v&&n.call(r,t)},void 0,i)}}e.chain=_;let v=Symbol(`HaltChainable`);class y{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:v),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:v}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===v)break;return e}}function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new k({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=b;function x(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new k({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=x;function S(e,t){let r,i=new Promise((i,a)=>{let o=n(e)(i,null,t);r=()=>o.dispose()});return i.cancel=r,i}e.toPromise=S;function ee(e,t){return e(e=>t.fire(e))}e.forward=ee;function te(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=te;class ne{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new k(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function C(e,t){return new ne(e,t).emitter.event}e.fromObservable=C;function re(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof E?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=re})(O||={});var fee=class e{static{this.all=new Set}static{this._idPool=0}constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new Kt,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},pee=-1,mee=class e{static{this._idPool=1}constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new _ee(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||C)(n),D.None}if(this._disposed)return D.None;t&&(e=e.bind(t));let r=new qt(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=hee.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof qt?(this._deliveryQueue??=new Jt,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=T(()=>{i?.(),this._removeListener(r)});return n instanceof E?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*vee<=t.length){let e=0;for(let n=0;n0}},yee=()=>new Jt,Jt=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Yt=class extends k{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Gt,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){let e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused===0?super.fire(e):this._eventQueue.push(e))}},Xt=class extends Yt{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||=(this.pause(),setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}},bee=class extends k{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(e=>super.fire(e)),this._queuedEvents=[]}))}},xee=class{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new k({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){let t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),T(Ft(()=>{this.hasListeners&&this.unhook(t);let e=this.events.indexOf(t);this.events.splice(e,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(e=>this.emitter.fire(e))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(let e of this.events)e.listener?.dispose();this.events=[]}},Zt=class{constructor(){this.data=[]}wrapEvent(e,t,n){return(r,i,a)=>e(e=>{let a=this.data[this.data.length-1];if(!t){a?a.buffers.push(()=>r.call(i,e)):r.call(i,e);return}let o=a;if(!o){r.call(i,t(n,e));return}o.items??=[],o.items.push(e),o.buffers.length===0&&a.buffers.push(()=>{o.reducedResult??=n?o.items.reduce(t,n):o.items.reduce(t),r.call(i,o.reducedResult)})},void 0,a)}bufferEvents(e){let t={buffers:[]};this.data.push(t);let n=e();return this.data.pop(),t.buffers.forEach(e=>e()),n}},Qt=class{constructor(){this.listening=!1,this.inputEvent=O.None,this.inputEventListener=D.None,this.emitter=new k({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}},$t=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),en;(function(e){function t(t){return t===e.None||t===e.Cancelled||t instanceof tn?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:O.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:$t})})(en||={});var tn=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?$t:(this._emitter||=new k,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},nn=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||=new tn,this._token}cancel(){this._token?this._token instanceof tn&&this._token.cancel():this._token=en.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof tn&&this._token.dispose():this._token=en.None}};function rn(e){let t=new nn;return e.add({dispose(){t.cancel()}}),t.token}var an=Symbol(`MicrotaskDelay`);function on(e){return!!e&&typeof e.then==`function`}function sn(e){let t=new nn,n=e(t.token),r=!1,i=new Promise((e,i)=>{let a=t.token.onCancellationRequested(()=>{r=!0,a.dispose(),i(new se)});Promise.resolve(n).then(n=>{a.dispose(),t.dispose(),r?Rt(n)&&n.dispose():e(n)},e=>{a.dispose(),t.dispose(),i(e)})});return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return i.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return i.finally(e)}}}function cn(e,t,n){return new Promise((r,i)=>{let a=t.onCancellationRequested(()=>{a.dispose(),r(n)});e.then(r,i).finally(()=>a.dispose())})}function See(e,t){return new Promise((n,r)=>{let i=t.onCancellationRequested(()=>{i.dispose(),r(new se)});e.then(n,r).finally(()=>i.dispose())})}var Cee=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new nn}queue(e){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(Error(`Throttler is disposed`));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise(t=>{this.activePromise.then(e,e).then(t)})}return new Promise((e,t)=>{this.queuedPromise.then(e,t)})}return this.activePromise=e(this.cancellationTokenSource.token),new Promise((e,t)=>{this.activePromise.then(t=>{this.activePromise=null,e(t)},e=>{this.activePromise=null,t(e)})})}dispose(){this.cancellationTokenSource.cancel()}},wee=(e,t)=>{let n=!0,r=setTimeout(()=>{n=!1,t()},e);return{isTriggered:()=>n,dispose:()=>{clearTimeout(r),n=!1}}},Tee=e=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,e())}),{isTriggered:()=>t,dispose:()=>{t=!1}}},ln=class{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||=new Promise((e,t)=>{this.doResolve=e,this.doReject=t}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let e=this.task;return this.task=null,e()}});let n=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===an?Tee(n):wee(t,n),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&=(this.doReject?.(new se),null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},un=class{constructor(e){this.delayer=new ln(e),this.throttler=new Cee}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}};function dn(e,t){return t?new Promise((n,r)=>{let i=setTimeout(()=>{a.dispose(),n()},e),a=t.onCancellationRequested(()=>{clearTimeout(i),a.dispose(),r(new se)})}):sn(t=>dn(e,t))}function fn(e,t=0,n){let r=setTimeout(()=>{e(),n&&i.dispose()},t),i=T(()=>{clearTimeout(r),n?.delete(i)});return n?.add(i),i}function pn(e,t=e=>!!e,n=null){let r=0,i=e.length,a=()=>{if(r>=i)return Promise.resolve(n);let o=e[r++];return Promise.resolve(o()).then(e=>t(e)?Promise.resolve(e):a())};return a()}var Eee=class{constructor(){this._runningTask=void 0,this._pendingTasks=[]}schedule(e){let t=new bn;return this._pendingTasks.push({task:e,deferred:t,setUndefinedWhenCleared:!1}),this._runIfNotRunning(),t.p}_runIfNotRunning(){this._runningTask===void 0&&this._processQueue()}async _processQueue(){if(this._pendingTasks.length===0)return;let e=this._pendingTasks.shift();if(e){if(this._runningTask)throw new w;this._runningTask=e.task;try{let t=await e.task();e.deferred.complete(t)}catch(t){e.deferred.error(t)}finally{this._runningTask=void 0,this._processQueue()}}}clearPending(){let e=this._pendingTasks;this._pendingTasks=[];for(let t of e)t.setUndefinedWhenCleared?t.deferred.complete(void 0):t.deferred.error(new se)}},mn=class{constructor(e,t){this._isDisposed=!1,this._token=void 0,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==void 0&&(clearTimeout(this._token),this._token=void 0)}cancelAndSet(e,t){if(this._isDisposed)throw new w(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=void 0,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new w(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,e()},t))}},hn=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new w(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=T(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},gn=class{constructor(e,t){this.timeoutToken=void 0,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==void 0}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}},_n,vn;(function(){let e=globalThis;vn=typeof e.requestIdleCallback!=`function`||typeof e.cancelIdleCallback!=`function`?(e,t,n)=>{ot(()=>{if(r)return;let e=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,e-Date.now())}}))});let r=!1;return{dispose(){r||=!0}}}:(e,t,n)=>{let r=e.requestIdleCallback(t,typeof n==`number`?{timeout:n}:void 0),i=!1;return{dispose(){i||(i=!0,e.cancelIdleCallback(r))}}},_n=(e,t)=>vn(globalThis,e,t)})();var yn=class{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=vn(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}},Dee=class extends yn{constructor(e){super(globalThis,e)}},bn=class{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new se)}},xn;(function(e){async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(t!==void 0)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(xn||={});function Oee(e){let t=new nn,n=e(t.token);return new Aee(t,async e=>{let r=t.token.onCancellationRequested(()=>{r.dispose(),t.dispose(),e.reject(new se)});try{for await(let r of n){if(t.token.isCancellationRequested)return;e.emitOne(r)}r.dispose(),t.dispose()}catch(n){r.dispose(),t.dispose(),e.reject(n)}})}var kee=class{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let t=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(t,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(let t of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(t,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new w(`ProducerConsumer: cannot produce after final value has been set`)}_resolveOrRejectDeferred(e,t){t.ok?e.complete(t.value):e.error(t.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{let e=new bn;return this._unsatisfiedConsumers.push(e),e.p}}},Sn=class e{constructor(e,t){this._onReturn=t,this._producerConsumer=new kee,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async e=>(this._finishError(e),{done:!0,value:void 0})},queueMicrotask(async()=>{let t=e({emitOne:e=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:e}}),emitMany:e=>{for(let t of e)this._producerConsumer.produce({ok:!0,value:{done:!1,value:t}})},reject:e=>this._finishError(e)});if(!this._producerConsumer.hasFinalValue)try{await t,this._finishOk()}catch(e){this._finishError(e)}})}static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}static{this.EMPTY=e.fromArray([])}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}},Aee=class extends Sn{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}};function Cn(e){return e}var wn=class{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e==`function`?(this._fn=e,this._computeKey=Cn):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}},Tn=class{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,typeof e==`function`?(this._fn=e,this._computeKey=Cn):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);let n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}},En;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Running=1]=`Running`,e[e.Completed=2]=`Completed`})(En||={});var Dn=class{constructor(e){this.executor=e,this._state=En.Uninitialized}get value(){if(this._state===En.Uninitialized){this._state=En.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=En.Completed}}else if(this._state===En.Running)throw Error(`Cannot read the value of a lazy that is being initialized`);if(this._error)throw this._error;return this._value}get rawValue(){return this._value}};function On(e){return!e||typeof e!=`string`?!0:e.trim().length===0}var jee=/{(\d+)}/g;function kn(e,...t){return t.length===0?e:e.replace(jee,function(e,n){let r=parseInt(n,10);return isNaN(r)||r<0||r>=t.length?e:t[r]})}function Mee(e){return e.replace(/[<>"'&]/g,e=>{switch(e){case`<`:return`<`;case`>`:return`>`;case`"`:return`"`;case`'`:return`'`;case`&`:return`&`}return e})}function An(e){return e.replace(/[<>&]/g,function(e){switch(e){case`<`:return`<`;case`>`:return`>`;case`&`:return`&`;default:return e}})}function jn(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,`\\$&`)}function Nee(e,t=` `){return Nn(Mn(e,t),t)}function Mn(e,t){if(!e||!t)return e;let n=t.length;if(n===0||e.length===0)return e;let r=0;for(;e.indexOf(t,r)===r;)r+=n;return e.substring(r)}function Nn(e,t){if(!e||!t)return e;let n=t.length,r=e.length;if(n===0||r===0)return e;let i=r,a=-1;for(;a=e.lastIndexOf(t,i-1),!(a===-1||a+n!==i);){if(a===0)return``;i=a}return e.substring(0,i)}function Pee(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`).replace(/[\*]/g,`.*`)}function Pn(e,t,n={}){if(!e)throw Error(`Cannot create regex from empty string`);t||(e=jn(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e=`\\b`+e),/\B/.test(e.charAt(e.length-1))||(e+=`\\b`));let r=``;return n.global&&(r+=`g`),n.matchCase||(r+=`i`),n.multiline&&(r+=`m`),n.unicode&&(r+=`u`),new RegExp(e,r)}function Fn(e){return e.source===`^`||e.source===`^$`||e.source===`$`||e.source===`^\\s*$`?!1:!!(e.exec(``)&&e.lastIndex===0)}function In(e){return e.split(/\r\n|\r|\n/)}function Ln(e){for(let t=0,n=e.length;t=0;n--){let t=e.charCodeAt(n);if(t!==32&&t!==9)return n}return-1}function Bn(e,t){return et)}function Vn(e,t,n=0,r=e.length,i=0,a=t.length){for(;na)return 1}let o=r-n,s=a-i;return os)}function Hn(e,t){return Un(e,t,0,e.length,0,t.length)}function Un(e,t,n=0,r=e.length,i=0,a=t.length){for(;n=128||s>=128)return Vn(e.toLowerCase(),t.toLowerCase(),n,r,i,a);Gn(o)&&(o-=32),Gn(s)&&(s-=32);let c=o-s;if(c!==0)return c}let o=r-n,s=a-i;return os)}function Wn(e){return e>=48&&e<=57}function Gn(e){return e>=97&&e<=122}function Kn(e){return e>=65&&e<=90}function qn(e,t){return e.length===t.length&&Un(e,t)===0}function Jn(e,t){let n=t.length;return n<=e.length&&Un(e,t,0,n)===0}function Fee(e,t){let n=e.length,r=n-t.length;return r>=0&&Un(e,t,r,n)===0}function Yn(e,t){let n=Math.min(e.length,t.length),r;for(r=0;r1){let r=e.charCodeAt(t-2);if(Zn(r))return $n(r,n)}return n}var tr=class{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){let e=Iee(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){let e=er(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}},nr=class{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new tr(e,t)}nextGraphemeLength(){let e=hr.getInstance(),t=this._iterator,n=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){let n=t.offset,i=e.getGraphemeBreakType(t.nextCodePoint());if(mr(r,i)){t.setOffset(n);break}r=i}return t.offset-n}prevGraphemeLength(){let e=hr.getInstance(),t=this._iterator,n=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){let n=t.offset,i=e.getGraphemeBreakType(t.prevCodePoint());if(mr(i,r)){t.setOffset(n);break}r=i}return n-t.offset}eol(){return this._iterator.eol()}};function rr(e,t){return new nr(e,t).nextGraphemeLength()}function ir(e,t){return new nr(e,t).prevGraphemeLength()}function Lee(e,t){t>0&&Qn(e.charCodeAt(t))&&t--;let n=t+rr(e,t);return[n-ir(e,n),n]}var ar=void 0;function Ree(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function or(e){return ar||=Ree(),ar.test(e)}var zee=/^[\t\n\r\x20-\x7E]*$/;function sr(e){return zee.test(e)}var cr=/[\u2028\u2029]/;function lr(e){return cr.test(e)}function ur(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function dr(e){return e>=127462&&e<=127487||e===8986||e===8987||e===9200||e===9203||e>=9728&&e<=10175||e===11088||e===11093||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}function fr(e){return!!(e&&e.length>0&&e.charCodeAt(0)===65279)}function Bee(e,t=!1){return e?(t&&(e=e.replace(/\\./g,``)),e.toLowerCase()!==e):!1}function pr(e){return e%=52,e<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function mr(e,t){return e===0?t!==5&&t!==7:e===2&&t===3?!1:e===4||e===2||e===3||t===4||t===2||t===3?!0:!(e===8&&(t===8||t===9||t===11||t===12)||(e===11||e===9)&&(t===9||t===10)||(e===12||e===10)&&t===10||t===5||t===13||t===7||e===1||e===13&&t===14||e===6&&t===6)}var hr=class e{static{this._INSTANCE=null}static getInstance(){return e._INSTANCE||=new e,e._INSTANCE}constructor(){this._data=gr()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;let t=this._data,n=t.length/3,r=1;for(;r<=n;)if(et[3*r+1])r=2*r+1;else return t[3*r+2];return 0}};function gr(){return JSON.parse(`[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]`)}function _r(e,t){if(e===0)return 0;let n=vr(e,t);if(n!==void 0)return n;let r=new tr(t,e);return r.prevCodePoint(),r.offset}function vr(e,t){let n=new tr(t,e),r=n.prevCodePoint();for(;yr(r)||r===65039||r===8419;){if(n.offset===0)return;r=n.prevCodePoint()}if(!dr(r))return;let i=n.offset;return i>0&&n.prevCodePoint()===8205&&(i=n.offset),i}function yr(e){return 127995<=e&&e<=127999}var br=class e{static{this.ambiguousCharacterData=new Dn(()=>JSON.parse(`{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}`))}static{this.cache=new wn({getCacheKey:JSON.stringify},t=>{function n(e){let t=new Map;for(let n=0;n!e.startsWith(`_`)&&Object.hasOwn(a,e));o.length===0&&(o=[`_default`]);let s;for(let e of o){let t=n(a[e]);s=i(s,t)}return new e(r(n(a._common),s))})}static getInstance(t){return e.cache.get(Array.from(t))}static{this._locales=new Dn(()=>Object.keys(e.ambiguousCharacterData.value).filter(e=>!e.startsWith(`_`)))}static getLocales(){return e._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},xr=class e{static getRawData(){return JSON.parse(`{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}`)}static{this._data=void 0}static getData(){return this._data||=new Set([...Object.values(e.getRawData())].flat()),this._data}static isInvisibleCharacter(t){return e.getData().has(t)}static get codePoints(){return e.getData()}},Sr,Cr=globalThis.vscode;if(Cr!==void 0&&Cr.process!==void 0){let e=Cr.process;Sr={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd(){return e.cwd()}}}else Sr=typeof process<`u`&&typeof process?.versions?.node==`string`?{get platform(){return process.platform},get arch(){return process.arch},get env(){return{}},cwd(){return{}.VSCODE_CWD||process.cwd()}}:{get platform(){return Je?`win32`:Ye?`darwin`:`linux`},get arch(){},get env(){return{}},cwd(){return`/`}};var wr=Sr.cwd,Tr=Sr.env,Er=Sr.platform,Dr=65,Or=97,kr=90,Ar=122,jr=46,Mr=47,Nr=92,Pr=58,Vee=63,Fr=class extends Error{constructor(e,t,n){let r;typeof t==`string`&&t.indexOf(`not `)===0?(r=`must not be`,t=t.replace(/^not /,``)):r=`must be`;let i=`The "${e}" ${e.indexOf(`.`)===-1?`argument`:`property`} ${r} of type ${t}`;i+=`. Received type ${typeof n}`,super(i),this.code=`ERR_INVALID_ARG_TYPE`}};function Hee(e,t){if(typeof e!=`object`||!e)throw new Fr(t,`Object`,e)}function Ir(e,t){if(typeof e!=`string`)throw new Fr(t,`string`,e)}var Lr=Er===`win32`;function Rr(e){return e===Mr||e===Nr}function zr(e){return e===Mr}function Br(e){return e>=Dr&&e<=kr||e>=Or&&e<=Ar}function Vr(e,t,n,r){let i=``,a=0,o=-1,s=0,c=0;for(let l=0;l<=e.length;++l){if(l2){let e=i.lastIndexOf(n);e===-1?(i=``,a=0):(i=i.slice(0,e),a=i.length-1-i.lastIndexOf(n)),o=l,s=0;continue}else if(i.length!==0){i=``,a=0,o=l,s=0;continue}}t&&(i+=i.length>0?`${n}..`:`..`,a=2)}else i.length>0?i+=`${n}${e.slice(o+1,l)}`:i=e.slice(o+1,l),a=l-o-1;o=l,s=0}else c===jr&&s!==-1?++s:s=-1}return i}function Uee(e){return e?`${e[0]===`.`?``:`.`}${e}`:``}function Hr(e,t){Hee(t,`pathObject`);let n=t.dir||t.root,r=t.base||`${t.name||``}${Uee(t.ext)}`;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}var Ur={resolve(...e){let t=``,n=``,r=!1;for(let i=e.length-1;i>=-1;i--){let a;if(i>=0){if(a=e[i],Ir(a,`paths[${i}]`),a.length===0)continue}else t.length===0?a=wr():(a=Tr[`=${t}`]||wr(),(a===void 0||a.slice(0,2).toLowerCase()!==t.toLowerCase()&&a.charCodeAt(2)===Nr)&&(a=`${t}\\`));let o=a.length,s=0,c=``,l=!1,u=a.charCodeAt(0);if(o===1)Rr(u)&&(s=1,l=!0);else if(Rr(u))if(l=!0,Rr(a.charCodeAt(1))){let e=2,t=e;for(;e2&&Rr(a.charCodeAt(2))&&(l=!0,s=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(r){if(t.length>0)break}else if(n=`${a.slice(s)}\\${n}`,r=l,l&&t.length>0)break}return n=Vr(n,!r,`\\`,Rr),r?`${t}\\${n}`:`${t}${n}`||`.`},normalize(e){Ir(e,`path`);let t=e.length;if(t===0)return`.`;let n=0,r,i=!1,a=e.charCodeAt(0);if(t===1)return zr(a)?`\\`:e;if(Rr(a))if(i=!0,Rr(e.charCodeAt(1))){let i=2,a=i;for(;i2&&Rr(e.charCodeAt(2))&&(i=!0,n=3));let o=n0&&Rr(e.charCodeAt(t-1))&&(o+=`\\`),!i&&r===void 0&&e.includes(`:`)){if(o.length>=2&&Br(o.charCodeAt(0))&&o.charCodeAt(1)===Pr)return`.\\${o}`;let n=e.indexOf(`:`);do if(n===t-1||Rr(e.charCodeAt(n+1)))return`.\\${o}`;while((n=e.indexOf(`:`,n+1))!==-1)}return r===void 0?i?`\\${o}`:o:i?`${r}\\${o}`:`${r}${o}`},isAbsolute(e){Ir(e,`path`);let t=e.length;if(t===0)return!1;let n=e.charCodeAt(0);return Rr(n)||t>2&&Br(n)&&e.charCodeAt(1)===Pr&&Rr(e.charCodeAt(2))},join(...e){if(e.length===0)return`.`;let t,n;for(let r=0;r0&&(t===void 0?t=n=i:t+=`\\${i}`)}if(t===void 0)return`.`;let r=!0,i=0;if(typeof n==`string`&&Rr(n.charCodeAt(0))){++i;let e=n.length;e>1&&Rr(n.charCodeAt(1))&&(++i,e>2&&(Rr(n.charCodeAt(2))?++i:r=!1))}if(r){for(;i=2&&(t=`\\${t.slice(i)}`)}return Ur.normalize(t)},relative(e,t){if(Ir(e,`from`),Ir(t,`to`),e===t)return``;let n=Ur.resolve(e),r=Ur.resolve(t);if(n===r||(e=n.toLowerCase(),t=r.toLowerCase(),e===t))return``;if(n.length!==e.length||r.length!==t.length){let e=n.split(`\\`),t=r.split(`\\`);e[e.length-1]===``&&e.pop(),t[t.length-1]===``&&t.pop();let i=e.length,a=t.length,o=io?t.slice(s).join(`\\`):i>o?`..\\`.repeat(i-1-s)+`..`:``:`..\\`.repeat(i-s)+t.slice(s).join(`\\`)}let i=0;for(;ii&&e.charCodeAt(a-1)===Nr;)a--;let o=a-i,s=0;for(;ss&&t.charCodeAt(c-1)===Nr;)c--;let l=c-s,u=ou){if(t.charCodeAt(s+f)===Nr)return r.slice(s+f+1);if(f===2)return r.slice(s+f)}o>u&&(e.charCodeAt(i+f)===Nr?d=f:f===2&&(d=3)),d===-1&&(d=0)}let p=``;for(f=i+d+1;f<=a;++f)(f===a||e.charCodeAt(f)===Nr)&&(p+=p.length===0?`..`:`\\..`);return s+=d,p.length>0?`${p}${r.slice(s,c)}`:(r.charCodeAt(s)===Nr&&++s,r.slice(s,c))},toNamespacedPath(e){if(typeof e!=`string`||e.length===0)return e;let t=Ur.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===Nr){if(t.charCodeAt(1)===Nr){let e=t.charCodeAt(2);if(e!==Vee&&e!==jr)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Br(t.charCodeAt(0))&&t.charCodeAt(1)===Pr&&t.charCodeAt(2)===Nr)return`\\\\?\\${t}`;return t},dirname(e){Ir(e,`path`);let t=e.length;if(t===0)return`.`;let n=-1,r=0,i=e.charCodeAt(0);if(t===1)return Rr(i)?e:`.`;if(Rr(i)){if(n=r=1,Rr(e.charCodeAt(1))){let i=2,a=i;for(;i2&&Rr(e.charCodeAt(2))?3:2,r=n);let a=-1,o=!0;for(let n=t-1;n>=r;--n)if(Rr(e.charCodeAt(n))){if(!o){a=n;break}}else o=!1;if(a===-1){if(n===-1)return`.`;a=n}return e.slice(0,a)},basename(e,t){t!==void 0&&Ir(t,`suffix`),Ir(e,`path`);let n=0,r=-1,i=!0,a;if(e.length>=2&&Br(e.charCodeAt(0))&&e.charCodeAt(1)===Pr&&(n=2),t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return``;let o=t.length-1,s=-1;for(a=e.length-1;a>=n;--a){let c=e.charCodeAt(a);if(Rr(c)){if(!i){n=a+1;break}}else s===-1&&(i=!1,s=a+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(r=a):(o=-1,r=s))}return n===r?r=s:r===-1&&(r=e.length),e.slice(n,r)}for(a=e.length-1;a>=n;--a)if(Rr(e.charCodeAt(a))){if(!i){n=a+1;break}}else r===-1&&(i=!1,r=a+1);return r===-1?``:e.slice(n,r)},extname(e){Ir(e,`path`);let t=0,n=-1,r=0,i=-1,a=!0,o=0;e.length>=2&&e.charCodeAt(1)===Pr&&Br(e.charCodeAt(0))&&(t=r=2);for(let s=e.length-1;s>=t;--s){let t=e.charCodeAt(s);if(Rr(t)){if(!a){r=s+1;break}continue}i===-1&&(a=!1,i=s+1),t===jr?n===-1?n=s:o!==1&&(o=1):n!==-1&&(o=-1)}return n===-1||i===-1||o===0||o===1&&n===i-1&&n===r+1?``:e.slice(n,i)},format:Hr.bind(null,`\\`),parse(e){Ir(e,`path`);let t={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return t;let n=e.length,r=0,i=e.charCodeAt(0);if(n===1)return Rr(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(Rr(i)){if(r=1,Rr(e.charCodeAt(1))){let t=2,i=t;for(;t0&&(t.root=e.slice(0,r));let a=-1,o=r,s=-1,c=!0,l=e.length-1,u=0;for(;l>=r;--l){if(i=e.charCodeAt(l),Rr(i)){if(!c){o=l+1;break}continue}s===-1&&(c=!1,s=l+1),i===jr?a===-1?a=l:u!==1&&(u=1):a!==-1&&(u=-1)}return s!==-1&&(a===-1||u===0||u===1&&a===s-1&&a===o+1?t.base=t.name=e.slice(o,s):(t.name=e.slice(o,a),t.base=e.slice(o,s),t.ext=e.slice(a,s))),o>0&&o!==r?t.dir=e.slice(0,o-1):t.dir=t.root,t},sep:`\\`,delimiter:`;`,win32:null,posix:null},Wee=(()=>{if(Lr){let e=/\\/g;return()=>{let t=wr().replace(e,`/`);return t.slice(t.indexOf(`/`))}}return()=>wr()})(),Wr={resolve(...e){let t=``,n=!1;for(let r=e.length-1;r>=0&&!n;r--){let i=e[r];Ir(i,`paths[${r}]`),i.length!==0&&(t=`${i}/${t}`,n=i.charCodeAt(0)===Mr)}if(!n){let e=Wee();t=`${e}/${t}`,n=e.charCodeAt(0)===Mr}return t=Vr(t,!n,`/`,zr),n?`/${t}`:t.length>0?t:`.`},normalize(e){if(Ir(e,`path`),e.length===0)return`.`;let t=e.charCodeAt(0)===Mr,n=e.charCodeAt(e.length-1)===Mr;return e=Vr(e,!t,`/`,zr),e.length===0?t?`/`:n?`./`:`.`:(n&&(e+=`/`),t?`/${e}`:e)},isAbsolute(e){return Ir(e,`path`),e.length>0&&e.charCodeAt(0)===Mr},join(...e){if(e.length===0)return`.`;let t=[];for(let n=0;n0&&t.push(r)}return t.length===0?`.`:Wr.normalize(t.join(`/`))},relative(e,t){if(Ir(e,`from`),Ir(t,`to`),e===t||(e=Wr.resolve(e),t=Wr.resolve(t),e===t))return``;let n=e.length,r=n-1,i=t.length-1,a=ra){if(t.charCodeAt(1+s)===Mr)return t.slice(1+s+1);if(s===0)return t.slice(1+s)}else r>a&&(e.charCodeAt(1+s)===Mr?o=s:s===0&&(o=0));let c=``;for(s=1+o+1;s<=n;++s)(s===n||e.charCodeAt(s)===Mr)&&(c+=c.length===0?`..`:`/..`);return`${c}${t.slice(1+o)}`},toNamespacedPath(e){return e},dirname(e){if(Ir(e,`path`),e.length===0)return`.`;let t=e.charCodeAt(0)===Mr,n=-1,r=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===Mr){if(!r){n=t;break}}else r=!1;return n===-1?t?`/`:`.`:t&&n===1?`//`:e.slice(0,n)},basename(e,t){t!==void 0&&Ir(t,`suffix`),Ir(e,`path`);let n=0,r=-1,i=!0,a;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return``;let o=t.length-1,s=-1;for(a=e.length-1;a>=0;--a){let c=e.charCodeAt(a);if(c===Mr){if(!i){n=a+1;break}}else s===-1&&(i=!1,s=a+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(r=a):(o=-1,r=s))}return n===r?r=s:r===-1&&(r=e.length),e.slice(n,r)}for(a=e.length-1;a>=0;--a)if(e.charCodeAt(a)===Mr){if(!i){n=a+1;break}}else r===-1&&(i=!1,r=a+1);return r===-1?``:e.slice(n,r)},extname(e){Ir(e,`path`);let t=-1,n=0,r=-1,i=!0,a=0;for(let o=e.length-1;o>=0;--o){let s=e[o];if(s===`/`){if(!i){n=o+1;break}continue}r===-1&&(i=!1,r=o+1),s===`.`?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||r===-1||a===0||a===1&&t===r-1&&t===n+1?``:e.slice(t,r)},format:Hr.bind(null,`/`),parse(e){Ir(e,`path`);let t={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return t;let n=e.charCodeAt(0)===Mr,r;n?(t.root=`/`,r=1):r=0;let i=-1,a=0,o=-1,s=!0,c=e.length-1,l=0;for(;c>=r;--c){let t=e.charCodeAt(c);if(t===Mr){if(!s){a=c+1;break}continue}o===-1&&(s=!1,o=c+1),t===jr?i===-1?i=c:l!==1&&(l=1):i!==-1&&(l=-1)}if(o!==-1){let r=a===0&&n?1:a;i===-1||l===0||l===1&&i===o-1&&i===a+1?t.base=t.name=e.slice(r,o):(t.name=e.slice(r,i),t.base=e.slice(r,o),t.ext=e.slice(i,o))}return a>0?t.dir=e.slice(0,a-1):n&&(t.dir=`/`),t},sep:`/`,delimiter:`:`,win32:null,posix:null};Wr.win32=Ur.win32=Ur,Wr.posix=Ur.posix=Wr;var Gr=Lr?Ur.normalize:Wr.normalize,Gee=Lr?Ur.resolve:Wr.resolve,Kee=Lr?Ur.relative:Wr.relative,Kr=Lr?Ur.dirname:Wr.dirname,qr=Lr?Ur.basename:Wr.basename,qee=Lr?Ur.extname:Wr.extname,Jr=Lr?Ur.sep:Wr.sep,Jee=/^\w[\w\d+.-]*$/,Yee=/^\//,Xee=/^\/\//;function Zee(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!Jee.test(e.scheme))throw Error(`[UriError]: Scheme contains illegal characters.`);if(e.path){if(e.authority){if(!Yee.test(e.path))throw Error(`[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character`)}else if(Xee.test(e.path))throw Error(`[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")`)}}function Qee(e,t){return!e&&!t?`file`:e}function $ee(e,t){switch(e){case`https`:case`http`:case`file`:t?t[0]!==Xr&&(t=Xr+t):t=Xr;break}return t}var Yr=``,Xr=`/`,ete=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,Zr=class e{static isUri(t){return t instanceof e?!0:!t||typeof t!=`object`?!1:typeof t.authority==`string`&&typeof t.fragment==`string`&&typeof t.path==`string`&&typeof t.query==`string`&&typeof t.scheme==`string`&&typeof t.fsPath==`string`&&typeof t.with==`function`&&typeof t.toString==`function`}constructor(e,t,n,r,i,a=!1){typeof e==`object`?(this.scheme=e.scheme||Yr,this.authority=e.authority||Yr,this.path=e.path||Yr,this.query=e.query||Yr,this.fragment=e.fragment||Yr):(this.scheme=Qee(e,a),this.authority=t||Yr,this.path=$ee(this.scheme,n||Yr),this.query=r||Yr,this.fragment=i||Yr,Zee(this,a))}get fsPath(){return ni(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:a}=e;return t===void 0?t=this.scheme:t===null&&(t=Yr),n===void 0?n=this.authority:n===null&&(n=Yr),r===void 0?r=this.path:r===null&&(r=Yr),i===void 0?i=this.query:i===null&&(i=Yr),a===void 0?a=this.fragment:a===null&&(a=Yr),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&a===this.fragment?this:new $r(t,n,r,i,a)}static parse(e,t=!1){let n=ete.exec(e);return n?new $r(n[2]||Yr,oi(n[4]||Yr),oi(n[5]||Yr),oi(n[7]||Yr),oi(n[9]||Yr),t):new $r(Yr,Yr,Yr,Yr,Yr)}static file(e){let t=Yr;if(Je&&(e=e.replace(/\\/g,Xr)),e[0]===Xr&&e[1]===Xr){let n=e.indexOf(Xr,2);n===-1?(t=e.substring(2),e=Xr):(t=e.substring(2,n),e=e.substring(n)||Xr)}return new $r(`file`,t,e,Yr,Yr)}static from(e,t){return new $r(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(t,...n){if(!t.path)throw Error(`[UriError]: cannot call joinPath on URI without path`);let r;return r=Je&&t.scheme===`file`?e.file(Ur.join(ni(t,!0),...n)).path:Wr.join(t.path,...n),t.with({path:r})}toString(e=!1){return ri(this,e)}toJSON(){return this}static revive(t){if(!t||t instanceof e)return t;{let e=new $r(t);return e._formatted=t.external??null,e._fsPath=t._sep===Qr?t.fsPath??null:null,e}}},Qr=Je?1:void 0,$r=class extends Zr{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||=ni(this,!1),this._fsPath}toString(e=!1){return e?ri(this,!0):(this._formatted||=ri(this,!1),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Qr),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}},ei={58:`%3A`,47:`%2F`,63:`%3F`,35:`%23`,91:`%5B`,93:`%5D`,64:`%40`,33:`%21`,36:`%24`,38:`%26`,39:`%27`,40:`%28`,41:`%29`,42:`%2A`,43:`%2B`,44:`%2C`,59:`%3B`,61:`%3D`,32:`%20`};function ti(e,t,n){let r,i=-1;for(let a=0;a=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||t&&o===47||n&&o===91||n&&o===93||n&&o===58)i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r!==void 0&&(r+=e.charAt(a));else{r===void 0&&(r=e.substr(0,a));let t=ei[o];t===void 0?i===-1&&(i=a):(i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r+=t)}}return i!==-1&&(r+=encodeURIComponent(e.substring(i))),r===void 0?e:r}function tte(e){let t;for(let n=0;n1&&e.scheme===`file`?`//${e.authority}${e.path}`:e.path.charCodeAt(0)===47&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&e.path.charCodeAt(2)===58?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,Je&&(n=n.replace(/\//g,`\\`)),n}function ri(e,t){let n=t?tte:ti,r=``,{scheme:i,authority:a,path:o,query:s,fragment:c}=e;if(i&&(r+=i,r+=`:`),(a||i===`file`)&&(r+=Xr,r+=Xr),a){let e=a.indexOf(`@`);if(e!==-1){let t=a.substr(0,e);a=a.substr(e+1),e=t.lastIndexOf(`:`),e===-1?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=`:`,r+=n(t.substr(e+1),!1,!0)),r+=`@`}a=a.toLowerCase(),e=a.lastIndexOf(`:`),e===-1?r+=n(a,!1,!0):(r+=n(a.substr(0,e),!1,!0),r+=a.substr(e))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return s&&(r+=`?`,r+=n(s,!1,!1)),c&&(r+=`#`,r+=t?c:ti(c,!1,!1)),r}function ii(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+ii(e.substr(3)):e}}var ai=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function oi(e){return e.match(ai)?e.replace(ai,e=>ii(e)):e}var si;(function(e){e.inMemory=`inmemory`,e.vscode=`vscode`,e.internal=`private`,e.walkThrough=`walkThrough`,e.walkThroughSnippet=`walkThroughSnippet`,e.http=`http`,e.https=`https`,e.file=`file`,e.mailto=`mailto`,e.untitled=`untitled`,e.data=`data`,e.command=`command`,e.vscodeRemote=`vscode-remote`,e.vscodeRemoteResource=`vscode-remote-resource`,e.vscodeManagedRemoteResource=`vscode-managed-remote-resource`,e.vscodeUserData=`vscode-userdata`,e.vscodeCustomEditor=`vscode-custom-editor`,e.vscodeNotebookCell=`vscode-notebook-cell`,e.vscodeNotebookCellMetadata=`vscode-notebook-cell-metadata`,e.vscodeNotebookCellMetadataDiff=`vscode-notebook-cell-metadata-diff`,e.vscodeNotebookCellOutput=`vscode-notebook-cell-output`,e.vscodeNotebookCellOutputDiff=`vscode-notebook-cell-output-diff`,e.vscodeNotebookMetadata=`vscode-notebook-metadata`,e.vscodeInteractiveInput=`vscode-interactive-input`,e.vscodeSettings=`vscode-settings`,e.vscodeWorkspaceTrust=`vscode-workspace-trust`,e.vscodeTerminal=`vscode-terminal`,e.vscodeChatCodeBlock=`vscode-chat-code-block`,e.vscodeChatCodeCompareBlock=`vscode-chat-code-compare-block`,e.vscodeChatEditor=`vscode-chat-editor`,e.vscodeChatInput=`chatSessionInput`,e.vscodeLocalChatSession=`vscode-chat-session`,e.webviewPanel=`webview-panel`,e.vscodeWebview=`vscode-webview`,e.extension=`extension`,e.vscodeFileResource=`vscode-file`,e.tmp=`tmp`,e.vsls=`vsls`,e.vscodeSourceControl=`vscode-scm`,e.commentsInput=`comment`,e.codeSetting=`code-setting`,e.outputChannel=`output`,e.accessibleView=`accessible-view`,e.chatEditingSnapshotScheme=`chat-editing-snapshot-text-model`,e.chatEditingModel=`chat-editing-text-model`,e.copilotPr=`copilot-pr`})(si||={});function ci(e,t){return Zr.isUri(e)?qn(e.scheme,t):Jn(e,t+`:`)}function li(e,...t){return t.some(t=>ci(e,t))}var ui=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema=`http`,this._delegate=null,this._serverRootPath=`/`}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return Wr.join(this._serverRootPath,si.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(t){return C(t),e}let t=e.authority,n=this._hosts[t];n&&n.indexOf(`:`)!==-1&&n.indexOf(`[`)===-1&&(n=`[${n}]`);let r=this._ports[t],i=this._connectionTokens[t],a=`path=${encodeURIComponent(e.path)}`;return typeof i==`string`&&(a+=`&tkn=${encodeURIComponent(i)}`),Zr.from({scheme:Qe?this._preferredWebSchema:si.vscodeRemoteResource,authority:`${n}:${r}`,path:this._remoteResourcesPath,query:a})}},di=`vscode-app`,fi=new class e{static{this.FALLBACK_AUTHORITY=di}uriToBrowserUri(t){return t.scheme===si.vscodeRemote?ui.rewrite(t):t.scheme===si.file&&(Ze||$e===`${si.vscodeFileResource}://${e.FALLBACK_AUTHORITY}`)?t.with({scheme:si.vscodeFileResource,authority:t.authority||e.FALLBACK_AUTHORITY,query:null,fragment:null}):t}},pi;(function(e){let t=new Map([[`1`,{"Cross-Origin-Opener-Policy":`same-origin`}],[`2`,{"Cross-Origin-Embedder-Policy":`require-corp`}],[`3`,{"Cross-Origin-Opener-Policy":`same-origin`,"Cross-Origin-Embedder-Policy":`require-corp`}]]);e.CoopAndCoep=Object.freeze(t.get(`3`));let n=`vscode-coi`;function r(e){let r;typeof e==`string`?r=new URL(e).searchParams:e instanceof URL?r=e.searchParams:Zr.isUri(e)&&(r=new URL(e.toString(!0)).searchParams);let i=r?.get(n);if(i)return t.get(i)}e.getHeadersFromQuery=r;function i(e,t,r){if(!globalThis.crossOriginIsolated)return;let i=t&&r?`3`:r?`2`:`1`;e instanceof URLSearchParams?e.set(n,i):e[n]=i}e.addSearchParam=i})(pi||={});var mi=typeof Buffer<`u`;new Dn(()=>new Uint8Array(256));var hi,gi=class e{static wrap(t){return mi&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new e(t)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return mi?this.buffer.toString():(hi||=new TextDecoder,hi.decode(this.buffer))}};function nte(e,t){return e[t+0]<<0>>>0|e[t+1]<<8>>>0}function rte(e,t,n){e[n+0]=t&255,t>>>=8,e[n+1]=t&255}function _i(e,t){return e[t]*2**24+e[t+1]*2**16+e[t+2]*2**8+e[t+3]}function vi(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function yi(e,t){return e[t]}function bi(e,t,n){e[n]=t}var xi=`0123456789abcdef`;function ite({buffer:e}){let t=``;for(let n=0;n>>4],t+=xi[r&15]}return t}function Si(e){return Ci(e,0)}function Ci(e,t){switch(typeof e){case`object`:return e===null?wi(349,t):Array.isArray(e)?ote(e,t):ste(e,t);case`string`:return Ti(e,t);case`boolean`:return ate(e,t);case`number`:return wi(e,t);case`undefined`:return wi(937,t);default:return wi(617,t)}}function wi(e,t){return(t<<5)-t+e|0}function ate(e,t){return wi(e?433:863,t)}function Ti(e,t){t=wi(149417,t);for(let n=0,r=e.length;nCi(t,e),t)}function ste(e,t){return t=wi(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Ti(n,t),Ci(e[n],t)),t)}function Ei(e,t,n=32){let r=n-t,i=~((1<>>r)>>>0}function Di(e,t=32){return e instanceof ArrayBuffer?ite(gi.wrap(new Uint8Array(e))):(e>>>0).toString(16).padStart(t/4,`0`)}var cte=class e{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){let t=e.length;if(t===0)return;let n=this._buff,r=this._buffLen,i=this._leftoverHighSurrogate,a,o;for(i===0?(a=e.charCodeAt(0),o=0):(a=i,o=-1,i=0);;){let s=a;if(Zn(a))if(o+1>>6,e[t++]=128|(n&63)>>>0):n<65536?(e[t++]=224|(n&61440)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0):(e[t++]=240|(n&1835008)>>>18,e[t++]=128|(n&258048)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Di(this._h0)+Di(this._h1)+Di(this._h2)+Di(this._h3)+Di(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56&&(this._step(),this._buff.fill(0));let e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){let t=e._bigBlock32,n=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,n.getUint32(e,!1),!1);for(let e=64;e<320;e+=4)t.setUint32(e,Ei(t.getUint32(e-12,!1)^t.getUint32(e-32,!1)^t.getUint32(e-56,!1)^t.getUint32(e-64,!1),1),!1);let r=this._h0,i=this._h1,a=this._h2,o=this._h3,s=this._h4,c,l,u;for(let e=0;e<80;e++)e<20?(c=i&a|~i&o,l=1518500249):e<40?(c=i^a^o,l=1859775393):e<60?(c=i&a|i&o|a&o,l=2400959708):(c=i^a^o,l=3395469782),u=Ei(r,5)+c+s+l+t.getUint32(e*4,!1)&4294967295,s=o,o=a,a=Ei(i,30),i=r,r=u;this._h0=this._h0+r&4294967295,this._h1=this._h1+i&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+s&4294967295}};function lte(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function Oi(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0,i=e.length;rn(e[r],t))}function ji(e,t){let n=0,r=e-1;for(;n<=r;){let e=(n+r)/2|0,i=t(e);if(i<0)n=e+1;else if(i>0)r=e-1;else return e}return-(n+1)}function Mi(e,t,n){if(e|=0,e>=t.length)throw TypeError(`invalid index`);let r=t[Math.floor(t.length*Math.random())],i=[],a=[],o=[];for(let e of t){let t=n(e,r);t<0?i.push(e):t>0?a.push(e):o.push(e)}return e!!e)}function Li(e){let t=0;for(let n=0;n0}function Bi(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}function Vi(e,t){let n=typeof t==`number`?e:0;typeof t==`number`?n=e:(n=0,t=e);let r=[];if(n<=t)for(let e=n;et;e--)r.push(e);return r}function Hi(e,t,n){let r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function Ui(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function Wi(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function Gi(e,t){for(let n of t)e.push(n)}function dte(e,t){let n=[];for(let r of e){let e=t(r);e!==void 0&&n.push(e)}return n}function Ki(e){return Array.isArray(e)?e:[e]}function fte(e,t,n){let r=Ji(e,t),i=e.length,a=n.length;e.length=i+a;for(let t=i-1;t>=r;t--)e[t+a]=e[t];for(let t=0;t0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Yi||={});function Xi(e,t){return(n,r)=>t(e(n),e(r))}function pte(...e){return(t,n)=>{for(let r of e){let e=r(t,n);if(!Yi.isNeitherLessOrGreaterThan(e))return e}return Yi.neitherLessOrGreaterThan}}var Zi=(e,t)=>e-t,Qi=(e,t)=>Zi(+!!e,+!!t);function $i(e){return(t,n)=>-e(t,n)}function mte(e){return(t,n)=>t===void 0?n===void 0?Yi.neitherLessOrGreaterThan:Yi.lessThan:n===void 0?Yi.greaterThan:e(t,n)}var ea=class{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;let n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){let e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){let t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}},ta=class e{static{this.empty=new e(e=>{})}constructor(e){this.iterate=e}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||Yi.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}},hte=class e{constructor(e){this._indexMap=e}static createSortPermutation(t,n){return new e(Array.from(t.keys()).sort((e,r)=>n(t[e],t[r])))}apply(e){return e.map((t,n)=>e[this._indexMap[n]])}inverse(){let t=this._indexMap.slice();for(let e=0;ee+t,0)}var ra;function gte(e){ra?ra instanceof aa?ra.loggers.push(e):ra=new aa([ra,e]):ra=e}function ia(){return ra}var aa=class{constructor(e){this.loggers=e}handleObservableCreated(e,t){for(let n of this.loggers)n.handleObservableCreated(e,t)}handleOnListenerCountChanged(e,t){for(let n of this.loggers)n.handleOnListenerCountChanged(e,t)}handleObservableUpdated(e,t){for(let n of this.loggers)n.handleObservableUpdated(e,t)}handleAutorunCreated(e,t){for(let n of this.loggers)n.handleAutorunCreated(e,t)}handleAutorunDisposed(e){for(let t of this.loggers)t.handleAutorunDisposed(e)}handleAutorunDependencyChanged(e,t,n){for(let r of this.loggers)r.handleAutorunDependencyChanged(e,t,n)}handleAutorunStarted(e){for(let t of this.loggers)t.handleAutorunStarted(e)}handleAutorunFinished(e){for(let t of this.loggers)t.handleAutorunFinished(e)}handleDerivedDependencyChanged(e,t,n){for(let r of this.loggers)r.handleDerivedDependencyChanged(e,t,n)}handleDerivedCleared(e){for(let t of this.loggers)t.handleDerivedCleared(e)}handleBeginTransaction(e){for(let t of this.loggers)t.handleBeginTransaction(e)}handleEndTransaction(e){for(let t of this.loggers)t.handleEndTransaction(e)}},oa;(function(e){let t=!1;function n(){t=!0}e.enable=n;function r(){if(!t)return;let e=Error,n=e.stackTraceLimit;e.stackTraceLimit=3;let r=Error().stack;return e.stackTraceLimit=n,_te.fromStack(r,2)}e.ofCaller=r})(oa||={});var _te=class e{static fromStack(t,n){let r=vte(t.split(` +`)[n+1]);if(r)return new e(r.fileName,r.line,r.column,r.id)}constructor(e,t,n,r){this.fileName=e,this.line=t,this.column=n,this.id=r}};function vte(e){let t=e.match(/\((.*):(\d+):(\d+)\)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:e};let n=e.match(/at ([^\(\)]*):(\d+):(\d+)/);if(n)return{fileName:n[1],line:parseInt(n[2]),column:parseInt(n[3]),id:e}}var sa=(e,t)=>e===t;function ca(e=sa){return(t,n)=>Oi(t,n,e)}function la(){return(e,t)=>e.equals(t)}function ua(e,t,n){if(n!==void 0){let r=e;return r==null||t==null?t===r:n(r,t)}else{let t=e;return(e,n)=>e==null||n==null?n===e:t(e,n)}}function da(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n{let e=ya(i);if(e!==void 0)return e;let t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());if(t)return`${this.debugName}.${t[2]}`;if(!r)return`${this.debugName} (mapped)`},debugReferenceFn:i},e=>i(this.read(e),e),n)}flatten(){return ba({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(Sa(this,t)),this}},wa=class extends Ca{constructor(e){super(),this._observers=new Set,ia()?.handleObservableCreated(this,e)}addObserver(e){let t=this._observers.size;this._observers.add(e),t===0&&this.onFirstObserverAdded(),t!==this._observers.size&&ia()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){let t=this._observers.delete(e);t&&this._observers.size===0&&this.onLastObserverRemoved(),t&&ia()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}debugGetObservers(){return this._observers}};function Cte(e){switch(e){case 0:return`initial`;case 1:return`dependenciesMightHaveChanged`;case 2:return`stale`;case 3:return`upToDate`;default:return``}}var Ta=class extends wa{get debugName(){return this._debugNameData.getDebugName(this)??`(anonymous)`}constructor(e,t,n,r=void 0,i,a){super(a),this._debugNameData=e,this._computeFn=t,this._changeTracker=n,this._handleLastObserverRemoved=r,this._equalityComparator=i,this._state=0,this._value=void 0,this._updateCount=0,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._changeSummary=void 0,this._isUpdating=!1,this._isComputing=!1,this._didReportChange=!1,this._isInBeforeUpdate=!1,this._isReaderValid=!1,this._store=void 0,this._delayedStore=void 0,this._removedObserverToCallEndUpdateOn=null,this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}onLastObserverRemoved(){this._state=0,this._value=void 0,ia()?.handleDerivedCleared(this);for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._delayedStore!==void 0&&(this._delayedStore.dispose(),this._delayedStore=void 0),this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let e;try{this._isReaderValid=!0;let t;this._changeTracker&&(t=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,t)),e=this._computeFn(this,t)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),e}else{do{if(this._state===1){for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._state===1&&(this._state=3),this._state!==3&&this._recompute()}while(this._state!==3);return this._value}}_recompute(){let e=!1;this._isComputing=!0,this._didReportChange=!1;let t=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=t;try{let t=this._changeSummary;this._isReaderValid=!0,this._changeTracker&&(this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,t),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(t));let n=this._state!==0,r=this._value;this._state=3;let i=this._delayedStore;i!==void 0&&(this._delayedStore=void 0);try{this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._value=this._computeFn(this,t)}finally{this._isReaderValid=!1;for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear(),i!==void 0&&i.dispose()}e=this._didReportChange||n&&!this._equalityComparator(r,this._value),ia()?.handleObservableUpdated(this,{oldValue:r,newValue:this._value,change:void 0,didChange:e,hadValue:n})}catch(e){ne(e)}if(this._isComputing=!1,!this._didReportChange&&e)for(let e of this._observers)e.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){if(this._isUpdating)throw new w(`Cyclic deriveds are not supported yet!`);this._updateCount++,this._isUpdating=!0;try{let e=this._updateCount===1;if(this._state===3&&(this._state=1,!e))for(let e of this._observers)e.handlePossibleChange(this);if(e)for(let e of this._observers)e.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(e){if(this._updateCount--,this._updateCount===0){let e=[...this._observers];for(let t of e)t.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){let e=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(let t of e)t.endUpdate(this)}}_e(()=>this._updateCount>=0)}handlePossibleChange(e){if(this._state===3&&this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)){this._state=1;for(let e of this._observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)||this._isInBeforeUpdate){ia()?.handleDerivedDependencyChanged(this,e,t);let n=!1;try{n=this._changeTracker?this._changeTracker.handleChange({changedObservable:e,change:t,didChange:t=>t===e},this._changeSummary):!0}catch(e){ne(e)}let r=this._state===3;if(n&&(this._state===1||r)&&(this._state=2,r))for(let e of this._observers)e.handlePossibleChange(this)}}_ensureReaderValid(){if(!this._isReaderValid)throw new w(`The reader object cannot be used outside its compute function!`)}readObservable(e){this._ensureReaderValid(),e.addObserver(this);let t=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),t}get store(){return this._ensureReaderValid(),this._store===void 0&&(this._store=new E),this._store}addObserver(e){let t=!this._observers.has(e)&&this._updateCount>0;super.addObserver(e),t&&(this._removedObserverToCallEndUpdateOn&&this._removedObserverToCallEndUpdateOn.has(e)?this._removedObserverToCallEndUpdateOn.delete(e):e.beginUpdate(this))}removeObserver(e){this._observers.has(e)&&this._updateCount>0&&(this._removedObserverToCallEndUpdateOn||=new Set,this._removedObserverToCallEndUpdateOn.add(e)),super.removeObserver(e)}debugGetState(){return{state:this._state,stateStr:Cte(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(e){this._value=e}debugRecompute(){this._isComputing?this._state=2:this._recompute()}setValue(e,t,n){this._value=e;let r=this._observers;t.updateObserver(this,this);for(let e of r)e.handleChange(this,n)}},Ea=class extends Ta{constructor(e,t,n,r=void 0,i,a,o){super(e,t,n,r,i,o),this.set=a}};function A(e,t,n=oa.ofCaller()){return t===void 0?new Ta(new fa(void 0,void 0,e),e,void 0,void 0,sa,n):new Ta(new fa(e,void 0,t),t,void 0,void 0,sa,n)}function Da(e,t,n,r=oa.ofCaller()){return new Ea(new fa(e,void 0,t),t,void 0,void 0,sa,n,r)}function Oa(e,t,n=oa.ofCaller()){return new Ta(new fa(e.owner,e.debugName,e.debugReferenceFn),t,void 0,e.onLastObserverRemoved,e.equalsFn??sa,n)}xa(Oa);function ka(e,t,n=oa.ofCaller()){return new Ta(new fa(e.owner,e.debugName,void 0),t,e.changeTracker,void 0,e.equalityComparer??sa,n)}function Aa(e,t,n=oa.ofCaller()){let r,i;t===void 0?(r=e,i=void 0):(i=e,r=t);let a;return new Ta(new fa(i,void 0,r),e=>{a?a.clear():a=new E;let t=r(e);return t&&a.add(t),t},void 0,()=>{a&&=(a.dispose(),void 0)},sa,n)}function wte(e){switch(e){case 1:return`dependenciesMightHaveChanged`;case 2:return`stale`;case 3:return`upToDate`;default:return``}}var ja=class{get debugName(){return this._debugNameData.getDebugName(this)??`(anonymous)`}constructor(e,t,n,r){this._debugNameData=e,this._runFn=t,this._changeTracker=n,this._state=2,this._updateCount=0,this._disposed=!1,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._isRunning=!1,this._store=void 0,this._delayedStore=void 0,this._changeSummary=this._changeTracker?.createChangeSummary(void 0),ia()?.handleAutorunCreated(this,r),this._run()}dispose(){if(!this._disposed){this._disposed=!0;for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&this._store.dispose(),this._delayedStore!==void 0&&this._delayedStore.dispose(),ia()?.handleAutorunDisposed(this)}}_run(){let e=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=e,this._state=3;try{if(!this._disposed){ia()?.handleAutorunStarted(this);let e=this._changeSummary,t=this._delayedStore;t!==void 0&&(this._delayedStore=void 0);try{this._isRunning=!0,this._changeTracker&&(this._changeTracker.beforeUpdate?.(this,e),this._changeSummary=this._changeTracker.createChangeSummary(e)),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._runFn(this,e)}catch(e){ne(e)}finally{this._isRunning=!1,t!==void 0&&t.dispose()}}}finally{this._disposed||ia()?.handleAutorunFinished(this);for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(e){this._state===3&&(this._state=1),this._updateCount++}endUpdate(e){try{if(this._updateCount===1)do{if(this._state===1){this._state=3;for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._state!==3&&this._run()}while(this._state!==3)}finally{this._updateCount--}_e(()=>this._updateCount>=0)}handlePossibleChange(e){this._state===3&&this._isDependency(e)&&(this._state=1)}handleChange(e,t){if(this._isDependency(e)){ia()?.handleAutorunDependencyChanged(this,e,t);try{(!this._changeTracker||this._changeTracker.handleChange({changedObservable:e,change:t,didChange:t=>t===e},this._changeSummary))&&(this._state=2)}catch(e){ne(e)}}}_isDependency(e){return this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)}_ensureNoRunning(){if(!this._isRunning)throw new w(`The reader object cannot be used outside its compute function!`)}readObservable(e){if(this._ensureNoRunning(),this._disposed)return e.get();e.addObserver(this);let t=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),t}get store(){if(this._ensureNoRunning(),this._disposed)throw new w(`Cannot access store after dispose`);return this._store===void 0&&(this._store=new E),this._store}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:wte(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}};function Ma(e,t=oa.ofCaller()){return new ja(new fa(void 0,void 0,e),e,void 0,t)}function Na(e,t,n=oa.ofCaller()){return new ja(new fa(e.owner,e.debugName,e.debugReferenceFn??t),t,void 0,n)}function Pa(e,t,n=oa.ofCaller()){return new ja(new fa(e.owner,e.debugName,e.debugReferenceFn??t),t,e.changeTracker,n)}function Tte(e,t){let n=new E,r=Pa({owner:e.owner,debugName:e.debugName,debugReferenceFn:e.debugReferenceFn??t,changeTracker:e.changeTracker},(e,r)=>{n.clear(),t(e,r,n)});return T(()=>{r.dispose(),n.dispose()})}function Fa(e){let t=new E,n=Na({owner:void 0,debugName:void 0,debugReferenceFn:e},n=>{t.clear(),e(n,t)});return T(()=>{n.dispose(),t.dispose()})}function Ete(e,t){let n;return Na({debugReferenceFn:t},r=>{let i=e.read(r),a=n;n=i,t({lastValue:a,newValue:i})})}function Ia(e){let t=Error(`BugIndicatingErrorRecovery: `+e);C(t),console.error(`recovered from an error that indicates a bug`,t)}function La(e,t){let n=new Va(e,t);try{e(n)}finally{n.finish()}}var Ra=void 0;function za(e){if(Ra)e(Ra);else{let t=new Va(e,void 0);Ra=t;try{e(t)}finally{t.finish(),Ra=void 0}}}async function Dte(e,t){let n=new Va(e,t);try{await e(n)}finally{n.finish()}}function Ba(e,t,n){e?t(e):La(t,n)}var Va=class{constructor(e,t){this._fn=e,this._getDebugName=t,this._updatingObservers=[],ia()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():ya(this._fn)}updateObserver(e,t){if(!this._updatingObservers){Ia(`Transaction already finished!`),La(n=>{n.updateObserver(e,t)});return}this._updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){let e=this._updatingObservers;if(!e){Ia(`transaction.finish() has already been called!`);return}for(let t=0;tWa.globalTransaction,sa,i??oa.ofCaller())}function Ua(e,t,n,r=oa.ofCaller()){return new Wa(new fa(e.owner,e.debugName,e.debugReferenceFn??n),t,n,()=>Wa.globalTransaction,e.equalsFn??sa,r)}var Wa=class extends wa{constructor(e,t,n,r,i,a){super(a),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=r,this._equalityComparator=i,this._hasValue=!1,this.handleEvent=e=>{let t=this._getValue(e),n=this._value,r=!this._hasValue||!this._equalityComparator(n,t),i=!1;r&&(this._value=t,this._hasValue&&(i=!0,Ba(this._getTransaction(),e=>{ia()?.handleObservableUpdated(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this._hasValue});for(let t of this._observers)e.updateObserver(t,this),t.handleChange(this,void 0)},()=>{let e=this.getDebugName();return`Event fired`+(e?`: ${e}`:``)})),this._hasValue=!0),i||ia()?.handleObservableUpdated(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this._hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){let e=this.getDebugName();return`From Event`+(e?`: ${e}`:``)}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){return this._subscription?(this._hasValue||this.handleEvent(void 0),this._value):this._getValue(void 0)}debugSetValue(e){this._value=e}debugGetState(){return{value:this._value,hasValue:this._hasValue}}};(function(e){e.Observer=Wa;function t(e,t){let n=!1;Wa.globalTransaction===void 0&&(Wa.globalTransaction=e,n=!0);try{t()}finally{n&&(Wa.globalTransaction=void 0)}}e.batchEventsGlobally=t})(Ha||={});function Ga(e,t){let n=!1,r,i;return Ha(a=>{let o=Ma(o=>{let s=e.read(o);n?(i&&clearTimeout(i),i=setTimeout(()=>{r=s,a()},t)):(n=!0,r=s)});return{dispose(){o.dispose(),n=!1,r=void 0}}},()=>n?r:e.get())}function Ka(e,t){let n=new Ote(!0,t);e.addObserver(n);try{n.beginUpdate(e)}finally{n.endUpdate(e)}return T(()=>{e.removeObserver(n)})}Ste(Ka);var Ote=class{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter===1&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges()),this._counter--}handlePossibleChange(e){}handleChange(e,t){}};function qa(e,t){let n;return Oa({owner:e,debugReferenceFn:t},e=>(n=t(e,n),n))}function Ja(e,t,n,r){let i=new Ya(n,r);return Oa({debugReferenceFn:n,owner:e,onLastObserverRemoved:()=>{i.dispose(),i=new Ya(n)}},e=>(i.setItems(t.read(e)),i.getItems()))}var Ya=class{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){let t=[],n=new Set(this._cache.keys());for(let r of e){let e=this._keySelector?this._keySelector(r):r,i=this._cache.get(e);if(i)n.delete(e);else{let t=new E;i={out:this._map(r,t),store:t},this._cache.set(e,i)}t.push(i.out)}for(let e of n)this._cache.get(e).store.dispose(),this._cache.delete(e);this._items=t}getItems(){return this._items}};function Xa(e,t){switch(typeof e){case`number`:return``+e;case`string`:return e.length+2<=t?`"${e}"`:`"${e.substr(0,t-7)}"+...`;case`boolean`:return e?`true`:`false`;case`undefined`:return`undefined`;case`object`:return e===null?`null`:Array.isArray(e)?kte(e,t):Ate(e,t);case`symbol`:return e.toString();case`function`:return`[[Function${e.name?` `+e.name:``}]]`;default:return``+e}}function kte(e,t){let n=`[ `,r=!0;for(let i of e){if(r||(n+=`, `),n.length-5>t){n+=`...`;break}r=!1,n+=`${Xa(i,t-n.length)}`}return n+=` ]`,n}function Ate(e,t){if(typeof e.toString==`function`&&e.toString!==Object.prototype.toString){let n=e.toString();return n.length<=t?n:n.substring(0,t-3)+`...`}let n=va(e),r=n?n+`(`:`{ `,i=!0;for(let[n,a]of Object.entries(e)){if(i||(r+=`, `),r.length-5>t){r+=`...`;break}i=!1,r+=`${n}: ${Xa(a,t-r.length)}`}return r+=n?`)`:` }`,r}var jte=class e{static createClient(t,n){return new e(t,n)}constructor(e,t){this._channelFactory=e,this._getHandler=t,this._channel=this._channelFactory({handleNotification:e=>{let t=e,n=this._getHandler().notifications[t[0]];if(!n)throw Error(`Unknown notification "${t[0]}"!`);n(...t[1])},handleRequest:e=>{let t=e;try{return{type:`result`,value:this._getHandler().requests[t[0]](...t[1])}}catch(e){return{type:`error`,value:e}}}});let n=new Proxy({},{get:(e,t)=>async(...e)=>{let n=await this._channel.sendRequest([t,e]);if(n.type===`error`)throw n.value;return n.value}}),r=new Proxy({},{get:(e,t)=>(...e)=>{this._channel.sendNotification([t,e])}});this.api={notifications:r,requests:n}}};function Mte(e,t){let n=globalThis,r=[],i,{channel:a,handler:o}=Nte({sendNotification:e=>{i?i.sendNotification(e):r.push(e)}}),s;return(n.$$debugValueEditor_debugChannels??={})[e]=e=>{s=t(),i=e;for(let t of r)e.sendNotification(t);return r=[],o},jte.createClient(a,()=>{if(!s)throw Error(`Not supported`);return s})}function Nte(e){let t;return{channel:n=>(t=n,{sendNotification:t=>{e.sendNotification(t)},sendRequest:e=>{throw Error(`not supported`)}}),handler:{handleRequest:e=>e.type===`notification`?t?.handleNotification(e.data):t?.handleRequest(e.data)}}}var Pte=class{constructor(){this._timeout=void 0}throttle(e,t){this._timeout===void 0&&(this._timeout=setTimeout(()=>{this._timeout=void 0,e()},t))}dispose(){this._timeout!==void 0&&clearTimeout(this._timeout)}};function Za(e,t){for(let n in t)e[n]&&typeof e[n]==`object`&&t[n]&&typeof t[n]==`object`?Za(e[n],t[n]):e[n]=t[n]}function Qa(e,t){for(let n in t)t[n]===null?delete e[n]:e[n]&&typeof e[n]==`object`&&t[n]&&typeof t[n]==`object`?Qa(e[n],t[n]):e[n]=t[n]}function $a(e,t,n=oa.ofCaller()){let r;return r=typeof e==`string`?new fa(void 0,e,void 0):new fa(e,void 0,void 0),new eo(r,t,sa,n)}var eo=class extends wa{get debugName(){return this._debugNameData.getDebugName(this)??`ObservableValue`}constructor(e,t,n,r){super(r),this._debugNameData=e,this._equalityComparator=n,this._value=t,ia()?.handleObservableUpdated(this,{hadValue:!1,newValue:t,change:void 0,didChange:!0,oldValue:void 0})}get(){return this._value}set(e,t,n){if(n===void 0&&this._equalityComparator(this._value,e))return;let r;t||=r=new Va(()=>{},()=>`Setting ${this.debugName}`);try{let r=this._value;this._setValue(e),ia()?.handleObservableUpdated(this,{oldValue:r,newValue:e,change:n,didChange:!0,hadValue:!0});for(let e of this._observers)t.updateObserver(e,this),e.handleChange(this,n)}finally{r&&r.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}};function to(e,t,n=oa.ofCaller()){let r;return r=typeof e==`string`?new fa(void 0,e,void 0):new fa(e,void 0,void 0),new Fte(r,t,sa,n)}var Fte=class extends eo{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}},Ite=class e{static{this._instance=void 0}static getInstance(){return e._instance===void 0&&(e._instance=new e),e._instance}getTransactionState(){let e=[],t=[...this._activeTransactions];if(t.length===0)return;let n=t.flatMap(e=>e.debugGetUpdatingObservers()??[]).map(e=>e.observer),r=new Set;for(;n.length>0;){let t=n.shift();if(r.has(t))continue;r.add(t);let i=this._getInfo(t,e=>{r.has(e)||n.push(e)});i&&e.push(i)}return{names:t.map(e=>e.getDebugName()??`tx`),affected:e}}_getObservableInfo(e){let t=this._instanceInfos.get(e);if(!t){C(new w(`No info found`));return}return t}_getAutorunInfo(e){let t=this._instanceInfos.get(e);if(!t){C(new w(`No info found`));return}return t}_getInfo(e,t){if(e instanceof Ta){let n=[...e.debugGetObservers()];for(let e of n)t(e);let r=this._getObservableInfo(e);if(!r)return;let i=e.debugGetState(),a={name:e.debugName,instanceId:r.instanceId,updateCount:i.updateCount},o=[...r.changedObservables].map(e=>this._instanceInfos.get(e)?.instanceId).filter(De);if(i.isComputing)return{...a,type:`observable/derived`,state:`updating`,changedDependencies:o,initialComputation:!1};switch(i.state){case 0:return{...a,type:`observable/derived`,state:`noValue`};case 3:return{...a,type:`observable/derived`,state:`upToDate`};case 2:return{...a,type:`observable/derived`,state:`stale`,changedDependencies:o};case 1:return{...a,type:`observable/derived`,state:`possiblyStale`}}}else if(e instanceof ja){let t=this._getAutorunInfo(e);if(!t)return;let n={name:e.debugName,instanceId:t.instanceId,updateCount:t.updateCount},r=[...t.changedObservables].map(e=>this._instanceInfos.get(e).instanceId);if(e.debugGetState().isRunning)return{...n,type:`autorun`,state:`updating`,changedDependencies:r};switch(e.debugGetState().state){case 3:return{...n,type:`autorun`,state:`upToDate`};case 2:return{...n,type:`autorun`,state:`stale`,changedDependencies:r};case 1:return{...n,type:`autorun`,state:`possiblyStale`}}}}_formatObservable(e){let t=this._getObservableInfo(e);if(t)return{name:e.debugName,instanceId:t.instanceId}}_formatObserver(e){if(e instanceof Ta)return{name:e.toString(),instanceId:this._getObservableInfo(e)?.instanceId};let t=this._getAutorunInfo(e);if(t)return{name:e.toString(),instanceId:t.instanceId}}constructor(){this._declarationId=0,this._instanceId=0,this._declarations=new Map,this._instanceInfos=new WeakMap,this._aliveInstances=new Map,this._activeTransactions=new Set,this._channel=Mte(`observableDevTools`,()=>({notifications:{setDeclarationIdFilter:e=>{},logObservableValue:e=>{console.log(`logObservableValue`,e)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{let e={};for(let t of this._declarations.values())e[t.id]=t;return{decls:e}},getSummarizedInstances:()=>null,getObservableValueInfo:e=>({observers:[...this._aliveInstances.get(e).debugGetObservers()].map(e=>this._formatObserver(e)).filter(De)}),getDerivedInfo:e=>{let t=this._aliveInstances.get(e);return{dependencies:[...t.debugGetState().dependencies].map(e=>this._formatObservable(e)).filter(De),observers:[...t.debugGetObservers()].map(e=>this._formatObserver(e)).filter(De)}},getAutorunInfo:e=>({dependencies:[...this._aliveInstances.get(e).debugGetState().dependencies].map(e=>this._formatObservable(e)).filter(De)}),getTransactionState:()=>this.getTransactionState(),setValue:(e,t)=>{let n=this._aliveInstances.get(e);if(n instanceof Ta)n.debugSetValue(t);else if(n instanceof eo)n.debugSetValue(t);else if(n instanceof Wa)n.debugSetValue(t);else throw new w(`Observable is not supported`);let r=[...n.debugGetObservers()];for(let e of r)e.beginUpdate(n);for(let e of r)e.handleChange(n,void 0);for(let e of r)e.endUpdate(n)},getValue:e=>{let t=this._aliveInstances.get(e);if(t instanceof Ta||t instanceof eo)return Xa(t.debugGetState().value,200)},logValue:e=>{let t=this._aliveInstances.get(e);if(t&&`get`in t)console.log(`Logged Value:`,t.get());else throw new w(`Observable is not supported`)},rerun:e=>{let t=this._aliveInstances.get(e);if(t instanceof Ta)t.debugRecompute();else if(t instanceof ja)t.debugRerun();else throw new w(`Observable is not supported`)}}})),this._pendingChanges=null,this._changeThrottler=new Pte,this._fullState={},this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)},oa.enable()}_handleChange(e){Qa(this._fullState,e),this._pendingChanges===null?this._pendingChanges=e:Za(this._pendingChanges,e),this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId(e,t){if(!t)return-1;let n=this._declarations.get(t.id);return n===void 0&&(n={id:this._declarationId++,type:e,url:t.fileName,line:t.line,column:t.column},this._declarations.set(t.id,n),this._handleChange({decls:{[n.id]:n}})),n.id}handleObservableCreated(e,t){let n={declarationId:this._getDeclarationId(`observable/value`,t),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set(e,n)}handleOnListenerCountChanged(e,t){let n=this._getObservableInfo(e);if(n){if(n.listenerCount===0&&t>0){let t=e instanceof Ta?`observable/derived`:`observable/value`;this._aliveInstances.set(n.instanceId,e),this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,formattedValue:n.lastValue,type:t,name:e.debugName}}})}else n.listenerCount>0&&t===0&&(this._handleChange({instances:{[n.instanceId]:null}}),this._aliveInstances.delete(n.instanceId));n.listenerCount=t}}handleObservableUpdated(e,t){if(e instanceof Ta){this._handleDerivedRecomputed(e,t);return}let n=this._getObservableInfo(e);n&&t.didChange&&(n.lastValue=Xa(t.newValue,30),n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:n.lastValue}}}))}handleAutorunCreated(e,t){let n={declarationId:this._getDeclarationId(`autorun`,t),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};this._instanceInfos.set(e,n),this._aliveInstances.set(n.instanceId,e),n&&this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,runCount:0,type:`autorun`,name:e.debugName}}})}handleAutorunDisposed(e){let t=this._getAutorunInfo(e);t&&(this._handleChange({instances:{[t.instanceId]:null}}),this._instanceInfos.delete(e),this._aliveInstances.delete(t.instanceId))}handleAutorunDependencyChanged(e,t,n){let r=this._getAutorunInfo(e);r&&r.changedObservables.add(t)}handleAutorunStarted(e){}handleAutorunFinished(e){let t=this._getAutorunInfo(e);t&&(t.changedObservables.clear(),t.updateCount++,this._handleChange({instances:{[t.instanceId]:{runCount:t.updateCount}}}))}handleDerivedDependencyChanged(e,t,n){let r=this._getObservableInfo(e);r&&r.changedObservables.add(t)}_handleDerivedRecomputed(e,t){let n=this._getObservableInfo(e);if(!n)return;let r=Xa(t.newValue,30);n.updateCount++,n.changedObservables.clear(),n.lastValue=r,n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:r,recomputationCount:n.updateCount}}})}handleDerivedCleared(e){let t=this._getObservableInfo(e);t&&(t.lastValue=void 0,t.changedObservables.clear(),t.listenerCount>0&&this._handleChange({instances:{[t.instanceId]:{formattedValue:void 0}}}))}handleBeginTransaction(e){this._activeTransactions.add(e)}handleEndTransaction(e){this._activeTransactions.delete(e)}};Tr&&Tr.VSCODE_DEV_DEBUG_OBSERVABLES&>e(Ite.getInstance());var{getWindow:no,getDocument:Lte,getWindows:ro,getWindowsCount:Rte,getWindowId:io,getWindowById:ao,onDidRegisterWindow:oo,onWillUnregisterWindow:zte,onDidUnregisterWindow:Bte}=(function(){let e=new Map;u(d,1);let t={window:d,disposables:new E};e.set(d.vscodeWindowId,t);let n=new k,r=new k,i=new k;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return D.None;let a=new E,o={window:t,disposables:a.add(new E)};return e.set(t.vscodeWindowId,o),a.add(T(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(j(t,M.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:d},getDocument(e){return no(e).document}}})();function so(e){for(;e.firstChild;)e.firstChild.remove()}var Vte=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function j(e,t,n,r){return new Vte(e,t,n,r)}function co(e,t){return function(n){return t(new Nt(e,n))}}function Hte(e){return function(t){return e(new kt(t))}}var lo=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=co(no(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=Hte(n)),j(e,t,i,r)},Ute=function(e,t,n){return uo(e,co(no(e),t),n)};function uo(e,t,n){return j(e,et&>.pointerEvents?M.POINTER_DOWN:M.MOUSE_DOWN,t,n)}function Wte(e,t,n){return j(e,et&>.pointerEvents?M.POINTER_MOVE:M.MOUSE_MOVE,t,n)}function fo(e,t,n){return j(e,et&>.pointerEvents?M.POINTER_UP:M.MOUSE_UP,t,n)}function po(e,t,n){return vn(e,t,n)}var mo=class extends yn{constructor(e,t){super(e,t)}},ho,go,_o=class extends hn{constructor(e){super(),this.defaultTarget=e&&no(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},vo=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){C(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(vo.sort),a.shift().execute();r.set(i,!1)};go=(t,r,a=0)=>{let o=io(t),s=new vo(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s},ho=(e,n,i)=>{let a=io(e);if(r.get(a)){let e=new vo(n,i),r=t.get(a);return r||(r=[],t.set(a,r)),r.push(e),e}else return go(e,n,i)}})();function yo(e){return no(e).getComputedStyle(e,null)}function bo(e,t,n){let r=no(e),i=r.document;if(e!==i.body)return new So(e.clientWidth,e.clientHeight);if(et&&r?.visualViewport)return new So(r.visualViewport.width,r.visualViewport.height);if(r?.innerWidth&&r.innerHeight)return new So(r.innerWidth,r.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new So(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new So(i.documentElement.clientWidth,i.documentElement.clientHeight);throw Error(`Unable to figure out browser width and height`)}var xo=class e{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(t,n){let r=yo(t),i=r?r.getPropertyValue(n):`0`;return e.convertToPixels(t,i)}static getBorderLeftWidth(t){return e.getDimension(t,`border-left-width`)}static getBorderRightWidth(t){return e.getDimension(t,`border-right-width`)}static getBorderTopWidth(t){return e.getDimension(t,`border-top-width`)}static getBorderBottomWidth(t){return e.getDimension(t,`border-bottom-width`)}static getPaddingLeft(t){return e.getDimension(t,`padding-left`)}static getPaddingRight(t){return e.getDimension(t,`padding-right`)}static getPaddingTop(t){return e.getDimension(t,`padding-top`)}static getPaddingBottom(t){return e.getDimension(t,`padding-bottom`)}static getMarginLeft(t){return e.getDimension(t,`margin-left`)}static getMarginTop(t){return e.getDimension(t,`margin-top`)}static getMarginRight(t){return e.getDimension(t,`margin-right`)}static getMarginBottom(t){return e.getDimension(t,`margin-bottom`)}},So=class e{static{this.None=new e(0,0)}constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};function Co(e){let t=e.offsetParent,n=e.offsetTop,r=e.offsetLeft;for(;(e=e.parentNode)!==null&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){n-=e.scrollTop;let i=Po(e)?null:yo(e);i&&(r-=i.direction===`rtl`?-e.scrollLeft:e.scrollLeft),e===t&&(r+=xo.getBorderLeftWidth(e),n+=xo.getBorderTopWidth(e),n+=e.offsetTop,r+=e.offsetLeft,t=e.offsetParent)}return{left:r,top:n}}function wo(e,t,n){typeof t==`number`&&(e.style.width=`${t}px`),typeof n==`number`&&(e.style.height=`${n}px`)}function To(e){let t=e.getBoundingClientRect(),n=no(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}function Eo(e){let t=e,n=1;do{let e=yo(t).zoom;e!=null&&e!==`1`&&(n*=e),t=t.parentElement}while(t!==null&&t!==t.ownerDocument.documentElement);return n}function Do(e){let t=xo.getMarginLeft(e)+xo.getMarginRight(e);return e.offsetWidth+t}function Oo(e){let t=xo.getBorderLeftWidth(e)+xo.getBorderRightWidth(e),n=xo.getPaddingLeft(e)+xo.getPaddingRight(e);return e.offsetWidth-t-n}function ko(e){let t=xo.getBorderTopWidth(e)+xo.getBorderBottomWidth(e),n=xo.getPaddingTop(e)+xo.getPaddingBottom(e);return e.offsetHeight-t-n}function Ao(e){let t=xo.getMarginTop(e)+xo.getMarginBottom(e);return e.offsetHeight+t}function jo(e,t){return!!t?.contains(e)}function Mo(e,t,n){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(n){if(typeof n==`string`){if(e.classList.contains(n))return null}else if(e===n)return null}e=e.parentNode}return null}function No(e,t,n){return!!Mo(e,t,n)}function Po(e){return e&&!!e.host&&!!e.mode}function Fo(e){return!!Io(e)}function Io(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return Po(e)?e:null}function Lo(){let e=Bo().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Ro(e){return Lo()===e}function zo(e){return jo(Lo(),e)}function Bo(){return Rte()<=1?d.document:Array.from(ro()).map(({window:e})=>e.document).find(e=>e.hasFocus())??d.document}function Vo(){return Bo().defaultView?.window??d}var Ho=new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Si(n),a=r.get(i);if(a)a.users+=1;else{let o=new k,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(T(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};function Uo(e){return e instanceof HTMLElement||e instanceof no(e).HTMLElement}function Wo(e){return e instanceof HTMLAnchorElement||e instanceof no(e).HTMLAnchorElement}function Go(e){return e instanceof SVGElement||e instanceof no(e).SVGElement}function Ko(e){return e instanceof MouseEvent||e instanceof no(e).MouseEvent}function qo(e){return e instanceof KeyboardEvent||e instanceof no(e).KeyboardEvent}var M={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,KEY_DOWN:`keydown`,KEY_UP:`keyup`,BEFORE_UNLOAD:`beforeunload`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`};function Jo(e){let t=e;return!!(t&&typeof t.preventDefault==`function`&&typeof t.stopPropagation==`function`)}var Yo={stop:(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e)};function Gte(e){let t=[];for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t}function Kte(e,t){for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode}var qte=class e extends D{get onDidFocus(){return this._onDidFocus.event}get onDidBlur(){return this._onDidBlur.event}static hasFocusWithin(e){if(Uo(e)){let t=Io(e);return jo(t?t.activeElement:e.ownerDocument.activeElement,e)}else{let t=e;return jo(t.document.activeElement,t.document)}}constructor(t){super(),this._onDidFocus=this._register(new k),this._onDidBlur=this._register(new k);let n=e.hasFocusWithin(t),r=!1,i=()=>{r=!1,n||(n=!0,this._onDidFocus.fire())},a=()=>{n&&(r=!0,(Uo(t)?no(t):t).setTimeout(()=>{r&&(r=!1,n=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{e.hasFocusWithin(t)!==n&&(n?a():i())},this._register(j(t,M.FOCUS,i,!0)),this._register(j(t,M.BLUR,a,!0)),Uo(t)&&(this._register(j(t,M.FOCUS_IN,()=>this._refreshStateHandler())),this._register(j(t,M.FOCUS_OUT,()=>this._refreshStateHandler())))}};function Xo(e){return new qte(e)}function Jte(e,t){return e.after(t),t}function N(e,...t){if(e.append(...t),t.length===1&&typeof t[0]!=`string`)return t[0]}function Zo(e,t){return e.insertBefore(t,e.firstChild),t}function Qo(e,...t){e.textContent=``,N(e,...t)}var Yte=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/,$o;(function(e){e.HTML=`http://www.w3.org/1999/xhtml`,e.SVG=`http://www.w3.org/2000/svg`})($o||={});function es(e,t,n,...r){let i=Yte.exec(t);if(!i)throw Error(`Bad use of emmet`);let a=i[1]||`div`,o;return o=e===$o.HTML?document.createElement(a):document.createElementNS(e,a),i[3]&&(o.id=i[3]),i[4]&&(o.className=i[4].replace(/\./g,` `).trim()),n&&Object.entries(n).forEach(([e,t])=>{t!==void 0&&(/^on\w+$/.test(e)?o[e]=t:e===`selected`?t&&o.setAttribute(e,`true`):o.setAttribute(e,t))}),o.append(...r),o}function P(e,t,...n){return es($o.HTML,e,t,...n)}P.SVG=function(e,t,...n){return es($o.SVG,e,t,...n)};function Xte(e,...t){e?ts(...t):ns(...t)}function ts(...e){for(let t of e)t.style.display=``,t.removeAttribute(`aria-hidden`)}function ns(...e){for(let t of e)t.style.display=`none`,t.setAttribute(`aria-hidden`,`true`)}function rs(e,t){let n=e.devicePixelRatio*t;return Math.max(1,Math.floor(n))/e.devicePixelRatio}function is(e){d.open(e,`_blank`,`noopener`)}function Zte(e,t){let n=()=>{t(),r=go(e,n)},r=go(e,n);return T(()=>r.dispose())}ui.setPreferredWebSchema(/^https:/.test(d.location.href)?`https`:`http`);var as=class e extends k{constructor(){super(),this._subscriptions=new E,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(O.runAndSubscribe(oo,({window:e,disposables:t})=>this.registerListeners(e,t),{window:d,disposables:this._subscriptions}))}registerListeners(e,t){t.add(j(e,`keydown`,e=>{if(e.defaultPrevented)return;let t=new kt(e);if(!(t.keyCode===6&&e.repeat)){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed=`alt`;else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed=`ctrl`;else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed=`meta`;else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed=`shift`;else if(t.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}},!0)),t.add(j(e,`keyup`,e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased=`alt`:!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased=`ctrl`:!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased=`meta`:!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased=`shift`:this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))},!0)),t.add(j(e.document.body,`mousedown`,()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(j(e.document.body,`mouseup`,()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(j(e.document.body,`mousemove`,e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(j(e,`blur`,()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return e.instance||=new e,e.instance}dispose(){super.dispose(),this._subscriptions.dispose()}},Qte=class extends D{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(j(this.element,M.DRAG_START,e=>{this.callbacks.onDragStart?.(e)})),this.callbacks.onDrag&&this._register(j(this.element,M.DRAG,e=>{this.callbacks.onDrag?.(e)})),this._register(j(this.element,M.DRAG_ENTER,e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)})),this._register(j(this.element,M.DRAG_OVER,e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)})),this._register(j(this.element,M.DRAG_LEAVE,e=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))})),this._register(j(this.element,M.DRAG_END,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)})),this._register(j(this.element,M.DROP,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)}))}},$te=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function os(e,...t){let n,r;Array.isArray(t[0])?(n={},r=t[0]):(n=t[0]||{},r=t[1]);let i=$te.exec(e);if(!i||!i.groups)throw Error(`Bad use of h`);let a=i.groups.tag||`div`,o=document.createElement(a);i.groups.id&&(o.id=i.groups.id);let s=[];if(i.groups.class)for(let e of i.groups.class.split(`.`))e!==``&&s.push(e);if(n.className!==void 0)for(let e of n.className.split(`.`))e!==``&&s.push(e);s.length>0&&(o.className=s.join(` `));let c={};if(i.groups.name&&(c[i.groups.name]=o),r)for(let e of r)Uo(e)?o.appendChild(e):typeof e==`string`?o.append(e):`root`in e&&(Object.assign(c,e),o.appendChild(e.root));for(let[e,t]of Object.entries(n))if(e===`className`)continue;else if(e===`style`)for(let[e,n]of Object.entries(t))o.style.setProperty(ss(e),typeof n==`number`?n+`px`:``+n);else e===`tabIndex`?o.tabIndex=t:o.setAttribute(ss(e),t.toString());return c.root=o,c}function ss(e){return e.replace(/([a-z])([A-Z])/g,`$1-$2`).toLowerCase()}function cs(e){return e.tagName.toLowerCase()===`input`||e.tagName.toLowerCase()===`textarea`||Uo(e)&&!!e.editContext}var ls;(function(e){function t(e=void 0){return(t,n,r)=>{let i=n.class;delete n.class;let a=n.ref;delete n.ref;let o=n.obsRef;return delete n.obsRef,new nne(t,a,o,e,i,n,r)}}function n(e,n=void 0){let r=t(n);return(t,n)=>r(e,t,n)}e.div=n(`div`),e.elem=t(void 0),e.svg=n(`svg`,`http://www.w3.org/2000/svg`),e.svgElem=t(`http://www.w3.org/2000/svg`);function r(){let e,t=function(t){e=t};return Object.defineProperty(t,"element",{get(){if(!e)throw new w(`Make sure the ref is set before accessing the element. Maybe wrong initialization order?`);return e}}),t}e.ref=r})(ls||={});var ene=class e{constructor(t,n,r,i,a,o,s){this._deriveds=[],this._element=i?document.createElementNS(i,t):document.createElement(t),n&&n(this._element),r&&this._deriveds.push(A(e=>{r(this),e.store.add({dispose:()=>{r(null)}})})),a&&(ps(a)?this._deriveds.push(A(this,e=>{us(this._element,fs(a,e))})):us(this._element,fs(a,void 0)));for(let[e,t]of Object.entries(o))if(e===`style`)for(let[e,n]of Object.entries(t)){let t=ss(e);_s(n)?this._deriveds.push(Oa({owner:this,debugName:()=>`set.style.${t}`},e=>{this._element.style.setProperty(t,ms(n.read(e)))})):this._element.style.setProperty(t,ms(n))}else e===`tabIndex`?_s(t)?this._deriveds.push(A(this,e=>{this._element.tabIndex=t.read(e)})):this._element.tabIndex=t:e.startsWith(`on`)?this._element[e]=t:_s(t)?this._deriveds.push(Oa({owner:this,debugName:()=>`set.${e}`},n=>{gs(this._element,e,t.read(n))})):gs(this._element,e,t);if(s){function t(n,r){return _s(r)?t(n,r.read(n)):Array.isArray(r)?r.flatMap(e=>t(n,e)):r instanceof e?(n&&r.readEffect(n),[r._element]):r?[r]:[]}let n=A(this,e=>{this._element.replaceChildren(...t(e,s))});this._deriveds.push(n),hs(s)||n.get()}}readEffect(e){for(let t of this._deriveds)t.read(e)}keepUpdated(e){return A(e=>{this.readEffect(e)}).recomputeInitiallyAndOnChange(e),this}toDisposableLiveElement(){let e=new E;return this.keepUpdated(e),new tne(this._element,e)}};function us(e,t){Go(e)?e.setAttribute(`class`,t):e.className=t}function ds(e,t,n){if(_s(e)){n(e.read(t));return}if(Array.isArray(e)){for(let r of e)ds(r,t,n);return}n(e)}function fs(e,t){let n=``;return ds(e,t,e=>{e&&(n.length===0?n=e:n+=` `+e)}),n}function ps(e){return _s(e)?!0:Array.isArray(e)?e.some(e=>ps(e)):!1}function ms(e){return typeof e==`number`?e+`px`:e}function hs(e){return _s(e)?!0:Array.isArray(e)?e.some(e=>hs(e)):!1}var tne=class{constructor(e,t){this.element=e,this._disposable=t}dispose(){this._disposable.dispose()}},nne=class extends ene{constructor(){super(...arguments),this._isHovered=void 0,this._didMouseMoveDuringHover=void 0}get element(){return this._element}get isHovered(){if(!this._isHovered){let e=$a(`hovered`,!1);this._element.addEventListener(`mouseenter`,t=>e.set(!0,void 0)),this._element.addEventListener(`mouseleave`,t=>e.set(!1,void 0)),this._isHovered=e}return this._isHovered}get didMouseMoveDuringHover(){if(!this._didMouseMoveDuringHover){let e=!1,t=$a(`didMouseMoveDuringHover`,!1);this._element.addEventListener(`mouseenter`,t=>{e=!0}),this._element.addEventListener(`mousemove`,n=>{e&&t.set(!0,void 0)}),this._element.addEventListener(`mouseleave`,n=>{e=!1,t.set(!1,void 0)}),this._didMouseMoveDuringHover=t}return this._didMouseMoveDuringHover}};function gs(e,t,n){n==null?e.removeAttribute(ss(t)):e.setAttribute(ss(t),String(n))}function _s(e){return!!e&&e.read!==void 0&&e.reportChanges!==void 0}var vs=2e4,ys,bs,xs,Ss,Cs;function rne(e){ys=document.createElement(`div`),ys.className=`monaco-aria-container`;let t=()=>{let e=document.createElement(`div`);return e.className=`monaco-alert`,e.setAttribute(`role`,`alert`),e.setAttribute(`aria-atomic`,`true`),ys.appendChild(e),e};bs=t(),xs=t();let n=()=>{let e=document.createElement(`div`);return e.className=`monaco-status`,e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),ys.appendChild(e),e};Ss=n(),Cs=n(),e.appendChild(ys)}function ws(e){ys&&(bs.textContent===e?(so(bs),Es(xs,e)):(so(xs),Es(bs,e)))}function Ts(e){ys&&(Ss.textContent===e?(so(Ss),Es(Cs,e)):(so(Cs),Es(Ss,e)))}function Es(e,t){so(e),t.length>vs&&(t=t.substr(0,vs)),e.textContent=t,e.style.visibility=`hidden`,e.style.visibility=`visible`}var Ds;(function(e){e.serviceIds=new Map,e.DI_TARGET=`$di$target`,e.DI_DEPENDENCIES=`$di$dependencies`;function t(t){return t[e.DI_DEPENDENCIES]||[]}e.getServiceDependencies=t})(Ds||={});var Os=ks(`instantiationService`);function ine(e,t,n){t[Ds.DI_TARGET]===t?t[Ds.DI_DEPENDENCIES].push({id:e,index:n}):(t[Ds.DI_DEPENDENCIES]=[{id:e,index:n}],t[Ds.DI_TARGET]=t)}function ks(e){if(Ds.serviceIds.has(e))return Ds.serviceIds.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ine(t,e,r)};return t.toString=()=>e,Ds.serviceIds.set(e,t),t}var As=ks(`codeEditorService`),F=class e{constructor(e,t){this.lineNumber=e,this.column=t}with(t=this.lineNumber,n=this.column){return t===this.lineNumber&&n===this.column?this:new e(t,n)}delta(e=0,t=0){return this.with(Math.max(1,this.lineNumber+e),Math.max(1,this.column+t))}equals(t){return e.equals(this,t)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(t){return e.isBefore(this,t)}static isBefore(e,t){return e.lineNumbere.run(...t)}}var Rs=Object.create(null);function I(e,t){if(ye(t)){let n=Rs[t];if(n===void 0)throw Error(`${e} references an unknown codicon: ${t}`);t=n}return Rs[e]=t,{id:e}}function zs(){return Rs}var one={add:I(`add`,6e4),plus:I(`plus`,6e4),gistNew:I(`gist-new`,6e4),repoCreate:I(`repo-create`,6e4),lightbulb:I(`lightbulb`,60001),lightBulb:I(`light-bulb`,60001),repo:I(`repo`,60002),repoDelete:I(`repo-delete`,60002),gistFork:I(`gist-fork`,60003),repoForked:I(`repo-forked`,60003),gitPullRequest:I(`git-pull-request`,60004),gitPullRequestAbandoned:I(`git-pull-request-abandoned`,60004),recordKeys:I(`record-keys`,60005),keyboard:I(`keyboard`,60005),tag:I(`tag`,60006),gitPullRequestLabel:I(`git-pull-request-label`,60006),tagAdd:I(`tag-add`,60006),tagRemove:I(`tag-remove`,60006),person:I(`person`,60007),personFollow:I(`person-follow`,60007),personOutline:I(`person-outline`,60007),personFilled:I(`person-filled`,60007),sourceControl:I(`source-control`,60008),mirror:I(`mirror`,60009),mirrorPublic:I(`mirror-public`,60009),star:I(`star`,60010),starAdd:I(`star-add`,60010),starDelete:I(`star-delete`,60010),starEmpty:I(`star-empty`,60010),comment:I(`comment`,60011),commentAdd:I(`comment-add`,60011),alert:I(`alert`,60012),warning:I(`warning`,60012),search:I(`search`,60013),searchSave:I(`search-save`,60013),logOut:I(`log-out`,60014),signOut:I(`sign-out`,60014),logIn:I(`log-in`,60015),signIn:I(`sign-in`,60015),eye:I(`eye`,60016),eyeUnwatch:I(`eye-unwatch`,60016),eyeWatch:I(`eye-watch`,60016),circleFilled:I(`circle-filled`,60017),primitiveDot:I(`primitive-dot`,60017),closeDirty:I(`close-dirty`,60017),debugBreakpoint:I(`debug-breakpoint`,60017),debugBreakpointDisabled:I(`debug-breakpoint-disabled`,60017),debugHint:I(`debug-hint`,60017),terminalDecorationSuccess:I(`terminal-decoration-success`,60017),primitiveSquare:I(`primitive-square`,60018),edit:I(`edit`,60019),pencil:I(`pencil`,60019),info:I(`info`,60020),issueOpened:I(`issue-opened`,60020),gistPrivate:I(`gist-private`,60021),gitForkPrivate:I(`git-fork-private`,60021),lock:I(`lock`,60021),mirrorPrivate:I(`mirror-private`,60021),close:I(`close`,60022),removeClose:I(`remove-close`,60022),x:I(`x`,60022),repoSync:I(`repo-sync`,60023),sync:I(`sync`,60023),clone:I(`clone`,60024),desktopDownload:I(`desktop-download`,60024),beaker:I(`beaker`,60025),microscope:I(`microscope`,60025),vm:I(`vm`,60026),deviceDesktop:I(`device-desktop`,60026),file:I(`file`,60027),more:I(`more`,60028),ellipsis:I(`ellipsis`,60028),kebabHorizontal:I(`kebab-horizontal`,60028),mailReply:I(`mail-reply`,60029),reply:I(`reply`,60029),organization:I(`organization`,60030),organizationFilled:I(`organization-filled`,60030),organizationOutline:I(`organization-outline`,60030),newFile:I(`new-file`,60031),fileAdd:I(`file-add`,60031),newFolder:I(`new-folder`,60032),fileDirectoryCreate:I(`file-directory-create`,60032),trash:I(`trash`,60033),trashcan:I(`trashcan`,60033),history:I(`history`,60034),clock:I(`clock`,60034),folder:I(`folder`,60035),fileDirectory:I(`file-directory`,60035),symbolFolder:I(`symbol-folder`,60035),logoGithub:I(`logo-github`,60036),markGithub:I(`mark-github`,60036),github:I(`github`,60036),terminal:I(`terminal`,60037),console:I(`console`,60037),repl:I(`repl`,60037),zap:I(`zap`,60038),symbolEvent:I(`symbol-event`,60038),error:I(`error`,60039),stop:I(`stop`,60039),variable:I(`variable`,60040),symbolVariable:I(`symbol-variable`,60040),array:I(`array`,60042),symbolArray:I(`symbol-array`,60042),symbolModule:I(`symbol-module`,60043),symbolPackage:I(`symbol-package`,60043),symbolNamespace:I(`symbol-namespace`,60043),symbolObject:I(`symbol-object`,60043),symbolMethod:I(`symbol-method`,60044),symbolFunction:I(`symbol-function`,60044),symbolConstructor:I(`symbol-constructor`,60044),symbolBoolean:I(`symbol-boolean`,60047),symbolNull:I(`symbol-null`,60047),symbolNumeric:I(`symbol-numeric`,60048),symbolNumber:I(`symbol-number`,60048),symbolStructure:I(`symbol-structure`,60049),symbolStruct:I(`symbol-struct`,60049),symbolParameter:I(`symbol-parameter`,60050),symbolTypeParameter:I(`symbol-type-parameter`,60050),symbolKey:I(`symbol-key`,60051),symbolText:I(`symbol-text`,60051),symbolReference:I(`symbol-reference`,60052),goToFile:I(`go-to-file`,60052),symbolEnum:I(`symbol-enum`,60053),symbolValue:I(`symbol-value`,60053),symbolRuler:I(`symbol-ruler`,60054),symbolUnit:I(`symbol-unit`,60054),activateBreakpoints:I(`activate-breakpoints`,60055),archive:I(`archive`,60056),arrowBoth:I(`arrow-both`,60057),arrowDown:I(`arrow-down`,60058),arrowLeft:I(`arrow-left`,60059),arrowRight:I(`arrow-right`,60060),arrowSmallDown:I(`arrow-small-down`,60061),arrowSmallLeft:I(`arrow-small-left`,60062),arrowSmallRight:I(`arrow-small-right`,60063),arrowSmallUp:I(`arrow-small-up`,60064),arrowUp:I(`arrow-up`,60065),bell:I(`bell`,60066),bold:I(`bold`,60067),book:I(`book`,60068),bookmark:I(`bookmark`,60069),debugBreakpointConditionalUnverified:I(`debug-breakpoint-conditional-unverified`,60070),debugBreakpointConditional:I(`debug-breakpoint-conditional`,60071),debugBreakpointConditionalDisabled:I(`debug-breakpoint-conditional-disabled`,60071),debugBreakpointDataUnverified:I(`debug-breakpoint-data-unverified`,60072),debugBreakpointData:I(`debug-breakpoint-data`,60073),debugBreakpointDataDisabled:I(`debug-breakpoint-data-disabled`,60073),debugBreakpointLogUnverified:I(`debug-breakpoint-log-unverified`,60074),debugBreakpointLog:I(`debug-breakpoint-log`,60075),debugBreakpointLogDisabled:I(`debug-breakpoint-log-disabled`,60075),briefcase:I(`briefcase`,60076),broadcast:I(`broadcast`,60077),browser:I(`browser`,60078),bug:I(`bug`,60079),calendar:I(`calendar`,60080),caseSensitive:I(`case-sensitive`,60081),check:I(`check`,60082),checklist:I(`checklist`,60083),chevronDown:I(`chevron-down`,60084),chevronLeft:I(`chevron-left`,60085),chevronRight:I(`chevron-right`,60086),chevronUp:I(`chevron-up`,60087),chromeClose:I(`chrome-close`,60088),chromeMaximize:I(`chrome-maximize`,60089),chromeMinimize:I(`chrome-minimize`,60090),chromeRestore:I(`chrome-restore`,60091),circleOutline:I(`circle-outline`,60092),circle:I(`circle`,60092),debugBreakpointUnverified:I(`debug-breakpoint-unverified`,60092),terminalDecorationIncomplete:I(`terminal-decoration-incomplete`,60092),circleSlash:I(`circle-slash`,60093),circuitBoard:I(`circuit-board`,60094),clearAll:I(`clear-all`,60095),clippy:I(`clippy`,60096),closeAll:I(`close-all`,60097),cloudDownload:I(`cloud-download`,60098),cloudUpload:I(`cloud-upload`,60099),code:I(`code`,60100),collapseAll:I(`collapse-all`,60101),colorMode:I(`color-mode`,60102),commentDiscussion:I(`comment-discussion`,60103),creditCard:I(`credit-card`,60105),dash:I(`dash`,60108),dashboard:I(`dashboard`,60109),database:I(`database`,60110),debugContinue:I(`debug-continue`,60111),debugDisconnect:I(`debug-disconnect`,60112),debugPause:I(`debug-pause`,60113),debugRestart:I(`debug-restart`,60114),debugStart:I(`debug-start`,60115),debugStepInto:I(`debug-step-into`,60116),debugStepOut:I(`debug-step-out`,60117),debugStepOver:I(`debug-step-over`,60118),debugStop:I(`debug-stop`,60119),debug:I(`debug`,60120),deviceCameraVideo:I(`device-camera-video`,60121),deviceCamera:I(`device-camera`,60122),deviceMobile:I(`device-mobile`,60123),diffAdded:I(`diff-added`,60124),diffIgnored:I(`diff-ignored`,60125),diffModified:I(`diff-modified`,60126),diffRemoved:I(`diff-removed`,60127),diffRenamed:I(`diff-renamed`,60128),diff:I(`diff`,60129),diffSidebyside:I(`diff-sidebyside`,60129),discard:I(`discard`,60130),editorLayout:I(`editor-layout`,60131),emptyWindow:I(`empty-window`,60132),exclude:I(`exclude`,60133),extensions:I(`extensions`,60134),eyeClosed:I(`eye-closed`,60135),fileBinary:I(`file-binary`,60136),fileCode:I(`file-code`,60137),fileMedia:I(`file-media`,60138),filePdf:I(`file-pdf`,60139),fileSubmodule:I(`file-submodule`,60140),fileSymlinkDirectory:I(`file-symlink-directory`,60141),fileSymlinkFile:I(`file-symlink-file`,60142),fileZip:I(`file-zip`,60143),files:I(`files`,60144),filter:I(`filter`,60145),flame:I(`flame`,60146),foldDown:I(`fold-down`,60147),foldUp:I(`fold-up`,60148),fold:I(`fold`,60149),folderActive:I(`folder-active`,60150),folderOpened:I(`folder-opened`,60151),gear:I(`gear`,60152),gift:I(`gift`,60153),gistSecret:I(`gist-secret`,60154),gist:I(`gist`,60155),gitCommit:I(`git-commit`,60156),gitCompare:I(`git-compare`,60157),compareChanges:I(`compare-changes`,60157),gitMerge:I(`git-merge`,60158),githubAction:I(`github-action`,60159),githubAlt:I(`github-alt`,60160),globe:I(`globe`,60161),grabber:I(`grabber`,60162),graph:I(`graph`,60163),gripper:I(`gripper`,60164),heart:I(`heart`,60165),home:I(`home`,60166),horizontalRule:I(`horizontal-rule`,60167),hubot:I(`hubot`,60168),inbox:I(`inbox`,60169),issueReopened:I(`issue-reopened`,60171),issues:I(`issues`,60172),italic:I(`italic`,60173),jersey:I(`jersey`,60174),json:I(`json`,60175),kebabVertical:I(`kebab-vertical`,60176),key:I(`key`,60177),law:I(`law`,60178),lightbulbAutofix:I(`lightbulb-autofix`,60179),linkExternal:I(`link-external`,60180),link:I(`link`,60181),listOrdered:I(`list-ordered`,60182),listUnordered:I(`list-unordered`,60183),liveShare:I(`live-share`,60184),loading:I(`loading`,60185),location:I(`location`,60186),mailRead:I(`mail-read`,60187),mail:I(`mail`,60188),markdown:I(`markdown`,60189),megaphone:I(`megaphone`,60190),mention:I(`mention`,60191),milestone:I(`milestone`,60192),gitPullRequestMilestone:I(`git-pull-request-milestone`,60192),mortarBoard:I(`mortar-board`,60193),move:I(`move`,60194),multipleWindows:I(`multiple-windows`,60195),mute:I(`mute`,60196),noNewline:I(`no-newline`,60197),note:I(`note`,60198),octoface:I(`octoface`,60199),openPreview:I(`open-preview`,60200),package:I(`package`,60201),paintcan:I(`paintcan`,60202),pin:I(`pin`,60203),play:I(`play`,60204),run:I(`run`,60204),plug:I(`plug`,60205),preserveCase:I(`preserve-case`,60206),preview:I(`preview`,60207),project:I(`project`,60208),pulse:I(`pulse`,60209),question:I(`question`,60210),quote:I(`quote`,60211),radioTower:I(`radio-tower`,60212),reactions:I(`reactions`,60213),references:I(`references`,60214),refresh:I(`refresh`,60215),regex:I(`regex`,60216),remoteExplorer:I(`remote-explorer`,60217),remote:I(`remote`,60218),remove:I(`remove`,60219),replaceAll:I(`replace-all`,60220),replace:I(`replace`,60221),repoClone:I(`repo-clone`,60222),repoForcePush:I(`repo-force-push`,60223),repoPull:I(`repo-pull`,60224),repoPush:I(`repo-push`,60225),report:I(`report`,60226),requestChanges:I(`request-changes`,60227),rocket:I(`rocket`,60228),rootFolderOpened:I(`root-folder-opened`,60229),rootFolder:I(`root-folder`,60230),rss:I(`rss`,60231),ruby:I(`ruby`,60232),saveAll:I(`save-all`,60233),saveAs:I(`save-as`,60234),save:I(`save`,60235),screenFull:I(`screen-full`,60236),screenNormal:I(`screen-normal`,60237),searchStop:I(`search-stop`,60238),server:I(`server`,60240),settingsGear:I(`settings-gear`,60241),settings:I(`settings`,60242),shield:I(`shield`,60243),smiley:I(`smiley`,60244),sortPrecedence:I(`sort-precedence`,60245),splitHorizontal:I(`split-horizontal`,60246),splitVertical:I(`split-vertical`,60247),squirrel:I(`squirrel`,60248),starFull:I(`star-full`,60249),starHalf:I(`star-half`,60250),symbolClass:I(`symbol-class`,60251),symbolColor:I(`symbol-color`,60252),symbolConstant:I(`symbol-constant`,60253),symbolEnumMember:I(`symbol-enum-member`,60254),symbolField:I(`symbol-field`,60255),symbolFile:I(`symbol-file`,60256),symbolInterface:I(`symbol-interface`,60257),symbolKeyword:I(`symbol-keyword`,60258),symbolMisc:I(`symbol-misc`,60259),symbolOperator:I(`symbol-operator`,60260),symbolProperty:I(`symbol-property`,60261),wrench:I(`wrench`,60261),wrenchSubaction:I(`wrench-subaction`,60261),symbolSnippet:I(`symbol-snippet`,60262),tasklist:I(`tasklist`,60263),telescope:I(`telescope`,60264),textSize:I(`text-size`,60265),threeBars:I(`three-bars`,60266),thumbsdown:I(`thumbsdown`,60267),thumbsup:I(`thumbsup`,60268),tools:I(`tools`,60269),triangleDown:I(`triangle-down`,60270),triangleLeft:I(`triangle-left`,60271),triangleRight:I(`triangle-right`,60272),triangleUp:I(`triangle-up`,60273),twitter:I(`twitter`,60274),unfold:I(`unfold`,60275),unlock:I(`unlock`,60276),unmute:I(`unmute`,60277),unverified:I(`unverified`,60278),verified:I(`verified`,60279),versions:I(`versions`,60280),vmActive:I(`vm-active`,60281),vmOutline:I(`vm-outline`,60282),vmRunning:I(`vm-running`,60283),watch:I(`watch`,60284),whitespace:I(`whitespace`,60285),wholeWord:I(`whole-word`,60286),window:I(`window`,60287),wordWrap:I(`word-wrap`,60288),zoomIn:I(`zoom-in`,60289),zoomOut:I(`zoom-out`,60290),listFilter:I(`list-filter`,60291),listFlat:I(`list-flat`,60292),listSelection:I(`list-selection`,60293),selection:I(`selection`,60293),listTree:I(`list-tree`,60294),debugBreakpointFunctionUnverified:I(`debug-breakpoint-function-unverified`,60295),debugBreakpointFunction:I(`debug-breakpoint-function`,60296),debugBreakpointFunctionDisabled:I(`debug-breakpoint-function-disabled`,60296),debugStackframeActive:I(`debug-stackframe-active`,60297),circleSmallFilled:I(`circle-small-filled`,60298),debugStackframeDot:I(`debug-stackframe-dot`,60298),terminalDecorationMark:I(`terminal-decoration-mark`,60298),debugStackframe:I(`debug-stackframe`,60299),debugStackframeFocused:I(`debug-stackframe-focused`,60299),debugBreakpointUnsupported:I(`debug-breakpoint-unsupported`,60300),symbolString:I(`symbol-string`,60301),debugReverseContinue:I(`debug-reverse-continue`,60302),debugStepBack:I(`debug-step-back`,60303),debugRestartFrame:I(`debug-restart-frame`,60304),debugAlt:I(`debug-alt`,60305),callIncoming:I(`call-incoming`,60306),callOutgoing:I(`call-outgoing`,60307),menu:I(`menu`,60308),expandAll:I(`expand-all`,60309),feedback:I(`feedback`,60310),gitPullRequestReviewer:I(`git-pull-request-reviewer`,60310),groupByRefType:I(`group-by-ref-type`,60311),ungroupByRefType:I(`ungroup-by-ref-type`,60312),account:I(`account`,60313),gitPullRequestAssignee:I(`git-pull-request-assignee`,60313),bellDot:I(`bell-dot`,60314),debugConsole:I(`debug-console`,60315),library:I(`library`,60316),output:I(`output`,60317),runAll:I(`run-all`,60318),syncIgnored:I(`sync-ignored`,60319),pinned:I(`pinned`,60320),githubInverted:I(`github-inverted`,60321),serverProcess:I(`server-process`,60322),serverEnvironment:I(`server-environment`,60323),pass:I(`pass`,60324),issueClosed:I(`issue-closed`,60324),stopCircle:I(`stop-circle`,60325),playCircle:I(`play-circle`,60326),record:I(`record`,60327),debugAltSmall:I(`debug-alt-small`,60328),vmConnect:I(`vm-connect`,60329),cloud:I(`cloud`,60330),merge:I(`merge`,60331),export:I(`export`,60332),graphLeft:I(`graph-left`,60333),magnet:I(`magnet`,60334),notebook:I(`notebook`,60335),redo:I(`redo`,60336),checkAll:I(`check-all`,60337),pinnedDirty:I(`pinned-dirty`,60338),passFilled:I(`pass-filled`,60339),circleLargeFilled:I(`circle-large-filled`,60340),circleLarge:I(`circle-large`,60341),circleLargeOutline:I(`circle-large-outline`,60341),combine:I(`combine`,60342),gather:I(`gather`,60342),table:I(`table`,60343),variableGroup:I(`variable-group`,60344),typeHierarchy:I(`type-hierarchy`,60345),typeHierarchySub:I(`type-hierarchy-sub`,60346),typeHierarchySuper:I(`type-hierarchy-super`,60347),gitPullRequestCreate:I(`git-pull-request-create`,60348),runAbove:I(`run-above`,60349),runBelow:I(`run-below`,60350),notebookTemplate:I(`notebook-template`,60351),debugRerun:I(`debug-rerun`,60352),workspaceTrusted:I(`workspace-trusted`,60353),workspaceUntrusted:I(`workspace-untrusted`,60354),workspaceUnknown:I(`workspace-unknown`,60355),terminalCmd:I(`terminal-cmd`,60356),terminalDebian:I(`terminal-debian`,60357),terminalLinux:I(`terminal-linux`,60358),terminalPowershell:I(`terminal-powershell`,60359),terminalTmux:I(`terminal-tmux`,60360),terminalUbuntu:I(`terminal-ubuntu`,60361),terminalBash:I(`terminal-bash`,60362),arrowSwap:I(`arrow-swap`,60363),copy:I(`copy`,60364),personAdd:I(`person-add`,60365),filterFilled:I(`filter-filled`,60366),wand:I(`wand`,60367),debugLineByLine:I(`debug-line-by-line`,60368),inspect:I(`inspect`,60369),layers:I(`layers`,60370),layersDot:I(`layers-dot`,60371),layersActive:I(`layers-active`,60372),compass:I(`compass`,60373),compassDot:I(`compass-dot`,60374),compassActive:I(`compass-active`,60375),azure:I(`azure`,60376),issueDraft:I(`issue-draft`,60377),gitPullRequestClosed:I(`git-pull-request-closed`,60378),gitPullRequestDraft:I(`git-pull-request-draft`,60379),debugAll:I(`debug-all`,60380),debugCoverage:I(`debug-coverage`,60381),runErrors:I(`run-errors`,60382),folderLibrary:I(`folder-library`,60383),debugContinueSmall:I(`debug-continue-small`,60384),beakerStop:I(`beaker-stop`,60385),graphLine:I(`graph-line`,60386),graphScatter:I(`graph-scatter`,60387),pieChart:I(`pie-chart`,60388),bracket:I(`bracket`,60175),bracketDot:I(`bracket-dot`,60389),bracketError:I(`bracket-error`,60390),lockSmall:I(`lock-small`,60391),azureDevops:I(`azure-devops`,60392),verifiedFilled:I(`verified-filled`,60393),newline:I(`newline`,60394),layout:I(`layout`,60395),layoutActivitybarLeft:I(`layout-activitybar-left`,60396),layoutActivitybarRight:I(`layout-activitybar-right`,60397),layoutPanelLeft:I(`layout-panel-left`,60398),layoutPanelCenter:I(`layout-panel-center`,60399),layoutPanelJustify:I(`layout-panel-justify`,60400),layoutPanelRight:I(`layout-panel-right`,60401),layoutPanel:I(`layout-panel`,60402),layoutSidebarLeft:I(`layout-sidebar-left`,60403),layoutSidebarRight:I(`layout-sidebar-right`,60404),layoutStatusbar:I(`layout-statusbar`,60405),layoutMenubar:I(`layout-menubar`,60406),layoutCentered:I(`layout-centered`,60407),target:I(`target`,60408),indent:I(`indent`,60409),recordSmall:I(`record-small`,60410),errorSmall:I(`error-small`,60411),terminalDecorationError:I(`terminal-decoration-error`,60411),arrowCircleDown:I(`arrow-circle-down`,60412),arrowCircleLeft:I(`arrow-circle-left`,60413),arrowCircleRight:I(`arrow-circle-right`,60414),arrowCircleUp:I(`arrow-circle-up`,60415),layoutSidebarRightOff:I(`layout-sidebar-right-off`,60416),layoutPanelOff:I(`layout-panel-off`,60417),layoutSidebarLeftOff:I(`layout-sidebar-left-off`,60418),blank:I(`blank`,60419),heartFilled:I(`heart-filled`,60420),map:I(`map`,60421),mapHorizontal:I(`map-horizontal`,60421),foldHorizontal:I(`fold-horizontal`,60421),mapFilled:I(`map-filled`,60422),mapHorizontalFilled:I(`map-horizontal-filled`,60422),foldHorizontalFilled:I(`fold-horizontal-filled`,60422),circleSmall:I(`circle-small`,60423),bellSlash:I(`bell-slash`,60424),bellSlashDot:I(`bell-slash-dot`,60425),commentUnresolved:I(`comment-unresolved`,60426),gitPullRequestGoToChanges:I(`git-pull-request-go-to-changes`,60427),gitPullRequestNewChanges:I(`git-pull-request-new-changes`,60428),searchFuzzy:I(`search-fuzzy`,60429),commentDraft:I(`comment-draft`,60430),send:I(`send`,60431),sparkle:I(`sparkle`,60432),insert:I(`insert`,60433),mic:I(`mic`,60434),thumbsdownFilled:I(`thumbsdown-filled`,60435),thumbsupFilled:I(`thumbsup-filled`,60436),coffee:I(`coffee`,60437),snake:I(`snake`,60438),game:I(`game`,60439),vr:I(`vr`,60440),chip:I(`chip`,60441),piano:I(`piano`,60442),music:I(`music`,60443),micFilled:I(`mic-filled`,60444),repoFetch:I(`repo-fetch`,60445),copilot:I(`copilot`,60446),lightbulbSparkle:I(`lightbulb-sparkle`,60447),robot:I(`robot`,60448),sparkleFilled:I(`sparkle-filled`,60449),diffSingle:I(`diff-single`,60450),diffMultiple:I(`diff-multiple`,60451),surroundWith:I(`surround-with`,60452),share:I(`share`,60453),gitStash:I(`git-stash`,60454),gitStashApply:I(`git-stash-apply`,60455),gitStashPop:I(`git-stash-pop`,60456),vscode:I(`vscode`,60457),vscodeInsiders:I(`vscode-insiders`,60458),codeOss:I(`code-oss`,60459),runCoverage:I(`run-coverage`,60460),runAllCoverage:I(`run-all-coverage`,60461),coverage:I(`coverage`,60462),githubProject:I(`github-project`,60463),mapVertical:I(`map-vertical`,60464),foldVertical:I(`fold-vertical`,60464),mapVerticalFilled:I(`map-vertical-filled`,60465),foldVerticalFilled:I(`fold-vertical-filled`,60465),goToSearch:I(`go-to-search`,60466),percentage:I(`percentage`,60467),sortPercentage:I(`sort-percentage`,60467),attach:I(`attach`,60468),goToEditingSession:I(`go-to-editing-session`,60469),editSession:I(`edit-session`,60470),codeReview:I(`code-review`,60471),copilotWarning:I(`copilot-warning`,60472),python:I(`python`,60473),copilotLarge:I(`copilot-large`,60474),copilotWarningLarge:I(`copilot-warning-large`,60475),keyboardTab:I(`keyboard-tab`,60476),copilotBlocked:I(`copilot-blocked`,60477),copilotNotConnected:I(`copilot-not-connected`,60478),flag:I(`flag`,60479),lightbulbEmpty:I(`lightbulb-empty`,60480),symbolMethodArrow:I(`symbol-method-arrow`,60481),copilotUnavailable:I(`copilot-unavailable`,60482),repoPinned:I(`repo-pinned`,60483),keyboardTabAbove:I(`keyboard-tab-above`,60484),keyboardTabBelow:I(`keyboard-tab-below`,60485),gitPullRequestDone:I(`git-pull-request-done`,60486),mcp:I(`mcp`,60487),extensionsLarge:I(`extensions-large`,60488),layoutPanelDock:I(`layout-panel-dock`,60489),layoutSidebarLeftDock:I(`layout-sidebar-left-dock`,60490),layoutSidebarRightDock:I(`layout-sidebar-right-dock`,60491),copilotInProgress:I(`copilot-in-progress`,60492),copilotError:I(`copilot-error`,60493),copilotSuccess:I(`copilot-success`,60494),chatSparkle:I(`chat-sparkle`,60495),searchSparkle:I(`search-sparkle`,60496),editSparkle:I(`edit-sparkle`,60497),copilotSnooze:I(`copilot-snooze`,60498),sendToRemoteAgent:I(`send-to-remote-agent`,60499),commentDiscussionSparkle:I(`comment-discussion-sparkle`,60500),chatSparkleWarning:I(`chat-sparkle-warning`,60501),chatSparkleError:I(`chat-sparkle-error`,60502),collection:I(`collection`,60503),newCollection:I(`new-collection`,60504),thinking:I(`thinking`,60505),build:I(`build`,60506),commentDiscussionQuote:I(`comment-discussion-quote`,60507),cursor:I(`cursor`,60508),eraser:I(`eraser`,60509),fileText:I(`file-text`,60510),gitLens:I(`git-lens`,60511),quotes:I(`quotes`,60512),rename:I(`rename`,60513),runWithDeps:I(`run-with-deps`,60514),debugConnected:I(`debug-connected`,60515),strikethrough:I(`strikethrough`,60516),openInProduct:I(`open-in-product`,60517),indexZero:I(`index-zero`,60518),agent:I(`agent`,60519),editCode:I(`edit-code`,60520),repoSelected:I(`repo-selected`,60521),skip:I(`skip`,60522),mergeInto:I(`merge-into`,60523),gitBranchChanges:I(`git-branch-changes`,60524),gitBranchStagedChanges:I(`git-branch-staged-changes`,60525),gitBranchConflicts:I(`git-branch-conflicts`,60526),gitBranch:I(`git-branch`,60527),gitBranchCreate:I(`git-branch-create`,60527),gitBranchDelete:I(`git-branch-delete`,60527),searchLarge:I(`search-large`,60528),terminalGitBash:I(`terminal-git-bash`,60529)},sne={dialogError:I(`dialog-error`,`error`),dialogWarning:I(`dialog-warning`,`warning`),dialogInfo:I(`dialog-info`,`info`),dialogClose:I(`dialog-close`,`close`),treeItemExpanded:I(`tree-item-expanded`,`chevron-down`),treeFilterOnTypeOn:I(`tree-filter-on-type-on`,`list-filter`),treeFilterOnTypeOff:I(`tree-filter-on-type-off`,`list-selection`),treeFilterClear:I(`tree-filter-clear`,`close`),treeItemLoading:I(`tree-item-loading`,`loading`),menuSelection:I(`menu-selection`,`check`),menuSubmenu:I(`menu-submenu`,`chevron-right`),menuBarMore:I(`menubar-more`,`more`),scrollbarButtonLeft:I(`scrollbar-button-left`,`triangle-left`),scrollbarButtonRight:I(`scrollbar-button-right`,`triangle-right`),scrollbarButtonUp:I(`scrollbar-button-up`,`triangle-up`),scrollbarButtonDown:I(`scrollbar-button-down`,`triangle-down`),toolBarMore:I(`toolbar-more`,`more`),quickInputBack:I(`quick-input-back`,`arrow-left`),dropDownButton:I(`drop-down-button`,60084),symbolCustomColor:I(`symbol-customcolor`,60252),exportIcon:I(`export`,60332),workspaceUnspecified:I(`workspace-unspecified`,60355),newLine:I(`newline`,60394),thumbsDownFilled:I(`thumbsdown-filled`,60435),thumbsUpFilled:I(`thumbsup-filled`,60436),gitFetch:I(`git-fetch`,60445),lightbulbSparkleAutofix:I(`lightbulb-sparkle-autofix`,60447),debugBreakpointPending:I(`debug-breakpoint-pending`,60377)},L={...one,...sne},Bs;(function(e){function t(e){return!!e&&typeof e==`object`&&typeof e.id==`string`}e.isThemeColor=t})(Bs||={});var Vs;(function(e){e.iconNameSegment=`[A-Za-z0-9]+`,e.iconNameExpression=`[A-Za-z0-9-]+`,e.iconModifierExpression=`~[A-Za-z]+`,e.iconNameCharacter=`[A-Za-z0-9~-]`;let t=RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){let r=t.exec(e.id);if(!r)return n(L.error);let[,i,a]=r,o=[`codicon`,`codicon-`+i];return a&&o.push(`codicon-modifier-`+a.substring(1)),o}e.asClassNameArray=n;function r(e){return n(e).join(` `)}e.asClassName=r;function i(e){return`.`+n(e).join(`.`)}e.asCSSSelector=i;function a(e){return!!e&&typeof e==`object`&&typeof e.id==`string`&&(e.color===void 0||Bs.isThemeColor(e.color))}e.isThemeIcon=a;let o=RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);function s(e){let t=o.exec(e);if(!t)return;let[,n]=t;return{id:n}}e.fromString=s;function c(e){return{id:e}}e.fromId=c;function l(e,t){let n=e.id,r=n.lastIndexOf(`~`);return r!==-1&&(n=n.substring(0,r)),t&&(n=`${n}~${t}`),{id:n}}e.modify=l;function u(e){let t=e.id.lastIndexOf(`~`);if(t!==-1)return e.id.substring(t+1)}e.getModifier=u;function d(e,t){return e.id===t.id&&e.color?.id===t.color?.id}e.isEqual=d;function f(e){return e?.id===L.file.id}e.isFile=f;function p(e){return e?.id===L.folder.id}e.isFolder=p})(Vs||={});var Hs=ks(`commandService`),Us=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new k,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw Error(`invalid command`);if(typeof e==`string`){if(!t)throw Error(`invalid command`);return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){let t=[];for(let n of e.metadata.args)t.push(n.constraint);let n=e.handler;e.handler=function(e,...r){return Me(r,t),n(e,...r)}}let{id:n}=e,r=this._commands.get(n);r||(r=new Gt,this._commands.set(n,r));let i=r.unshift(e),a=T(()=>{i(),this._commands.get(n)?.isEmpty()&&this._commands.delete(n)});return this._onDidRegisterCommand.fire(n),Lt(a)}registerCommandAlias(e,t){return Us.registerCommand(e,(e,...n)=>e.get(Hs).executeCommand(t,...n))}getCommand(e){let t=this._commands.get(e);if(!(!t||t.isEmpty()))return It.first(t)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let n=this.getCommand(t);n&&e.set(t,n)}return e}};Us.registerCommand(`noop`,()=>{});function Ws(...e){switch(e.length){case 1:return s(1693,`Did you mean {0}?`,e[0]);case 2:return s(1694,`Did you mean {0} or {1}?`,e[0],e[1]);case 3:return s(1695,`Did you mean {0}, {1} or {2}?`,e[0],e[1],e[2]);default:return}}var cne=s(1696,`Did you forget to open or close the quote?`),lne=s(1697,`Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.`),Gs=class e{constructor(){this._input=``,this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return`(`;case 1:return`)`;case 2:return`!`;case 3:return e.isTripleEq?`===`:`==`;case 4:return e.isTripleEq?`!==`:`!=`;case 5:return`<`;case 6:return`<=`;case 7:return`>=`;case 8:return`>=`;case 9:return`=~`;case 10:return e.lexeme;case 11:return`true`;case 12:return`false`;case 13:return`in`;case 14:return`not`;case 15:return`&&`;case 16:return`||`;case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return`EOF`;default:throw ue(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set([`i`,`g`,`s`,`m`,`y`,`u`].map(e=>e.charCodeAt(0)))}static{this._keywords=new Map([[`not`,14],[`in`,13],[`false`,12],[`true`,11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){let e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(Ws(`==`,`=~`));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(Ws(`&&`));break;case 124:this._match(124)?this._addToken(16):this._error(Ws(`||`));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){let t=this._start,n=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;let t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;let n=this._input.substring(this._start,this._current),r=e._keywords.get(n);r?this._addToken(r):this._tokens.push({type:17,lexeme:n,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(cne);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let t=this._current,n=!1,r=!1;for(;;){if(t>=this._input.length){this._current=t,this._error(lne);return}let e=this._input.charCodeAt(t);if(n)n=!1;else if(e===47&&!r){t++;break}else e===91?r=!0:e===92?n=!0:e===93&&(r=!1);t++}for(;t=this._input.length}},Ks=new Map;Ks.set(`false`,!1),Ks.set(`true`,!0),Ks.set(`isMac`,Ye),Ks.set(`isLinux`,Xe),Ks.set(`isWindows`,Je),Ks.set(`isWeb`,Qe),Ks.set(`isMacNative`,Ye&&!Qe),Ks.set(`isEdge`,mt),Ks.set(`isFirefox`,ft),Ks.set(`isChrome`,dt),Ks.set(`isSafari`,pt);var une=Object.prototype.hasOwnProperty,dne={regexParsingWithErrorRecovery:!0},fne=s(1675,`Empty context key expression`),pne=s(1676,`Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.`),mne=s(1677,`'in' after 'not'.`),qs=s(1678,`closing parenthesis ')'`),hne=s(1679,`Unexpected token`),gne=s(1680,`Did you forget to put && or || before the token?`),_ne=s(1681,`Unexpected end of expression`),vne=s(1682,`Did you forget to put a context key?`),yne=class e{static{this._parseError=Error()}constructor(e=dne){this._config=e,this._scanner=new Gs,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(t===``){this._parsingErrors.push({message:fne,offset:0,lexeme:``,additionalInfo:pne});return}this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{let t=this._expr();if(!this._isAtEnd()){let t=this._peek(),n=t.type===17?gne:void 0;throw this._parsingErrors.push({message:hne,offset:t.offset,lexeme:Gs.getLexeme(t),additionalInfo:n}),e._parseError}return t}catch(t){if(t!==e._parseError)throw t;return}}_expr(){return this._or()}_or(){let e=[this._and()];for(;this._matchOne(16);){let t=this._and();e.push(t)}return e.length===1?e[0]:R.or(...e)}_and(){let e=[this._term()];for(;this._matchOne(15);){let t=this._term();e.push(t)}return e.length===1?e[0]:R.and(...e)}_term(){if(this._matchOne(2)){let e=this._peek();switch(e.type){case 11:return this._advance(),Ys.INSTANCE;case 12:return this._advance(),Xs.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,qs),e?.negate()}case 17:return this._advance(),nc.create(e.lexeme);default:throw this._errExpectedButGot(`KEY | true | false | '(' expression ')'`,e)}}return this._primary()}_primary(){let t=this._peek();switch(t.type){case 11:return this._advance(),R.true();case 12:return this._advance(),R.false();case 0:{this._advance();let e=this._expr();return this._consume(1,qs),e}case 17:{let e=t.lexeme;if(this._advance(),this._matchOne(9)){let t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),t.type!==10)throw this._errExpectedButGot(`REGEX`,t);let n=t.lexeme,r=n.lastIndexOf(`/`),i=r===n.length-1?void 0:this._removeFlagsGY(n.substring(r+1)),a;try{a=new RegExp(n.substring(1,r),i)}catch{throw this._errExpectedButGot(`REGEX`,t)}return cc.create(e,a)}switch(t.type){case 10:case 19:{let n=[t.lexeme];this._advance();let r=this._peek(),i=0;for(let e=0;e=0){let a=n.slice(e+1,i),o=n[i+1]===`i`?`i`:``;try{r=new RegExp(a,o)}catch{throw this._errExpectedButGot(`REGEX`,t)}}}if(r===null)throw this._errExpectedButGot(`REGEX`,t);return cc.create(e,r)}default:throw this._errExpectedButGot(`REGEX`,this._peek())}}if(this._matchOne(14)){this._consume(13,mne);let t=this._value();return R.notIn(e,t)}switch(this._peek().type){case 3:{this._advance();let t=this._value();if(this._previous().type===18)return R.equals(e,t);switch(t){case`true`:return R.has(e);case`false`:return R.not(e);default:return R.equals(e,t)}}case 4:{this._advance();let t=this._value();if(this._previous().type===18)return R.notEquals(e,t);switch(t){case`true`:return R.not(e);case`false`:return R.has(e);default:return R.notEquals(e,t)}}case 5:return this._advance(),oc.create(e,this._value());case 6:return this._advance(),sc.create(e,this._value());case 7:return this._advance(),ic.create(e,this._value());case 8:return this._advance(),ac.create(e,this._value());case 13:return this._advance(),R.in(e,this._value());default:return R.has(e)}}case 20:throw this._parsingErrors.push({message:_ne,offset:t.offset,lexeme:``,additionalInfo:vne}),e._parseError;default:throw this._errExpectedButGot(`true | false | KEY + | KEY '=~' REGEX + | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),`true`;case 12:return this._advance(),`false`;case 13:return this._advance(),`in`;default:return``}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,``)}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(t,n,r){let i=s(1683,`Expected: {0} +Received: '{1}'.`,t,Gs.getLexeme(n)),a=n.offset,o=Gs.getLexeme(n);return this._parsingErrors.push({message:i,offset:a,lexeme:o,additionalInfo:r}),e._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},R=class{static false(){return Ys.INSTANCE}static true(){return Xs.INSTANCE}static has(e){return Zs.create(e)}static equals(e,t){return Qs.create(e,t)}static notEquals(e,t){return tc.create(e,t)}static regex(e,t){return cc.create(e,t)}static in(e,t){return $s.create(e,t)}static notIn(e,t){return ec.create(e,t)}static not(e){return nc.create(e)}static and(...e){return uc.create(e,null,!0)}static or(...e){return dc.create(e,null,!0)}static{this._parser=new yne({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(e!=null)return this._parser.parse(e)}};function bne(e,t){let n=e?e.substituteConstants():void 0,r=t?t.substituteConstants():void 0;return!n&&!r?!0:!n||!r?!1:n.equals(r)}function Js(e,t){return e.cmp(t)}var Ys=class e{static{this.INSTANCE=new e}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return`false`}keys(){return[]}negate(){return Xs.INSTANCE}},Xs=class e{static{this.INSTANCE=new e}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return`true`}keys(){return[]}negate(){return Ys.INSTANCE}},Zs=class e{static create(t,n=null){let r=Ks.get(t);return typeof r==`boolean`?r?Xs.INSTANCE:Ys.INSTANCE:new e(t,n)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type===this.type?pc(this.key,e.key):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){let e=Ks.get(this.key);return typeof e==`boolean`?e?Xs.INSTANCE:Ys.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||=nc.create(this.key,this),this.negated}},Qs=class e{static create(t,n,r=null){if(typeof n==`boolean`)return n?Zs.create(t,r):nc.create(t,r);let i=Ks.get(t);return typeof i==`boolean`?n===(i?`true`:`false`)?Xs.INSTANCE:Ys.INSTANCE:new e(t,n,r)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){let e=Ks.get(this.key);if(typeof e==`boolean`){let t=e?`true`:`false`;return this.value===t?Xs.INSTANCE:Ys.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||=tc.create(this.key,this.value,this),this.negated}},$s=class e{static create(t,n){return new e(t,n)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type===this.type?mc(this.key,this.valueKey,e.key,e.valueKey):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):typeof n==`string`&&typeof t==`object`&&t?une.call(t,n):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||=ec.create(this.key,this.valueKey),this.negated}},ec=class e{static create(t,n){return new e(t,n)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=$s.create(e,t)}cmp(e){return e.type===this.type?this._negated.cmp(e._negated):this.type-e.type}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}},tc=class e{static create(t,n,r=null){if(typeof n==`boolean`)return n?nc.create(t,r):Zs.create(t,r);let i=Ks.get(t);return typeof i==`boolean`?n===(i?`true`:`false`)?Ys.INSTANCE:Xs.INSTANCE:new e(t,n,r)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){let e=Ks.get(this.key);if(typeof e==`boolean`){let t=e?`true`:`false`;return this.value===t?Ys.INSTANCE:Xs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||=Qs.create(this.key,this.value,this),this.negated}},nc=class e{static create(t,n=null){let r=Ks.get(t);return typeof r==`boolean`?r?Ys.INSTANCE:Xs.INSTANCE:new e(t,n)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type===this.type?pc(this.key,e.key):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){let e=Ks.get(this.key);return typeof e==`boolean`?e?Ys.INSTANCE:Xs.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||=Zs.create(this.key,this),this.negated}};function rc(e,t){if(typeof e==`string`){let t=parseFloat(e);isNaN(t)||(e=t)}return typeof e==`string`||typeof e==`number`?t(e):Ys.INSTANCE}var ic=class e{static create(t,n,r=null){return rc(n,n=>new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||=sc.create(this.key,this.value,this),this.negated}},ac=class e{static create(t,n,r=null){return rc(n,n=>new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||=oc.create(this.key,this.value,this),this.negated}},oc=class e{static create(t,n,r=null){return rc(n,n=>new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||=ic.create(this.key,this.value,this),this.negated}},cc=class e{static create(t,n){return new e(t,n)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;let t=this.regexp?this.regexp.source:``,n=e.regexp?e.regexp.source:``;return tn)}equals(e){if(e.type===this.type){let t=this.regexp?this.regexp.source:``,n=e.regexp?e.regexp.source:``;return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){let e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:`/invalid/`;return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||=xne.create(this),this.negated}},xne=class e{static create(t){return new e(t)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type===this.type?this._actual.cmp(e._actual):this.type-e.type}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}};function lc(e){let t=null;for(let n=0,r=e.length;ne.expr.length)return 1;for(let t=0,n=this.expr.length;t1;){let t=i[i.length-1];if(t.type!==9)break;i.pop();let n=i.pop(),a=i.length===0,o=dc.create(t.expr.map(t=>e.create([t,n],null,r)),null,a);o&&(i.push(o),i.sort(Js))}if(i.length===1)return i[0];if(r){for(let e=0;ee.serialize()).join(` && `)}keys(){let e=[];for(let t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){let e=[];for(let t of this.expr)e.push(t.negate());this.negated=dc.create(e,this,!0)}return this.negated}},dc=class e{static create(t,n,r){return e._normalizeArr(t,n,r)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,n=this.expr.length;te.serialize()).join(` || `)}keys(){let e=[];for(let t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());for(;t.length>1;){let n=t.shift(),r=t.shift(),i=[];for(let e of _c(n))for(let t of _c(r))i.push(uc.create([e,t],null,!1));t.unshift(e.create(i,null,!1))}this.negated=e.create(t,this,!0)}return this.negated}},z=class e extends Zs{static{this._info=[]}static all(){return e._info.values()}constructor(t,n,r){super(t,null),this._defaultValue=n,typeof r==`object`?e._info.push({...r,key:t}):r!==!0&&e._info.push({key:t,description:r,type:n==null?void 0:typeof n})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return Qs.create(this.key,e)}},fc=ks(`contextKeyService`);function pc(e,t){return et)}function mc(e,t,n,r){return en?1:tr)}function hc(e,t){if(e.type===0||t.type===1)return!0;if(e.type===9)return t.type===9?gc(e.expr,t.expr):!1;if(t.type===9){for(let n of t.expr)if(hc(e,n))return!0;return!1}if(e.type===6){if(t.type===6)return gc(t.expr,e.expr);for(let n of e.expr)if(hc(n,t))return!0;return!1}return e.equals(t)}function gc(e,t){let n=0,r=0;for(;n{je(e.dispose)&&e.dispose()}),this.data.clear()}},yc=new class e{constructor(){this._coreKeybindings=new Gt,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(e){if(st===1){if(e&&e.win)return e.win}else if(st===2){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e}registerKeybindingRule(t){let n=e.bindToCurrentPlatform(t),r=new E;if(n&&n.primary){let e=Tt(n.primary,st);e&&r.add(this._registerDefaultKeybinding(e,t.id,t.args,t.weight,0,t.when))}if(n&&Array.isArray(n.secondary))for(let e=0,i=n.secondary.length;e{o(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(bc)),this._cachedMergedKeybindings.slice(0)}};vc.add({EditorModes:`platform.keybindingsRegistry`}.EditorModes,yc);function bc(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}var Sne=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xc=function(e,t){return function(n,r){t(n,r,e)}},Sc;function Cc(e){return e.command!==void 0}function Cne(e){return e.submenu!==void 0}var B=class e{static{this._instances=new Map}static{this.CommandPalette=new e(`CommandPalette`)}static{this.DebugBreakpointsContext=new e(`DebugBreakpointsContext`)}static{this.DebugCallStackContext=new e(`DebugCallStackContext`)}static{this.DebugConsoleContext=new e(`DebugConsoleContext`)}static{this.DebugVariablesContext=new e(`DebugVariablesContext`)}static{this.NotebookVariablesContext=new e(`NotebookVariablesContext`)}static{this.DebugHoverContext=new e(`DebugHoverContext`)}static{this.DebugWatchContext=new e(`DebugWatchContext`)}static{this.DebugToolBar=new e(`DebugToolBar`)}static{this.DebugToolBarStop=new e(`DebugToolBarStop`)}static{this.DebugDisassemblyContext=new e(`DebugDisassemblyContext`)}static{this.DebugCallStackToolbar=new e(`DebugCallStackToolbar`)}static{this.DebugCreateConfiguration=new e(`DebugCreateConfiguration`)}static{this.EditorContext=new e(`EditorContext`)}static{this.SimpleEditorContext=new e(`SimpleEditorContext`)}static{this.EditorContent=new e(`EditorContent`)}static{this.EditorLineNumberContext=new e(`EditorLineNumberContext`)}static{this.EditorContextCopy=new e(`EditorContextCopy`)}static{this.EditorContextPeek=new e(`EditorContextPeek`)}static{this.EditorContextShare=new e(`EditorContextShare`)}static{this.EditorTitle=new e(`EditorTitle`)}static{this.CompactWindowEditorTitle=new e(`CompactWindowEditorTitle`)}static{this.EditorTitleRun=new e(`EditorTitleRun`)}static{this.EditorTitleContext=new e(`EditorTitleContext`)}static{this.EditorTitleContextShare=new e(`EditorTitleContextShare`)}static{this.EmptyEditorGroup=new e(`EmptyEditorGroup`)}static{this.EmptyEditorGroupContext=new e(`EmptyEditorGroupContext`)}static{this.EditorTabsBarContext=new e(`EditorTabsBarContext`)}static{this.EditorTabsBarShowTabsSubmenu=new e(`EditorTabsBarShowTabsSubmenu`)}static{this.EditorTabsBarShowTabsZenModeSubmenu=new e(`EditorTabsBarShowTabsZenModeSubmenu`)}static{this.EditorActionsPositionSubmenu=new e(`EditorActionsPositionSubmenu`)}static{this.EditorSplitMoveSubmenu=new e(`EditorSplitMoveSubmenu`)}static{this.ExplorerContext=new e(`ExplorerContext`)}static{this.ExplorerContextShare=new e(`ExplorerContextShare`)}static{this.ExtensionContext=new e(`ExtensionContext`)}static{this.ExtensionEditorContextMenu=new e(`ExtensionEditorContextMenu`)}static{this.GlobalActivity=new e(`GlobalActivity`)}static{this.CommandCenter=new e(`CommandCenter`)}static{this.CommandCenterCenter=new e(`CommandCenterCenter`)}static{this.LayoutControlMenuSubmenu=new e(`LayoutControlMenuSubmenu`)}static{this.LayoutControlMenu=new e(`LayoutControlMenu`)}static{this.MenubarMainMenu=new e(`MenubarMainMenu`)}static{this.MenubarAppearanceMenu=new e(`MenubarAppearanceMenu`)}static{this.MenubarDebugMenu=new e(`MenubarDebugMenu`)}static{this.MenubarEditMenu=new e(`MenubarEditMenu`)}static{this.MenubarCopy=new e(`MenubarCopy`)}static{this.MenubarFileMenu=new e(`MenubarFileMenu`)}static{this.MenubarGoMenu=new e(`MenubarGoMenu`)}static{this.MenubarHelpMenu=new e(`MenubarHelpMenu`)}static{this.MenubarLayoutMenu=new e(`MenubarLayoutMenu`)}static{this.MenubarNewBreakpointMenu=new e(`MenubarNewBreakpointMenu`)}static{this.PanelAlignmentMenu=new e(`PanelAlignmentMenu`)}static{this.PanelPositionMenu=new e(`PanelPositionMenu`)}static{this.ActivityBarPositionMenu=new e(`ActivityBarPositionMenu`)}static{this.MenubarPreferencesMenu=new e(`MenubarPreferencesMenu`)}static{this.MenubarRecentMenu=new e(`MenubarRecentMenu`)}static{this.MenubarSelectionMenu=new e(`MenubarSelectionMenu`)}static{this.MenubarShare=new e(`MenubarShare`)}static{this.MenubarSwitchEditorMenu=new e(`MenubarSwitchEditorMenu`)}static{this.MenubarSwitchGroupMenu=new e(`MenubarSwitchGroupMenu`)}static{this.MenubarTerminalMenu=new e(`MenubarTerminalMenu`)}static{this.MenubarTerminalSuggestStatusMenu=new e(`MenubarTerminalSuggestStatusMenu`)}static{this.MenubarViewMenu=new e(`MenubarViewMenu`)}static{this.MenubarHomeMenu=new e(`MenubarHomeMenu`)}static{this.OpenEditorsContext=new e(`OpenEditorsContext`)}static{this.OpenEditorsContextShare=new e(`OpenEditorsContextShare`)}static{this.ProblemsPanelContext=new e(`ProblemsPanelContext`)}static{this.SCMInputBox=new e(`SCMInputBox`)}static{this.SCMChangeContext=new e(`SCMChangeContext`)}static{this.SCMResourceContext=new e(`SCMResourceContext`)}static{this.SCMResourceContextShare=new e(`SCMResourceContextShare`)}static{this.SCMResourceFolderContext=new e(`SCMResourceFolderContext`)}static{this.SCMResourceGroupContext=new e(`SCMResourceGroupContext`)}static{this.SCMSourceControl=new e(`SCMSourceControl`)}static{this.SCMSourceControlInline=new e(`SCMSourceControlInline`)}static{this.SCMSourceControlTitle=new e(`SCMSourceControlTitle`)}static{this.SCMHistoryTitle=new e(`SCMHistoryTitle`)}static{this.SCMHistoryItemContext=new e(`SCMHistoryItemContext`)}static{this.SCMHistoryItemChangeContext=new e(`SCMHistoryItemChangeContext`)}static{this.SCMHistoryItemRefContext=new e(`SCMHistoryItemRefContext`)}static{this.SCMArtifactGroupContext=new e(`SCMArtifactGroupContext`)}static{this.SCMArtifactContext=new e(`SCMArtifactContext`)}static{this.SCMQuickDiffDecorations=new e(`SCMQuickDiffDecorations`)}static{this.SCMTitle=new e(`SCMTitle`)}static{this.SearchContext=new e(`SearchContext`)}static{this.SearchActionMenu=new e(`SearchActionContext`)}static{this.StatusBarWindowIndicatorMenu=new e(`StatusBarWindowIndicatorMenu`)}static{this.StatusBarRemoteIndicatorMenu=new e(`StatusBarRemoteIndicatorMenu`)}static{this.StickyScrollContext=new e(`StickyScrollContext`)}static{this.TestItem=new e(`TestItem`)}static{this.TestItemGutter=new e(`TestItemGutter`)}static{this.TestProfilesContext=new e(`TestProfilesContext`)}static{this.TestMessageContext=new e(`TestMessageContext`)}static{this.TestMessageContent=new e(`TestMessageContent`)}static{this.TestPeekElement=new e(`TestPeekElement`)}static{this.TestPeekTitle=new e(`TestPeekTitle`)}static{this.TestCallStack=new e(`TestCallStack`)}static{this.TestCoverageFilterItem=new e(`TestCoverageFilterItem`)}static{this.TouchBarContext=new e(`TouchBarContext`)}static{this.TitleBar=new e(`TitleBar`)}static{this.TitleBarContext=new e(`TitleBarContext`)}static{this.TitleBarTitleContext=new e(`TitleBarTitleContext`)}static{this.TunnelContext=new e(`TunnelContext`)}static{this.TunnelPrivacy=new e(`TunnelPrivacy`)}static{this.TunnelProtocol=new e(`TunnelProtocol`)}static{this.TunnelPortInline=new e(`TunnelInline`)}static{this.TunnelTitle=new e(`TunnelTitle`)}static{this.TunnelLocalAddressInline=new e(`TunnelLocalAddressInline`)}static{this.TunnelOriginInline=new e(`TunnelOriginInline`)}static{this.ViewItemContext=new e(`ViewItemContext`)}static{this.ViewContainerTitle=new e(`ViewContainerTitle`)}static{this.ViewContainerTitleContext=new e(`ViewContainerTitleContext`)}static{this.ViewTitle=new e(`ViewTitle`)}static{this.ViewTitleContext=new e(`ViewTitleContext`)}static{this.CommentEditorActions=new e(`CommentEditorActions`)}static{this.CommentThreadTitle=new e(`CommentThreadTitle`)}static{this.CommentThreadActions=new e(`CommentThreadActions`)}static{this.CommentThreadAdditionalActions=new e(`CommentThreadAdditionalActions`)}static{this.CommentThreadTitleContext=new e(`CommentThreadTitleContext`)}static{this.CommentThreadCommentContext=new e(`CommentThreadCommentContext`)}static{this.CommentTitle=new e(`CommentTitle`)}static{this.CommentActions=new e(`CommentActions`)}static{this.CommentsViewThreadActions=new e(`CommentsViewThreadActions`)}static{this.InteractiveToolbar=new e(`InteractiveToolbar`)}static{this.InteractiveCellTitle=new e(`InteractiveCellTitle`)}static{this.InteractiveCellDelete=new e(`InteractiveCellDelete`)}static{this.InteractiveCellExecute=new e(`InteractiveCellExecute`)}static{this.InteractiveInputExecute=new e(`InteractiveInputExecute`)}static{this.InteractiveInputConfig=new e(`InteractiveInputConfig`)}static{this.ReplInputExecute=new e(`ReplInputExecute`)}static{this.IssueReporter=new e(`IssueReporter`)}static{this.NotebookToolbar=new e(`NotebookToolbar`)}static{this.NotebookToolbarContext=new e(`NotebookToolbarContext`)}static{this.NotebookStickyScrollContext=new e(`NotebookStickyScrollContext`)}static{this.NotebookCellTitle=new e(`NotebookCellTitle`)}static{this.NotebookCellDelete=new e(`NotebookCellDelete`)}static{this.NotebookCellInsert=new e(`NotebookCellInsert`)}static{this.NotebookCellBetween=new e(`NotebookCellBetween`)}static{this.NotebookCellListTop=new e(`NotebookCellTop`)}static{this.NotebookCellExecute=new e(`NotebookCellExecute`)}static{this.NotebookCellExecuteGoTo=new e(`NotebookCellExecuteGoTo`)}static{this.NotebookCellExecutePrimary=new e(`NotebookCellExecutePrimary`)}static{this.NotebookDiffCellInputTitle=new e(`NotebookDiffCellInputTitle`)}static{this.NotebookDiffDocumentMetadata=new e(`NotebookDiffDocumentMetadata`)}static{this.NotebookDiffCellMetadataTitle=new e(`NotebookDiffCellMetadataTitle`)}static{this.NotebookDiffCellOutputsTitle=new e(`NotebookDiffCellOutputsTitle`)}static{this.NotebookOutputToolbar=new e(`NotebookOutputToolbar`)}static{this.NotebookOutlineFilter=new e(`NotebookOutlineFilter`)}static{this.NotebookOutlineActionMenu=new e(`NotebookOutlineActionMenu`)}static{this.NotebookEditorLayoutConfigure=new e(`NotebookEditorLayoutConfigure`)}static{this.NotebookKernelSource=new e(`NotebookKernelSource`)}static{this.BulkEditTitle=new e(`BulkEditTitle`)}static{this.BulkEditContext=new e(`BulkEditContext`)}static{this.TimelineItemContext=new e(`TimelineItemContext`)}static{this.TimelineTitle=new e(`TimelineTitle`)}static{this.TimelineTitleContext=new e(`TimelineTitleContext`)}static{this.TimelineFilterSubMenu=new e(`TimelineFilterSubMenu`)}static{this.AccountsContext=new e(`AccountsContext`)}static{this.SidebarTitle=new e(`SidebarTitle`)}static{this.PanelTitle=new e(`PanelTitle`)}static{this.AuxiliaryBarTitle=new e(`AuxiliaryBarTitle`)}static{this.TerminalInstanceContext=new e(`TerminalInstanceContext`)}static{this.TerminalEditorInstanceContext=new e(`TerminalEditorInstanceContext`)}static{this.TerminalNewDropdownContext=new e(`TerminalNewDropdownContext`)}static{this.TerminalTabContext=new e(`TerminalTabContext`)}static{this.TerminalTabEmptyAreaContext=new e(`TerminalTabEmptyAreaContext`)}static{this.TerminalStickyScrollContext=new e(`TerminalStickyScrollContext`)}static{this.WebviewContext=new e(`WebviewContext`)}static{this.InlineCompletionsActions=new e(`InlineCompletionsActions`)}static{this.InlineEditsActions=new e(`InlineEditsActions`)}static{this.NewFile=new e(`NewFile`)}static{this.MergeInput1Toolbar=new e(`MergeToolbar1Toolbar`)}static{this.MergeInput2Toolbar=new e(`MergeToolbar2Toolbar`)}static{this.MergeBaseToolbar=new e(`MergeBaseToolbar`)}static{this.MergeInputResultToolbar=new e(`MergeToolbarResultToolbar`)}static{this.InlineSuggestionToolbar=new e(`InlineSuggestionToolbar`)}static{this.InlineEditToolbar=new e(`InlineEditToolbar`)}static{this.ChatContext=new e(`ChatContext`)}static{this.ChatCodeBlock=new e(`ChatCodeblock`)}static{this.ChatCompareBlock=new e(`ChatCompareBlock`)}static{this.ChatMessageTitle=new e(`ChatMessageTitle`)}static{this.ChatHistory=new e(`ChatHistory`)}static{this.ChatWelcomeContext=new e(`ChatWelcomeContext`)}static{this.ChatMessageFooter=new e(`ChatMessageFooter`)}static{this.ChatExecute=new e(`ChatExecute`)}static{this.ChatInput=new e(`ChatInput`)}static{this.ChatInputSide=new e(`ChatInputSide`)}static{this.ChatModePicker=new e(`ChatModePicker`)}static{this.ChatEditingWidgetToolbar=new e(`ChatEditingWidgetToolbar`)}static{this.ChatEditingEditorContent=new e(`ChatEditingEditorContent`)}static{this.ChatEditingEditorHunk=new e(`ChatEditingEditorHunk`)}static{this.ChatEditingDeletedNotebookCell=new e(`ChatEditingDeletedNotebookCell`)}static{this.ChatInputAttachmentToolbar=new e(`ChatInputAttachmentToolbar`)}static{this.ChatEditingWidgetModifiedFilesToolbar=new e(`ChatEditingWidgetModifiedFilesToolbar`)}static{this.ChatInputResourceAttachmentContext=new e(`ChatInputResourceAttachmentContext`)}static{this.ChatInputSymbolAttachmentContext=new e(`ChatInputSymbolAttachmentContext`)}static{this.ChatInlineResourceAnchorContext=new e(`ChatInlineResourceAnchorContext`)}static{this.ChatInlineSymbolAnchorContext=new e(`ChatInlineSymbolAnchorContext`)}static{this.ChatMessageCheckpoint=new e(`ChatMessageCheckpoint`)}static{this.ChatMessageRestoreCheckpoint=new e(`ChatMessageRestoreCheckpoint`)}static{this.ChatNewMenu=new e(`ChatNewMenu`)}static{this.ChatEditingCodeBlockContext=new e(`ChatEditingCodeBlockContext`)}static{this.ChatTitleBarMenu=new e(`ChatTitleBarMenu`)}static{this.ChatAttachmentsContext=new e(`ChatAttachmentsContext`)}static{this.ChatToolOutputResourceToolbar=new e(`ChatToolOutputResourceToolbar`)}static{this.ChatTextEditorMenu=new e(`ChatTextEditorMenu`)}static{this.ChatToolOutputResourceContext=new e(`ChatToolOutputResourceContext`)}static{this.ChatMultiDiffContext=new e(`ChatMultiDiffContext`)}static{this.ChatSessionsMenu=new e(`ChatSessionsMenu`)}static{this.ChatSessionsCreateSubMenu=new e(`ChatSessionsCreateSubMenu`)}static{this.ChatConfirmationMenu=new e(`ChatConfirmationMenu`)}static{this.ChatEditorInlineExecute=new e(`ChatEditorInputExecute`)}static{this.ChatEditorInlineInputSide=new e(`ChatEditorInputSide`)}static{this.AccessibleView=new e(`AccessibleView`)}static{this.MultiDiffEditorFileToolbar=new e(`MultiDiffEditorFileToolbar`)}static{this.DiffEditorHunkToolbar=new e(`DiffEditorHunkToolbar`)}static{this.DiffEditorSelectionToolbar=new e(`DiffEditorSelectionToolbar`)}constructor(t){if(e._instances.has(t))throw TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);e._instances.set(t,this),this.id=t}},wc=ks(`menuService`),Tc=class e{static{this._all=new Map}static for(t){let n=this._all.get(t);return n||(n=new e(t),this._all.set(t,n)),n}static merge(t){let n=new Set;for(let r of t)r instanceof e&&n.add(r.id);return n}constructor(e){this.id=e,this.has=t=>t===e}},Ec=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new bee({merge:Tc.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(Tc.for(B.CommandPalette)),Lt(T(()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(Tc.for(B.CommandPalette))}))}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;return this._commands.forEach((t,n)=>e.set(n,t)),e}appendMenuItem(e,t){let n=this._menuItems.get(e);n||(n=new Gt,this._menuItems.set(e,n));let r=n.push(t);return this._onDidChangeMenu.fire(Tc.for(e)),Lt(T(()=>{r(),this._onDidChangeMenu.fire(Tc.for(e))}))}appendMenuItems(e){let t=new E;for(let{id:n,item:r}of e)t.add(this.appendMenuItem(n,r));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===B.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){let t=new Set;for(let n of e)Cc(n)&&(t.add(n.command.id),n.alt&&t.add(n.alt.id));this._commands.forEach((n,r)=>{t.has(r)||e.push({command:n})})}},Dc=class extends Is{constructor(e,t,n){super(`submenuitem.${e.submenu.id}`,typeof e.title==`string`?e.title:e.title.value,n,`submenu`),this.item=e,this.hideActions=t}},Oc=Sc=class{static label(e,t){return t?.renderShortTitle&&e.shortTitle?typeof e.shortTitle==`string`?e.shortTitle:e.shortTitle.value:typeof e.title==`string`?e.title:e.title.value}constructor(e,t,n,r,i,a,o){this.hideActions=r,this.menuKeybinding=i,this._commandService=o,this.id=e.id,this.label=Sc.label(e,n),this.tooltip=(typeof e.tooltip==`string`?e.tooltip:e.tooltip?.value)??``,this.enabled=!e.precondition||a.contextMatchesRules(e.precondition),this.checked=void 0;let s;if(e.toggled){let t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=a.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip=typeof t.tooltip==`string`?t.tooltip:t.tooltip.value),this.checked&&Vs.isThemeIcon(t.icon)&&(s=t.icon),this.checked&&t.title&&(this.label=typeof t.title==`string`?t.title:t.title.value)}s||=Vs.isThemeIcon(e.icon)?e.icon:void 0,this.item=e,this.alt=t?new Sc(t,void 0,n,r,void 0,a,o):void 0,this._options=n,this.class=s&&Vs.asClassName(s)}run(...e){let t=[];return this._options?.arg&&(t=[...t,this._options.arg]),this._options?.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};Oc=Sc=Sne([xc(5,fc),xc(6,Hs)],Oc);var kc=class{constructor(e){this.desc=e}};function Ac(e){let t=[],n=new e,{f1:r,menu:i,keybinding:a,...o}=n.desc;if(Us.getCommand(o.id))throw Error(`Cannot register two commands with the same id: ${o.id}`);if(t.push(Us.registerCommand({id:o.id,handler:(e,...t)=>n.run(e,...t),metadata:o.metadata??{description:n.desc.title}})),Array.isArray(i))for(let e of i)t.push(Ec.appendMenuItem(e.id,{command:{...o,precondition:e.precondition===null?void 0:o.precondition},...e}));else i&&t.push(Ec.appendMenuItem(i.id,{command:{...o,precondition:i.precondition===null?void 0:o.precondition},...i}));if(r&&(t.push(Ec.appendMenuItem(B.CommandPalette,{command:o,when:o.precondition})),t.push(Ec.addCommand(o))),Array.isArray(a))for(let e of a)t.push(yc.registerKeybindingRule({...e,id:o.id,when:o.precondition?R.and(o.precondition,e.when):e.when}));else a&&t.push(yc.registerKeybindingRule({...a,id:o.id,when:o.precondition?R.and(o.precondition,a.when):a.when}));return{dispose(){zt(t)}}}var jc=ks(`telemetryService`),Mc,Nc,Pc,wne=class{constructor(e,t){this.uri=e,this.value=t}};function Tne(e){return Array.isArray(e)}var Fc=class e{static{this.defaultToKey=e=>e.toString()}constructor(t,n){if(this[Mc]=`ResourceMap`,t instanceof e)this.map=new Map(t.map),this.toKey=n??e.defaultToKey;else if(Tne(t)){this.map=new Map,this.toKey=n??e.defaultToKey;for(let[e,n]of t)this.set(e,n)}else this.map=new Map,this.toKey=t??e.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new wne(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){t!==void 0&&(e=e.bind(t));for(let[t,n]of this.map)e(n.value,n.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(Mc=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},Ene=class{constructor(e,t){this[Nc]=`ResourceSet`,!e||typeof e==`function`?this._map=new Fc(e):(this._map=new Fc(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((n,r)=>e.call(t,r,r,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(Nc=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},Dne=class{constructor(){this[Pc]=`LinkedMap`,this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let n=this._map.get(e);if(n)return t!==0&&this.touch(n,t),n.value}set(e,t,n=0){let r=this._map.get(e);if(r)r.value=t,n!==0&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error(`Invalid list`);let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let n=this._state,r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw Error(`LinkedMap got modified during iteration.`);r=r.next}}keys(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw Error(`LinkedMap got modified during iteration.`);if(n){let e={value:n.key,done:!1};return n=n.next,e}else return{value:void 0,done:!0}}};return r}values(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw Error(`LinkedMap got modified during iteration.`);if(n){let e={value:n.value,done:!1};return n=n.next,e}else return{value:void 0,done:!0}}};return r}entries(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw Error(`LinkedMap got modified during iteration.`);if(n){let e={value:[n.key,n.value],done:!1};return n=n.next,e}else return{value:void 0,done:!0}}};return r}[(Pc=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw Error(`Invalid list`);this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error(`Invalid list`);this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error(`Invalid list`);e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error(`Invalid list`);e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,n=e.previous;if(!t||!n)throw Error(`Invalid list`);t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error(`Invalid list`);if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,n)=>{e.push([n,t])}),e}fromJSON(e){this.clear();for(let[t,n]of e)this.set(t,n)}},One=class extends Dne{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},Ic=class extends One{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}},kne=class{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(let[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){let t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}},Lc=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}},Rc=class{constructor(){this._data=new Map}set(e,...t){let n=this._data;for(let e=0;e{let r=``;for(let[i,a]of t)r+=`${` `.repeat(n)}${i}: `,a instanceof Map?r+=` +`+e(a,n+1):r+=`${a}\n`;return r};return e(this._data,0)}};function zc(e){return e===47||e===92}function Bc(e){return e.replace(/[\\/]/g,Wr.sep)}function Ane(e){return e.indexOf(`/`)===-1&&(e=Bc(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e=`/`+e),e}function Vc(e,t=Wr.sep){if(!e)return``;let n=e.length,r=e.charCodeAt(0);if(zc(r)){if(zc(e.charCodeAt(1))&&!zc(e.charCodeAt(2))){let r=3,i=r;for(;re.length)return!1;if(n){if(!Jn(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===r&&n--,e.charAt(n)===r}return t.charAt(t.length-1)!==r&&(t+=r),e.indexOf(t)===0}function Uc(e){return e>=65&&e<=90||e>=97&&e<=122}function jne(e,t=Je){return t?Uc(e.charCodeAt(0))&&e.charCodeAt(1)===58:!1}function Wc(e){return ni(e,!0)}var Gc=new class{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:Bn(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===si.file)return Hc(Wc(e),Wc(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(Zc(e.authority,t.authority))return Hc(e.path,t.path,this._ignorePathCasing(e),`/`)&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return Zr.joinPath(e,...t)}basenameOrAuthority(e){return qc(e)||e.authority}basename(e){return Wr.basename(e.path)}extname(e){return Wr.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===si.file?t=Zr.file(Kr(Wc(e))).path:(t=Wr.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t=`/`)),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===si.file?Zr.file(Gr(Wc(e))).path:Wr.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Zc(e.authority,t.authority))return;if(e.scheme===si.file){let n=Kee(Wc(e),Wc(t));return Je?Bc(n):n}let n=e.path||`/`,r=t.path||`/`;if(this._ignorePathCasing(e)){let e=0;for(let t=Math.min(n.length,r.length);eVc(n).length&&n[n.length-1]===t}else{let t=e.path;return t.length>1&&t.charCodeAt(t.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Jr){return Qc(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Jr){let n=!1;if(e.scheme===si.file){let r=Wc(e);n=r!==void 0&&r.length===Vc(r).length&&r[r.length-1]===t}else{t=`/`;let r=e.path;n=r.length===1&&r.charCodeAt(r.length-1)===47}return!n&&!Qc(e,t)?e.with({path:e.path+`/`}):e}}(()=>!1),Kc=Gc.isEqual.bind(Gc);Gc.isEqualOrParent.bind(Gc),Gc.getComparisonKey.bind(Gc);var Mne=Gc.basenameOrAuthority.bind(Gc),qc=Gc.basename.bind(Gc),Nne=Gc.extname.bind(Gc),Jc=Gc.dirname.bind(Gc),Yc=Gc.joinPath.bind(Gc),Pne=Gc.normalizePath.bind(Gc),Fne=Gc.relativePath.bind(Gc),Xc=Gc.resolvePath.bind(Gc);Gc.isAbsolutePath.bind(Gc);var Zc=Gc.isEqualAuthority.bind(Gc),Qc=Gc.hasTrailingPathSeparator.bind(Gc);Gc.removeTrailingPathSeparator.bind(Gc),Gc.addTrailingPathSeparator.bind(Gc);var $c;(function(e){e.META_DATA_LABEL=`label`,e.META_DATA_DESCRIPTION=`description`,e.META_DATA_SIZE=`size`,e.META_DATA_MIME=`mime`;function t(t){let n=new Map;t.path.substring(t.path.indexOf(`;`)+1,t.path.lastIndexOf(`;`)).split(`;`).forEach(e=>{let[t,r]=e.split(`:`);t&&r&&n.set(t,r)});let r=t.path.substring(0,t.path.indexOf(`;`));return r&&n.set(e.META_DATA_MIME,r),n}e.parseMetaData=t})($c||={});var el=ks(`logService`),tl=ks(`loggerService`),nl;(function(e){e[e.Off=0]=`Off`,e[e.Trace=1]=`Trace`,e[e.Debug=2]=`Debug`,e[e.Info=3]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=5]=`Error`})(nl||={});var rl=nl.Info;function il(e,t){return e!==nl.Off&&e<=t}var al=class extends D{constructor(){super(...arguments),this.level=rl,this._onDidChangeLogLevel=this._register(new k)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return il(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},ol=class extends al{constructor(e=rl,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.canLog(nl.Trace)&&(this.useColors?console.log(`%cTRACE`,`color: #888`,e,...t):console.log(e,...t))}debug(e,...t){this.canLog(nl.Debug)&&(this.useColors?console.log(`%cDEBUG`,`background: #eee; color: #888`,e,...t):console.log(e,...t))}info(e,...t){this.canLog(nl.Info)&&(this.useColors?console.log(`%c INFO`,`color: #33f`,e,...t):console.log(e,...t))}warn(e,...t){this.canLog(nl.Warning)&&(this.useColors?console.warn(`%c WARN`,`color: #993`,e,...t):console.log(e,...t))}error(e,...t){this.canLog(nl.Error)&&(this.useColors?console.error(`%c ERR`,`color: #f33`,e,...t):console.error(e,...t))}},sl=class extends al{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(let n of this.loggers)n.trace(e,...t)}debug(e,...t){for(let n of this.loggers)n.debug(e,...t)}info(e,...t){for(let n of this.loggers)n.info(e,...t)}warn(e,...t){for(let n of this.loggers)n.warn(e,...t)}error(e,...t){for(let n of this.loggers)n.error(e,...t)}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},cl=class extends D{constructor(e,t,n){if(super(),this.logLevel=e,this.logsHome=t,this._loggers=new Fc,this._onDidChangeLoggers=this._register(new k),this._onDidChangeVisibility=this._register(new k),n)for(let e of n)this._loggers.set(e.resource,{logger:void 0,info:e})}getLoggerEntry(e){return ye(e)?[...this._loggers.values()].find(t=>t.info.id===e):this._loggers.get(e)}createLogger(e,t){let n=this.toResource(e),r=ye(e)?e:t?.id??Si(n.toString()).toString(16),i=this._loggers.get(n)?.logger,a=t?.logLevel===`always`?nl.Trace:t?.logLevel;i||=this.doCreateLogger(n,a??this.getLogLevel(n)??this.logLevel,{...t,id:r});let o={logger:i,info:{resource:n,id:r,logLevel:a,name:t?.name,hidden:t?.hidden,group:t?.group,extensionId:t?.extensionId,when:t?.when}};return this.registerLogger(o.info),this._loggers.set(n,o),i}toResource(e){return ye(e)?Yc(this.logsHome,`${e}.log`):e}setVisibility(e,t){let n=this.getLoggerEntry(e);n&&t!==!n.info.hidden&&(n.info.hidden=!t,this._loggers.set(n.info.resource,n),this._onDidChangeVisibility.fire([n.info.resource,t]))}getLogLevel(e){let t;return e&&(t=this._loggers.get(e)?.info.logLevel),t??this.logLevel}registerLogger(e){let t=this._loggers.get(e.resource);t?t.info.hidden!==e.hidden&&this.setVisibility(e.resource,!e.hidden):(this._loggers.set(e.resource,{info:e,logger:void 0}),this._onDidChangeLoggers.fire({added:[e],removed:[]}))}dispose(){this._loggers.forEach(e=>e.logger?.dispose()),this._loggers.clear(),super.dispose()}},ll=class{constructor(){this.onDidChangeLogLevel=new k().event}setLevel(e){}getLevel(){return nl.Info}trace(e,...t){}debug(e,...t){}info(e,...t){}warn(e,...t){}error(e,...t){}dispose(){}},ul=class extends cl{constructor(){super(nl.Off,Zr.parse(`log:///log`))}doCreateLogger(e,t,n){return new ll}};function dl(e){switch(e){case nl.Trace:return`trace`;case nl.Debug:return`debug`;case nl.Info:return`info`;case nl.Warning:return`warn`;case nl.Error:return`error`;case nl.Off:return`off`}}new z(`logLevel`,dl(nl.Info));var fl=class e{static{this.REGISTERED_COMMANDS=new Set}static getRegisteredCommands(){return[...e.REGISTERED_COMMANDS]}static registerCommand(t){e.REGISTERED_COMMANDS.add(t)}},pl=class{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata,this.canTriggerInlineEdits=e.canTriggerInlineEdits}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){let e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(let t of e){let e=t.kbExpr;this.precondition&&(e=e?R.and(e,this.precondition):this.precondition);let n={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};yc.registerKeybindingRule(n)}}Us.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata}),this.canTriggerInlineEdits&&fl.registerCommand(this.id)}_registerMenuItem(e){Ec.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}},ml=class extends pl{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,n,r){return this._implementations.push({priority:e,name:t,implementation:n,when:r}),this._implementations.sort((e,t)=>t.priority-e.priority),{dispose:()=>{for(let e=0;e{if(e.get(fc).contextMatchesRules(n??void 0))return r(e,a,t)})}runCommand(t,n){return e.runEditorCommand(t,n,this.precondition,(e,t,n)=>this.runEditorCommand(e,t,n))}},V=class e extends gl{static convertOptions(e){let t;t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[];function n(t){return t.menuId||=B.EditorContext,t.title||=typeof e.label==`string`?e.label:e.label.value,t.when=R.and(e.precondition,t.when),t}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(n)):e.contextMenuOpts&&t.push(n(e.contextMenuOpts)),e.menuOpts=t,e}constructor(t){super(e.convertOptions(t)),typeof t.label==`string`?(this.label=t.label,this.alias=t.alias??t.label):(this.label=t.label.value,this.alias=t.alias??t.label.original)}runEditorCommand(e,t,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})}reportTelemetry(e,t){e.get(jc).publicLog2(`editorActionInvoked`,{name:this.label,id:this.id})}},_l=class extends V{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((e,t)=>t[0]-e[0]),{dispose:()=>{for(let e=0;e{let n=e.get(fc),i=e.get(el);if(!n.contextMatchesRules(this.desc.precondition??void 0)){i.debug(`[EditorAction2] NOT running command because its precondition is FALSE`,this.desc.id,this.desc.precondition?.serialize());return}return this.runEditorCommand(e,r,...t)})}};function yl(e,t){Us.registerCommand(e,function(e,...n){let r=e.get(Os),[i,a]=n;ke(Zr.isUri(i)),ke(F.isIPosition(a));let o=e.get(js).getModel(i);if(o){let e=F.lift(a);return r.invokeFunction(t,o,e,...n.slice(2))}return e.get(Ms).createModelReference(i).then(e=>new Promise((i,o)=>{try{i(r.invokeFunction(t,e.object.textEditorModel,F.lift(a),n.slice(2)))}catch(e){o(e)}}).finally(()=>{e.dispose()}))})}function H(e){return Cl.INSTANCE.registerEditorCommand(e),e}function U(e){let t=new e;return Cl.INSTANCE.registerEditorAction(t),t}function bl(e){return Cl.INSTANCE.registerEditorAction(e),e}function Ine(e){Cl.INSTANCE.registerEditorAction(e)}function xl(e,t,n){Cl.INSTANCE.registerEditorContribution(e,t,n)}var Sl;(function(e){function t(e){return Cl.INSTANCE.getEditorCommand(e)}e.getEditorCommand=t;function n(){return Cl.INSTANCE.getEditorActions()}e.getEditorActions=n;function r(){return Cl.INSTANCE.getEditorContributions()}e.getEditorContributions=r;function i(e){return Cl.INSTANCE.getEditorContributions().filter(t=>e.indexOf(t.id)>=0)}e.getSomeEditorContributions=i;function a(){return Cl.INSTANCE.getDiffEditorContributions()}e.getDiffEditorContributions=a})(Sl||={});var Lne={EditorCommonContributions:`editor.contributions`},Cl=class e{static{this.INSTANCE=new e}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,n){this.editorContributions.push({id:e,ctor:t,instantiation:n})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}};vc.add(Lne.EditorCommonContributions,Cl.INSTANCE);function wl(e){return e.register(),e}var Tl=wl(new ml({id:`undo`,precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:B.MenubarEditMenu,group:`1_do`,title:s(69,`&&Undo`),order:1},{menuId:B.CommandPalette,group:``,title:s(70,`Undo`),order:1},{menuId:B.SimpleEditorContext,group:`1_do`,title:s(71,`Undo`),order:1}]}));wl(new hl(Tl,{id:`default:undo`,precondition:void 0}));var El=wl(new ml({id:`redo`,precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:B.MenubarEditMenu,group:`1_do`,title:s(72,`&&Redo`),order:2},{menuId:B.CommandPalette,group:``,title:s(73,`Redo`),order:1},{menuId:B.SimpleEditorContext,group:`1_do`,title:s(74,`Redo`),order:2}]}));wl(new hl(El,{id:`default:redo`,precondition:void 0}));var Rne=wl(new ml({id:`editor.action.selectAll`,precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:B.MenubarSelectionMenu,group:`1_basic`,title:s(75,`&&Select All`),order:1},{menuId:B.CommandPalette,group:``,title:s(76,`Select All`),order:1},{menuId:B.SimpleEditorContext,group:`9_select`,title:s(77,`Select All`),order:1}]})),W=class e{constructor(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return e.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(t){return e.containsPosition(this,t)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(t){return e.containsRange(this,t)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(t){return e.strictContainsRange(this,t)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(t){return e.plusRange(this,t)}static plusRange(t,n){let r,i,a,o;return n.startLineNumbert.endLineNumber?(a=n.endLineNumber,o=n.endColumn):n.endLineNumber===t.endLineNumber?(a=n.endLineNumber,o=Math.max(n.endColumn,t.endColumn)):(a=t.endLineNumber,o=t.endColumn),new e(r,i,a,o)}intersectRanges(t){return e.intersectRanges(this,t)}static intersectRanges(t,n){let r=t.startLineNumber,i=t.startColumn,a=t.endLineNumber,o=t.endColumn,s=n.startLineNumber,c=n.startColumn,l=n.endLineNumber,u=n.endColumn;return rl?(a=l,o=u):a===l&&(o=Math.min(o,u)),r>a||r===a&&i>o?null:new e(r,i,a,o)}equalsRange(t){return e.equalsRange(this,t)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return e.getEndPosition(this)}static getEndPosition(e){return new F(e.endLineNumber,e.endColumn)}getStartPosition(){return e.getStartPosition(this)}static getStartPosition(e){return new F(e.startLineNumber,e.startColumn)}toString(){return`[`+this.startLineNumber+`,`+this.startColumn+` -> `+this.endLineNumber+`,`+this.endColumn+`]`}setEndPosition(t,n){return new e(this.startLineNumber,this.startColumn,t,n)}setStartPosition(t,n){return new e(t,n,this.endLineNumber,this.endColumn)}collapseToStart(){return e.collapseToStart(this)}static collapseToStart(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return e.collapseToEnd(this)}static collapseToEnd(t){return new e(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new e(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(t,n=t){return new e(t.lineNumber,t.column,n.lineNumber,n.column)}static lift(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(e){return!!e&&typeof e.startLineNumber==`number`&&typeof e.startColumn==`number`&&typeof e.endLineNumber==`number`&&typeof e.endColumn==`number`}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},G=class e extends W{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return`[`+this.selectionStartLineNumber+`,`+this.selectionStartColumn+` -> `+this.positionLineNumber+`,`+this.positionColumn+`]`}equalsSelection(t){return e.selectionsEqual(this,t)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,n){return this.getDirection()===0?new e(this.startLineNumber,this.startColumn,t,n):new e(t,n,this.startLineNumber,this.startColumn)}getPosition(){return new F(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new F(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,n){return this.getDirection()===0?new e(t,n,this.endLineNumber,this.endColumn):new e(this.endLineNumber,this.endColumn,t,n)}static fromPositions(t,n=t){return new e(t.lineNumber,t.column,n.lineNumber,n.column)}static fromRange(t,n){return n===0?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new e(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new e(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n0&&e.getLanguageId(o-1)===i;)o--;return new zne(e,i,o,a+1,e.getStartOffset(o),e.getEndOffset(a))}var zne=class{constructor(e,t,n,r,i,a){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=r,this.firstCharOffset=i,this._lastCharOffset=a,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}};function Ol(e){return(e&3)!=0}var kl=class e{static _nextVisibleColumn(t,n,r){return t===9?e.nextRenderTabStop(n,r):ur(t)||dr(t)?n+2:n+1}static visibleColumnFromColumn(e,t,n){let r=Math.min(t-1,e.length),i=e.substring(0,r),a=new nr(i),o=0;for(;!a.eol();){let e=er(i,r,a.offset);a.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;let r=e.length,i=new nr(e),a=0,o=1;for(;!i.eol();){let s=er(e,r,i.offset);i.nextGraphemeLength();let c=this._nextVisibleColumn(s,a,n),l=i.offset+1;if(c>=t){let e=t-a;return c-t!0,Hne=()=>!1,Une=e=>e===` `||e===` `,Ml=class{static shouldRecreate(e){return e.hasChanged(165)||e.hasChanged(148)||e.hasChanged(45)||e.hasChanged(85)||e.hasChanged(88)||e.hasChanged(89)||e.hasChanged(10)||e.hasChanged(11)||e.hasChanged(15)||e.hasChanged(13)||e.hasChanged(14)||e.hasChanged(20)||e.hasChanged(145)||e.hasChanged(141)||e.hasChanged(59)||e.hasChanged(104)||e.hasChanged(147)||e.hasChanged(93)}constructor(e,t,n,r){this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;let i=n.options,a=i.get(165),o=i.get(59);this.readOnly=i.get(104),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=i.get(132),this.lineHeight=o.lineHeight,this.typicalHalfwidthCharacterWidth=o.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(a.height/this.lineHeight)-2),this.useTabStops=i.get(145),this.trimWhitespaceOnDelete=i.get(141),this.wordSeparators=i.get(148),this.emptySelectionClipboard=i.get(45),this.copyWithSyntaxHighlighting=i.get(31),this.multiCursorMergeOverlapping=i.get(85),this.multiCursorPaste=i.get(88),this.multiCursorLimit=i.get(89),this.autoClosingBrackets=i.get(10),this.autoClosingComments=i.get(11),this.autoClosingQuotes=i.get(15),this.autoClosingDelete=i.get(13),this.autoClosingOvertype=i.get(14),this.autoSurround=i.get(20),this.autoIndent=i.get(16),this.wordSegmenterLocales=i.get(147),this.overtypeOnPaste=i.get(93),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();let s=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(s)for(let e of s)this.surroundingPairs[e.open]=e.close;let c=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=c?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};let e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(let t of e)this._electricChars[t]=!0}return this._electricChars}get inputMode(){return jl.getInputMode()}onElectricCharacter(e,t,n){let r=Dl(t,n-1),i=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return i?i.onElectricCharacter(e,r,n-r.firstCharOffset):null}normalizeIndentation(e){return Al(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,n){switch(t){case`beforeWhitespace`:return Une;case`languageDefined`:return this._getLanguageDefinedShouldAutoClose(e,n);case`always`:return Vne;case`never`:return Hne}}_getLanguageDefinedShouldAutoClose(e,t){let n=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>n.indexOf(e)!==-1}visibleColumnFromColumn(e,t){return kl.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,n){let r=kl.columnFromVisibleColumn(e.getLineContent(t),n,this.tabSize),i=e.getLineMinColumn(t);if(ra?a:r}},Nl=class e{static fromModelState(e){return new Wne(e)}static fromViewState(e){return new Gne(e)}static fromModelSelection(t){let n=G.liftSelection(t),r=new Pl(W.fromPositions(n.getSelectionStart()),0,0,n.getPosition(),0);return e.fromModelState(r)}static fromModelSelections(e){let t=[];for(let n=0,r=e.length;ni,c=r>a,l=ra||mr||p0&&i--,e.columnSelect(t,n,r.fromViewLineNumber,r.fromViewVisualColumn,r.toViewLineNumber,i)}static columnSelectRight(e,t,n){let r=0,i=Math.min(n.fromViewLineNumber,n.toViewLineNumber),a=Math.max(n.fromViewLineNumber,n.toViewLineNumber);for(let n=i;n<=a;n++){let i=t.getLineMaxColumn(n),a=e.visibleColumnFromColumn(t,new F(n,i));r=Math.max(r,a)}let o=n.toViewVisualColumn;return oi&&(a=new F(i,e.getLineMaxColumn(i)));let o=W.fromPositions(n,a);t.addTrackedEditOperation(o,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getEndPosition())}},Kne=class{constructor(e,t){this._range=e,this._text=t}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromRange(n,0)}},Bl=class{constructor(e,t,n=!1){this._range=e,this._text=t,this.insertsAutoWhitespace=n}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getStartPosition())}},Vl=class{constructor(e,t,n,r,i=!1){this._range=e,this._text=t,this._columnDeltaOffset=r,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=i}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}},qne=class{constructor(e){this._range=e}getEditOperations(e,t){let n=e.getValueInRange(this._range),r=this._range.getEndPosition(),i=r.lineNumber,a=Ul(e,r,n.length);a.lineNumber>i&&(a=new F(i,e.getLineMaxColumn(i)));let o=W.fromPositions(r,a);t.addTrackedEditOperation(o,``)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getEndPosition())}},Hl=class{constructor(e,t,n,r=!1){this._range=e,this._text=t,this._initialSelection=n,this._forceMoveMarkers=r,this._selectionId=null}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=t.trackSelection(this._initialSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function Ul(e,t,n){if(n<0)throw Error(`Unexpected negative delta`);let r=e.getLineCount(),i=new F(r,e.getLineMaxColumn(r));for(let a=t.lineNumber;a<=r;a++)if(a===t.lineNumber){let r=n-e.getLineMaxColumn(t.lineNumber)+t.column;if(r<=0){i=new F(t.lineNumber,t.column+n);break}n=r}else{let t=n-e.getLineMaxColumn(a);if(t<=0){i=new F(a,n);break}n=t}return i}var Wl=class e{static whitespaceVisibleColumn(e,t,n){let r=e.length,i=0,a=-1,o=-1;for(let s=0;se.getLineMinColumn(t.lineNumber))return t.delta(void 0,-ir(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){let n=t.lineNumber-1;return new F(n,e.getLineMaxColumn(n))}else return t}static leftPositionAtomicSoftTabs(e,t,n){if(t.column<=e.getLineIndentColumn(t.lineNumber)){let r=e.getLineMinColumn(t.lineNumber),i=e.getLineContent(t.lineNumber),a=Wl.atomicPosition(i,t.column-1,n,0);if(a!==-1&&a+1>=r)return new F(t.lineNumber,a+1)}return this.leftPosition(e,t)}static left(t,n,r){let i=t.stickyTabStops?e.leftPositionAtomicSoftTabs(n,r,t.tabSize):e.leftPosition(n,r);return new Gl(i.lineNumber,i.column,0)}static moveLeft(t,n,r,i,a){let o,s;if(r.hasSelection()&&!i)o=r.selection.startLineNumber,s=r.selection.startColumn;else{let i=r.position.delta(void 0,-(a-1)),c=n.normalizePosition(e.clipPositionColumn(i,n),0),l=e.left(t,n,c);o=l.lineNumber,s=l.column}return r.move(i,o,s,0)}static clipPositionColumn(t,n){return new F(t.lineNumber,e.clipRange(t.column,n.getLineMinColumn(t.lineNumber),n.getLineMaxColumn(t.lineNumber)))}static clipRange(e,t,n){return en?n:e}static rightPosition(e,t,n){return nl?(n=l,r=o?t.getLineMaxColumn(n):Math.min(t.getLineMaxColumn(n),r)):r=e.columnFromVisibleColumn(t,n,c),i=f?0:c-kl.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),s!==void 0){let e=new F(n,r),a=t.normalizePosition(e,s);i+=r-a.column,n=a.lineNumber,r=a.column}return new Gl(n,r,i)}static down(e,t,n,r,i,a,o){return this.vertical(e,t,n,r,i,n+a,o,4)}static moveDown(t,n,r,i,a){let o,s;r.hasSelection()&&!i?(o=r.selection.endLineNumber,s=r.selection.endColumn):(o=r.position.lineNumber,s=r.position.column);let c=0,l;do if(l=e.down(t,n,o+c,s,r.leftoverVisibleColumns,a,!0),n.normalizePosition(new F(l.lineNumber,l.column),2).lineNumber>o)break;while(c++<10&&o+c1&&this._isBlankLine(t,i);)i--;for(;i>1&&!this._isBlankLine(t,i);)i--;return n.move(r,i,t.getLineMinColumn(i),0)}static moveToNextBlankLine(e,t,n,r){let i=t.getLineCount(),a=n.position.lineNumber;for(;a0,n=t.getLineFirstNonWhitespaceColumn(i.lineNumber);if(e&&n>0)return new W(i.lineNumber,n,r.lineNumber,r.column)}return new W(i.lineNumber,i.column,r.lineNumber,r.column)}static isAutoClosingPairDelete(e,t,n,r,i,a,o){if(t===`never`&&n===`never`||e===`never`)return!1;for(let s=0,c=a.length;s=u.length+1)return!1;let d=u.charAt(l.column-2),f=r.get(d);if(!f)return!1;if(Il(d)){if(n===`never`)return!1}else if(t===`never`)return!1;let p=u.charAt(l.column-1),m=!1;for(let e of f)e.open===d&&e.close===p&&(m=!0);if(!m)return!1;if(e===`auto`){let e=!1;for(let t=0,n=o.length;t1){let e=n.getLineContent(i.lineNumber),t=Ln(e),a=t===-1?e.length+1:t+1;if(i.column<=a){let e=r.visibleColumnFromColumn(n,i),t=kl.prevIndentTabStop(e,r.indentSize),a=r.columnFromVisibleColumn(n,i.lineNumber,t);return new W(i.lineNumber,a,i.lineNumber,i.column)}}return W.fromPositions(e.getPositionAfterDeleteLeft(i,n),i)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){let n=_r(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,n+1)}else if(e.lineNumber>1){let n=e.lineNumber-1;return new F(n,t.getLineMaxColumn(n))}else return e}static cut(e,t,n){let r=[],i=null;n.sort((e,t)=>F.compare(e.getStartPosition(),t.getEndPosition()));for(let a=0,o=n.length;a1&&i?.endLineNumber!==e.lineNumber?(n=e.lineNumber-1,s=t.getLineMaxColumn(e.lineNumber-1),c=e.lineNumber,l=t.getLineMaxColumn(e.lineNumber)):(n=e.lineNumber,s=1,c=e.lineNumber,l=t.getLineMaxColumn(e.lineNumber));let u=new W(n,s,c,l);i=u,u.isEmpty()?r[a]=null:r[a]=new Rl(u,``)}else r[a]=null;else r[a]=new Rl(o,``)}return new Fl(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}},Jl={DateTimeFormat(e,t){return new Dn(()=>{try{return new Intl.DateTimeFormat(e,t)}catch{return new Intl.DateTimeFormat(void 0,t)}})},Collator(e,t){return new Dn(()=>{try{return new Intl.Collator(e,t)}catch{return new Intl.Collator(void 0,t)}})},Segmenter(e,t){return new Dn(()=>{try{return new Intl.Segmenter(e,t)}catch{return new Intl.Segmenter(void 0,t)}})},Locale(e,t){return new Dn(()=>{try{return new Intl.Locale(e,t)}catch{return new Intl.Locale(`en`,t)}})},NumberFormat(e,t){return new Dn(()=>{try{return new Intl.NumberFormat(e,t)}catch{return new Intl.NumberFormat(void 0,t)}})}};function Yl(e){return e<0?0:e>255?255:e|0}function Xl(e){return e<0?0:e>4294967295?4294967295:e|0}var Zl=class e{constructor(t){let n=Yl(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}static _createAsciiMap(e){let t=new Uint8Array(256);return t.fill(e),t}set(e,t){let n=Yl(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}},Ql=class{constructor(){this._actual=new Zl(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}},Jne=class extends Zl{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=Jl.Segmenter(this.intlSegmenterLocales,{granularity:`word`}):this._segmenter=null;for(let t=0,n=e.length;tt)break;n=r}return n}findNextIntlWordAtOrAfterOffset(e,t){for(let n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index=0;a--){let n=e.charCodeAt(a),o=t.get(n);if(i&&a===i.index)return this._createIntlWord(i,o);if(o===0){if(r===2)return this._createWord(e,r,o,a+1,this._findEndOfWord(e,t,r,a+1));r=1}else if(o===2){if(r===1)return this._createWord(e,r,o,a+1,this._findEndOfWord(e,t,r,a+1));r=2}else if(o===1&&r!==0)return this._createWord(e,r,o,a+1,this._findEndOfWord(e,t,r,a+1))}return r===0?null:this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0))}static _findEndOfWord(e,t,n,r){let i=t.findNextIntlWordAtOrAfterOffset(e,r),a=e.length;for(let o=r;o=0;a--){let r=e.charCodeAt(a),o=t.get(r);if(i&&a===i.index)return a;if(o===1||n===1&&o===2||n===2&&o===0)return a+1}return 0}static moveWordLeft(t,n,r,i,a){let o=r.lineNumber,s=r.column;s===1&&o>1&&(--o,s=n.getLineMaxColumn(o));let c=e._findPreviousWordOnLine(t,n,new F(o,s));if(i===0)return new F(o,c?c.start+1:1);if(i===1)return!a&&c&&c.wordType===2&&c.end-c.start===1&&c.nextCharClass===0&&(c=e._findPreviousWordOnLine(t,n,new F(o,c.start+1))),new F(o,c?c.start+1:1);if(i===3){for(;c&&c.wordType===2;)c=e._findPreviousWordOnLine(t,n,new F(o,c.start+1));return new F(o,c?c.start+1:1)}return c&&s<=c.end+1&&(c=e._findPreviousWordOnLine(t,n,new F(o,c.start+1))),new F(o,c?c.end+1:1)}static _moveWordPartLeft(e,t){let n=t.lineNumber,r=e.getLineMaxColumn(n);if(t.column===1)return n>1?new F(n-1,e.getLineMaxColumn(n-1)):t;let i=e.getLineContent(n);for(let e=t.column-1;e>1;e--){let t=i.charCodeAt(e-2),a=i.charCodeAt(e-1);if(t===95&&a!==95||t===45&&a!==45||(Gn(t)||Wn(t))&&Kn(a))return new F(n,e);if(Kn(t)&&Kn(a)&&e+1=c.start+1&&(c=e._findNextWordOnLine(t,n,new F(a,c.end+1))),o=c?c.start+1:n.getLineMaxColumn(a);return new F(a,o)}static _moveWordPartRight(e,t){let n=t.lineNumber,r=e.getLineMaxColumn(n);if(t.column===r)return n1?l=1:(c--,l=i.getLineMaxColumn(c)):(u&&l<=u.end+1&&(u=e._findPreviousWordOnLine(r,i,new F(c,u.start+1))),u?l=u.end+1:l>1?l=1:(c--,l=i.getLineMaxColumn(c))),new W(c,l,s.lineNumber,s.column)}static deleteInsideWord(e,t,n){if(!n.isEmpty())return n;let r=new F(n.positionLineNumber,n.positionColumn);return this._deleteInsideWordWhitespace(t,r)||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){let n=e.charCodeAt(t);return n===32||n===9}static _deleteInsideWordWhitespace(e,t){let n=e.getLineContent(t.lineNumber),r=n.length;if(r===0)return null;let i=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(n,i))return null;let a=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(n,a))return null;for(;i>0&&this._charAtIsWhitespace(n,i-1);)i--;for(;a+11?new W(r.lineNumber-1,n.getLineMaxColumn(r.lineNumber-1),r.lineNumber,1):r.lineNumbere.start+1<=r.column&&r.column<=e.end+1,s=(e,t)=>(e=Math.min(e,r.column),t=Math.max(t,r.column),new W(r.lineNumber,e,r.lineNumber,t)),c=e=>{let t=e.start+1,n=e.end+1,r=!1;for(;n-11&&this._charAtIsWhitespace(i,t-2);)t--;return s(t,n)},l=e._findPreviousWordOnLine(t,n,r);if(l&&o(l))return c(l);let u=e._findNextWordOnLine(t,n,r);return u&&o(u)?c(u):l&&u?s(l.end+1,u.start+1):l?s(l.start+1,l.end+1):u?s(u.start+1,u.end+1):s(1,a+1)}static _deleteWordPartLeft(t,n){if(!n.isEmpty())return n;let r=n.getPosition(),i=e._moveWordPartLeft(t,r);return new W(r.lineNumber,r.column,i.lineNumber,i.column)}static _findFirstNonWhitespaceChar(e,t){let n=e.length;for(let r=t;r=f.start+1&&(f=e._findNextWordOnLine(r,i,new F(c,f.end+1))),f?l=f.start+1:l!!e)}function iu(e){if(!e||typeof e!=`object`||e instanceof RegExp)return e;let t=Array.isArray(e)?[]:{};return Object.entries(e).forEach(([e,n])=>{t[e]=n&&typeof n==`object`?iu(n):n}),t}function Yne(e){if(!e||typeof e!=`object`)return e;let t=[e];for(;t.length>0;){let e=t.shift();Object.freeze(e);for(let n in e)if(au.call(e,n)){let r=e[n];typeof r==`object`&&!Object.isFrozen(r)&&!Se(r)&&t.push(r)}}return e}var au=Object.prototype.hasOwnProperty;function ou(e,t){return su(e,t,new Set)}function su(e,t,n){if(Oe(e))return e;let r=t(e);if(r!==void 0)return r;if(Array.isArray(e)){let r=[];for(let i of e)r.push(su(i,t,n));return r}if(xe(e)){if(n.has(e))throw Error(`Cannot clone recursive data-structure`);n.add(e);let r={};for(let i in e)au.call(e,i)&&(r[i]=su(e[i],t,n));return n.delete(e),r}return e}function cu(e,t,n=!0){return xe(e)?(xe(t)&&Object.keys(t).forEach(r=>{r in e?n&&(xe(e[r])&&xe(t[r])?cu(e[r],t[r],n):e[r]=t[r]):e[r]=t[r]}),e):t}function lu(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t||typeof e!=`object`||Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;nt&&(n=t,r=e.model.getLineMaxColumn(n)),Nl.fromModelState(new Pl(new W(a.lineNumber,1,n,r),2,0,new F(n,r),0))}let s=t.modelState.selectionStart.getStartPosition().lineNumber;if(a.lineNumbers){let n=e.getLineCount(),r=o.lineNumber+1,i=1;return r>n&&(r=n,i=e.getLineMaxColumn(r)),Nl.fromViewState(t.viewState.move(!0,r,i,0))}else{let e=t.modelState.selectionStart.getEndPosition();return Nl.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,n,r){let i=e.model.validatePosition(r);return Nl.fromModelState(tu.word(e.cursorConfig,e.model,t.modelState,n,i))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new Nl(t.modelState,t.viewState);let n=t.viewState.position.lineNumber,r=t.viewState.position.column;return Nl.fromViewState(new Pl(new W(n,r,n,r),0,0,new F(n,r),0))}static moveTo(e,t,n,r,i){if(n){if(t.modelState.selectionStartKind===1)return this.word(e,t,n,r);if(t.modelState.selectionStartKind===2)return this.line(e,t,n,r,i)}let a=e.model.validatePosition(r),o=i?e.coordinatesConverter.validateViewPosition(new F(i.lineNumber,i.column),a):e.coordinatesConverter.convertModelPositionToViewPosition(a);return Nl.fromViewState(t.viewState.move(n,o.lineNumber,o.column,0))}static simpleMove(e,t,n,r,i,a){switch(n){case 0:return a===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,i);case 1:return a===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,i);case 2:return a===2?this._moveUpByViewLines(e,t,r,i):this._moveUpByModelLines(e,t,r,i);case 3:return a===2?this._moveDownByViewLines(e,t,r,i):this._moveDownByModelLines(e,t,r,i);case 4:return a===2?t.map(t=>Nl.fromViewState(Kl.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,r))):t.map(t=>Nl.fromModelState(Kl.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,r)));case 5:return a===2?t.map(t=>Nl.fromViewState(Kl.moveToNextBlankLine(e.cursorConfig,e,t.viewState,r))):t.map(t=>Nl.fromModelState(Kl.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,n,r,i){let a=e.getCompletelyVisibleViewRange(),o=e.coordinatesConverter.convertViewRangeToModelRange(a);switch(n){case 11:{let n=this._firstLineNumberInRange(e.model,o,i),a=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,a)]}case 13:{let n=this._lastLineNumberInRange(e.model,o,i),a=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,a)]}case 12:{let n=Math.round((o.startLineNumber+o.endLineNumber)/2),i=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,i)]}case 14:{let n=[];for(let i=0,o=t.length;in.endLineNumber-1?n.endLineNumber-1:i{let i=e.getTextDirection(t.viewState.position.lineNumber)===fu.RTL;return Nl.fromViewState(i?Kl.moveRight(e.cursorConfig,e,t.viewState,n,r):Kl.moveLeft(e.cursorConfig,e,t.viewState,n,r))})}static _moveHalfLineLeft(e,t,n){let r=[];for(let i=0,a=t.length;i{let i=e.getTextDirection(t.viewState.position.lineNumber)===fu.RTL;return Nl.fromViewState(i?Kl.moveLeft(e.cursorConfig,e,t.viewState,n,r):Kl.moveRight(e.cursorConfig,e,t.viewState,n,r))})}static _moveHalfLineRight(e,t,n){let r=[];for(let i=0,a=t.length;i/?`;function ere(e=``){let t=`(-?\\d*\\.\\d\\w*)|([^`;for(let n of Cu)e.indexOf(n)>=0||(t+=`\\`+n);return t+=`\\s]+)`,new RegExp(t,`g`)}var wu=ere();function Tu(e){let t=wu;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n=`g`;e.ignoreCase&&(n+=`i`),e.multiline&&(n+=`m`),e.unicode&&(n+=`u`),t=new RegExp(e.source,n)}return t.lastIndex=0,t}var Eu=new Gt;Eu.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function Du(e,t,n,r,i){if(t=Tu(t),i||=It.first(Eu),n.length>i.maxLen){let a=e-i.maxLen/2;return a<0?a=0:r+=a,n=n.substring(a,e+i.maxLen/2),Du(e,t,n,r,i)}let a=Date.now(),o=e-1-r,s=-1,c=null;for(let e=1;!(Date.now()-a>=i.timeBudget);e++){let r=o-i.windowSize*e;t.lastIndex=Math.max(0,r);let a=Ou(t,n,o,s);if(!a&&c||(c=a,r<=0))break;s=r}if(c){let e={word:c[0],startColumn:r+1+c.index,endColumn:r+1+c.index+c[0].length};return t.lastIndex=0,e}return null}function Ou(e,t,n,r){let i;for(;i=e.exec(t);){let t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}var ku=class e{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> + `}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> + `}constructor(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map(e=>new xu(e)):t.brackets?this._autoClosingPairs=t.brackets.map(e=>new xu({open:e[0],close:e[1]})):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){let e=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new xu({open:e.open,close:e.close||``}))}this._autoCloseBeforeForQuotes=typeof t.autoCloseBefore==`string`?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof t.autoCloseBefore==`string`?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}},Au;function ju(){return Au||=new TextDecoder(`UTF-16LE`),Au}var Mu;function Nu(){return Mu||=new TextDecoder(`UTF-16BE`),Mu}var Pu;function Fu(){return Pu||=ut()?ju():Nu(),Pu}function Iu(e,t,n){let r=new Uint16Array(e.buffer,t,n);return n>0&&(r[0]===65279||r[0]===65534)?Lu(e,t,n):ju().decode(r)}function Lu(e,t,n){let r=[],i=0;for(let a=0;a=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let n=0;n[e[0].toLowerCase(),e[1].toLowerCase()]);let n=[];for(let e=0;e{let[n,r]=e,[i,a]=t;return n===i||n===a||r===i||r===a},i=(e,r)=>{let i=Math.min(e,r),a=Math.max(e,r);for(let e=0;e0&&a.push({open:i,close:o})}return a}var Vu=class{constructor(e,t){this._richEditBracketsBrand=void 0;let n=Bu(t);this.brackets=n.map((t,r)=>new zu(e,r,t.open,t.close,Gu(t.open,t.close,n,r),Ku(t.open,t.close,n,r))),this.forwardRegex=qu(this.brackets),this.reversedRegex=Ju(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(let e of this.brackets){for(let t of e.open)this.textIsBracket[t]=e,this.textIsOpenBracket[t]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,t.length);for(let t of e.close)this.textIsBracket[t]=e,this.textIsOpenBracket[t]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,t.length)}}};function Hu(e,t,n,r){for(let i=0,a=t.length;i=0&&r.push(t);for(let t of a.close)t.indexOf(e)>=0&&r.push(t)}}function Uu(e,t){return e.length-t.length}function Wu(e){if(e.length<=1)return e;let t=[],n=new Set;for(let r of e)n.has(r)||(t.push(r),n.add(r));return t}function Gu(e,t,n,r){let i=[];i=i.concat(e),i=i.concat(t);for(let e=0,t=i.length;e=0;r--)t[n++]=e.charCodeAt(r);return Fu().decode(t)}let t=null,n=null;return function(r){return t!==r&&(t=r,n=e(t)),n}})(),Qu=class{static _findPrevBracketInText(e,t,n,r){let i=n.match(e);if(!i)return null;let a=n.length-(i.index||0),o=i[0].length,s=r+a;return new W(t,s-o+1,t,s+1)}static findPrevBracketInRange(e,t,n,r,i){let a=Zu(n).substring(n.length-i,n.length-r);return this._findPrevBracketInText(e,t,a,r)}static findNextBracketInText(e,t,n,r){let i=n.match(e);if(!i)return null;let a=i.index||0,o=i[0].length;if(o===0)return null;let s=r+a;return new W(t,s+1,t,s+1+o)}static findNextBracketInRange(e,t,n,r,i){let a=n.substring(r,i);return this.findNextBracketInText(e,t,a,r)}},$u=class{constructor(e){this._richEditBrackets=e}getElectricCharacters(){let e=[];if(this._richEditBrackets)for(let t of this._richEditBrackets.brackets)for(let n of t.close){let t=n.charAt(n.length-1);e.push(t)}return Bi(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;let r=t.findTokenIndexAtOffset(n-1);if(Ol(t.getStandardTokenType(r)))return null;let i=this._richEditBrackets.reversedRegex,a=t.getLineContent().substring(0,n-1)+e,o=Qu.findPrevBracketInRange(i,1,a,0,a.length);if(!o)return null;let s=a.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[s])return null;let c=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:s}:null}};function ed(e){return e.global&&(e.lastIndex=0),!0}var td=class{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&ed(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&ed(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&ed(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&ed(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}},nd=class e{constructor(t){t||={},t.brackets=t.brackets||[[`(`,`)`],[`{`,`}`],[`[`,`]`]],this._brackets=[],t.brackets.forEach(t=>{let n=e._createOpenBracketRegExp(t[0]),r=e._createCloseBracketRegExp(t[1]);n&&r&&this._brackets.push({open:t[0],openRegExp:n,close:t[1],closeRegExp:r})}),this._regExpRules=t.onEnterRules||[]}onEnter(e,t,n,r){if(e>=3)for(let e=0,i=this._regExpRules.length;ee.reg?(e.reg.lastIndex=0,e.reg.test(e.text)):!0))return i.action}if(e>=2&&n.length>0&&r.length>0)for(let e=0,t=this._brackets.length;e=2&&n.length>0){for(let e=0,t=this._brackets.length;e0&&e.charAt(e.length-1)===`#`?e.substring(0,e.length-1):e}var nre=new class extends D{constructor(){super(...arguments),this.schemasById={},this._onDidChangeSchema=this._register(new k)}registerSchema(e,t,n){let r=tre(e);this.schemasById[r]=t,this._onDidChangeSchema.fire(e),n&&n.add(T(()=>{delete this.schemasById[r],this._onDidChangeSchema.fire(e)}))}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};vc.add(gd.JSONContribution,nre);var _d,vd=globalThis.vscode;if(vd!==void 0&&vd.context!==void 0){let e=vd.context.configuration();if(e)_d=e.product;else throw Error(`Sandbox: unable to resolve product configuration from preload script.`)}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(_d=globalThis._VSCODE_PRODUCT_JSON,Tr.VSCODE_DEV&&Object.assign(_d,{nameShort:`${_d.nameShort} Dev`,nameLong:`${_d.nameLong} Dev`,dataFolderName:`${_d.dataFolderName}-dev`,serverDataFolderName:_d.serverDataFolderName?`${_d.serverDataFolderName}-dev`:void 0}),!_d.version){let e=globalThis._VSCODE_PACKAGE_JSON;Object.assign(_d,{version:e.version})}}else _d={},Object.keys(_d).length===0&&Object.assign(_d,{version:`1.104.0-dev`,nameShort:`Code - OSS Dev`,nameLong:`Code - OSS Dev`,applicationName:`code-oss`,dataFolderName:`.vscode-oss`,urlProtocol:`code-oss`,reportIssueUrl:`https://github.com/microsoft/vscode/issues/new`,licenseName:`MIT`,licenseUrl:`https://github.com/microsoft/vscode/blob/main/LICENSE.txt`,serverLicenseUrl:`https://github.com/microsoft/vscode/blob/main/LICENSE.txt`});var yd=_d,bd={Configuration:`base.contributions.configuration`},xd=`vscode://schemas/settings/resourceLanguage`,Sd=vc.as(gd.JSONContribution),rre=class extends D{constructor(){super(),this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=this._register(new k),this._onDidUpdateConfiguration=this._register(new k),this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:`defaultOverrides`,title:s(1664,`Default Language Configuration Overrides`),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},Sd.registerSchema(xd,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){return this.registerConfigurations([e],t),e}registerConfigurations(e,t=!0){let n=new Set;this.doRegisterConfigurations(e,t,n),Sd.registerSchema(xd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){let t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);let n=[];for(let{overrides:r,source:i}of e)for(let e in r){t.add(e);let a=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=r[e];if(a.configurationDefaultOverrides.push({value:o,source:i}),Td.test(e)){let t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,i,a.configurationDefaultOverrideValue);if(!t)continue;a.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,i),n.push(...Ed(e))}else{let t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,i,a.configurationDefaultOverrideValue);if(!t)continue;a.configurationDefaultOverrideValue=t;let n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){let r={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:`object`,default:t.value,description:s(1665,`Configure settings to be overridden for {0}.`,ld(e)),$ref:xd,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,r){let i=r?.value||{},a=r?.source??new Map;if(!(a instanceof Map)){console.error(`objectConfigurationSources is not a Map`);return}for(let e of Object.keys(t)){let r=t[e];if(xe(r)&&(Ee(i[e])||xe(i[e]))){if(i[e]={...i[e]??{},...r},n)for(let t in r)a.set(`${e}.${t}`,n)}else i[e]=r,n?a.set(e,n):a.delete(e)}return{value:i,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,r){let i=this.configurationProperties[e],a=r?.value??i?.defaultDefaultValue,o=n;if(xe(t)&&(i!==void 0&&i.type===`object`||i===void 0&&(Ee(a)||xe(a)))){if(o=r?.source??new Map,!(o instanceof Map)){console.error(`defaultValueSource is not a Map`);return}for(let r in t)n&&o.set(`${e}.${r}`,n);t={...xe(a)?a:{},...t}}return{value:t,source:o}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach(e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)})}validateAndRegisterProperties(e,t=!0,n,r,i=4,a){i=Oe(e.scope)?i:e.scope;let o=e.properties;if(o)for(let s in o){let c=o[s];if(c.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},t&&ore(s,c,n?.id)){delete o[s];continue}c.source=n,c.defaultDefaultValue=o[s].default,this.updatePropertyDefaultValue(s,c),Td.test(s)?c.scope=void 0:(c.scope=Oe(c.scope)?i:c.scope,c.restricted=Oe(c.restricted)?!!r?.includes(s):c.restricted),c.experiment?c.tags?.some(e=>e.toLowerCase()===`onexp`)||(c.tags=c.tags??[],c.tags.push(`onExP`)):c.tags?.some(e=>e.toLowerCase()===`onexp`)&&(console.error(`Invalid tag 'onExP' found for property '${s}'. Please use 'experiment' property instead.`),c.experiment={mode:`startup`});let l=o[s].hasOwnProperty(`included`)&&!o[s].included,u=o[s].policy?.name;l?(this.excludedConfigurationProperties[s]=o[s],u&&(this.policyConfigurations.set(u,s),a.add(s)),delete o[s]):(a.add(s),u&&this.policyConfigurations.set(u,s),this.configurationProperties[s]=o[s],!o[s].deprecationMessage&&o[s].markdownDeprecationMessage&&(o[s].deprecationMessage=o[s].markdownDeprecationMessage))}let s=e.allOf;if(s)for(let e of s)this.validateAndRegisterProperties(e,t,n,r,i,a)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}registerJSONConfiguration(e){let t=e=>{let n=e.properties;if(n)for(let e in n)this.updateSchema(e,n[e]);e.allOf?.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 3:break;case 7:break;case 4:break;case 5:break;case 6:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let t=`[${e}]`,n={type:`object`,description:s(1666,`Configure editor settings to be overridden for a language.`),errorMessage:s(1667,`This setting does not support per-language configuration.`),$ref:xd};this.updatePropertyDefaultValue(t,n)}}registerOverridePropertyPatternKey(){s(1668,`Configure editor settings to be overridden for a language.`),s(1669,`This setting does not support per-language configuration.`),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){let n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,r,i;n&&(!t.disallowConfigurationDefault||!n.source)&&(r=n.value,i=n.source),Ee(r)&&(r=t.defaultDefaultValue,i=void 0),Ee(r)&&(r=are(t.type)),t.default=r,t.defaultValueSource=i}},Cd=`\\[([^\\]]+)\\]`,wd=new RegExp(Cd,`g`),ire=`^(${Cd})+$`,Td=new RegExp(ire);function Ed(e){let t=[];if(Td.test(e)){let n=wd.exec(e);for(;n?.length;){let r=n[1].trim();r&&t.push(r),n=wd.exec(e)}}return Bi(t)}function are(e){switch(Array.isArray(e)?e[0]:e){case`boolean`:return!1;case`integer`:case`number`:return 0;case`string`:return``;case`array`:return[];case`object`:return{};default:return null}}var Dd=new rre;vc.add(bd.Configuration,Dd);function ore(e,t,n){return e.trim()?Td.test(e)?s(1671,`Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.`,e):Dd.getConfigurationProperties()[e]!==void 0&&(!n||!sre.has(n.toLowerCase()))?s(1672,`Cannot register '{0}'. This property is already registered.`,e):t.policy?.name&&Dd.getPolicyConfigurations().get(t.policy?.name)!==void 0?s(1673,`Cannot register '{0}'. The associated policy {1} is already registered with {2}.`,e,t.policy?.name,Dd.getPolicyConfigurations().get(t.policy?.name)):null:s(1670,`Cannot register an empty property`)}var sre=new Set(yd.defaultChatAgent?[yd.defaultChatAgent.extensionId,yd.defaultChatAgent.chatExtensionId].map(e=>e.toLowerCase()):[]),cre={ModesRegistry:`editor.modesRegistry`},Od=new class extends D{constructor(){super(),this._onDidChangeLanguages=this._register(new k),this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t{let t=new Set;return{info:new ure(this,e,t),closing:t}}),i=new Tn(e=>{let t=new Set,n=new Set;return{info:new dre(this,e,t,n),opening:t,openingColorized:n}});for(let[e,t]of n){let n=r.get(e),a=i.get(t);n.closing.add(a.info),a.opening.add(n.info)}let a=t.colorizedBracketPairs?Ad(t.colorizedBracketPairs):n.filter(e=>!(e[0]===`<`&&e[1]===`>`));for(let[e,t]of a){let n=r.get(e),a=i.get(t);n.closing.add(a.info),a.openingColorized.add(n.info),a.opening.add(n.info)}this._openingBrackets=new Map([...r.cachedValues].map(([e,t])=>[e,t.info])),this._closingBrackets=new Map([...i.cachedValues].map(([e,t])=>[e,t.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return Xu(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}};function Ad(e){return e.filter(([e,t])=>e!==``&&t!==``)}var jd=class{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}},ure=class extends jd{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}},dre=class extends jd{constructor(e,t,n,r){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config===this.config?this.openingBrackets.has(e):!1}closesColorized(e){return e.config===this.config?this.openingColorizedBrackets.has(e):!1}getOpeningBrackets(){return[...this.openingBrackets]}},fre=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Md=function(e,t){return function(n,r){t(n,r,e)}},Nd=class{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}},Pd=ks(`languageConfigurationService`),Fd=class extends D{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new gre),this.onDidChangeEmitter=this._register(new k),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;let n=new Set(Object.values(Id));this._register(this.configurationService.onDidChangeConfiguration(e=>{let t=e.change.keys.some(e=>n.has(e)),r=e.change.overrides.filter(([e,t])=>t.some(e=>n.has(e))).map(([e])=>e);if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new Nd(void 0));else for(let e of r)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new Nd(e)))})),this._register(this._registry.onDidChange(e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new Nd(e.languageId))}))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=pre(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};Fd=fre([Md(0,rd),Md(1,ud)],Fd);function pre(e,t,n,r){let i=t.getLanguageConfiguration(e);if(!i){if(!r.isRegisteredLanguageId(e))return new Hd(e,{});i=new Hd(e,{})}let a=mre(i.languageId,n),o=zd([i.underlyingConfig,a]);return new Hd(i.languageId,o)}var Id={brackets:`editor.language.brackets`,colorizedBracketPairs:`editor.language.colorizedBracketPairs`};function mre(e,t){let n=t.getValue(Id.brackets,{overrideIdentifier:e}),r=t.getValue(Id.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:Ld(n),colorizedBracketPairs:Ld(r)}}function Ld(e){if(Array.isArray(e))return e.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function Rd(e,t,n){let r=Rn(e.getLineContent(t));return r.length>n-1&&(r=r.substring(0,n-1)),r}var hre=class{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){let n=new Bd(e,t,++this._order);return this._entries.push(n),this._resolved=null,Lt(T(()=>{for(let e=0;ee.configuration)))}};function zd(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(let n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}var Bd=class{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}},Vd=class{constructor(e){this.languageId=e}},gre=class extends D{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._register(this.register(kd,{brackets:[[`(`,`)`],[`[`,`]`],[`{`,`}`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let r=this._entries.get(e);r||(r=new hre(e),this._entries.set(e,r));let i=r.register(t,n);return this._onDidChange.fire(new Vd(e)),Lt(T(()=>{i.dispose(),this._onDidChange.fire(new Vd(e))}))}getLanguageConfiguration(e){return this._entries.get(e)?.getResolvedConfiguration()||null}},Hd=class e{constructor(t,n){this.languageId=t,this.underlyingConfig=n,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new nd(this.underlyingConfig):null,this.comments=e._handleComments(this.underlyingConfig),this.characterPair=new ku(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||wu,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new td(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new lre(t,this.underlyingConfig)}getWordDefinition(){return Tu(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new Vu(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||=new $u(this.brackets),this._electricCharacter}onEnter(e,t,n,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,r):null}getAutoClosingPairs(){return new $ne(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){let t=e.comments;if(!t)return null;let n={};if(t.lineComment&&(typeof t.lineComment==`string`?n.lineCommentToken=t.lineComment:(n.lineCommentToken=t.lineComment.comment,n.lineCommentNoIndent=t.lineComment.noIndent)),t.blockComment){let[e,r]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=r}return n}};pd(Pd,Fd,1);var Ud=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let t=`mtk`+this.getForeground(e),n=this.getFontStyle(e);return n&1&&(t+=` mtki`),n&2&&(t+=` mtkb`),n&4&&(t+=` mtku`),n&8&&(t+=` mtks`),t}static getInlineStyleFromMetadata(e,t){let n=this.getForeground(e),r=this.getFontStyle(e),i=`color: ${t[n]};`;r&1&&(i+=`font-style: italic;`),r&2&&(i+=`font-weight: bold;`);let a=``;return r&4&&(a+=` underline`),r&8&&(a+=` line-through`),a&&(i+=`text-decoration:${a};`),i}static getPresentationFromMetadata(e){let t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:!!(n&1),bold:!!(n&2),underline:!!(n&4),strikethrough:!!(n&8)}}},Wd=class e{static fromTo(t,n){return new e(t,n)}static addRange(t,n){let r=0;for(;rn))return new e(t,n)}static ofLength(t){return new e(0,t)}static ofStartAndLength(t,n){return new e(t,t+n)}static emptyAt(t){return new e(t,t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new w(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new e(this.start+t,this.endExclusive+t)}deltaStart(t){return new e(this.start+t,this.endExclusive)}deltaEnd(t){return new e(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new w(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new w(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(`, `)}intersectsStrict(e){let t=0;for(;te+t.length,0)}},Gd=class e{static createEmpty(t,n){let r=e.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=t.length,i[1]=r,new e(i,t,n)}static createFromTextAndMetadata(t,n){let r=0,i=``,a=[];for(let{text:e,metadata:n}of t)a.push(r+e.length,n),r+=e.length,i+=e;return new e(new Uint32Array(a),i,n)}static convertToEndOffset(e,t){let n=(e.length>>>1)-1;for(let t=0;t>>1)-1;for(;nt&&(r=i)}return n}static{this.defaultTokenMetadata=33587200}constructor(e,t,n){this._lineTokensBrand=void 0,(e.length>1?e[e.length-2]:0)!==t.length&&C(Error(`Token length and text length do not match!`)),this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}getTextLength(){return this._text.length}equals(t){return t instanceof e?this.slicedEquals(t,0,this._tokensCount):!1}slicedEquals(e,t,n){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let r=t<<1,i=r+(n<<1);for(let t=r;t0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],n=Ud.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return Ud.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return Ud.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return Ud.getClassNameFromMetadata(t)}getInlineStyle(e,t){let n=this._tokens[(e<<1)+1];return Ud.getInlineStyleFromMetadata(n,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return Ud.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(t){return e.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(e,t,n){return new vre(this,e,t,n)}sliceZeroCopy(e){return this.sliceAndInflate(e.start,e.endExclusive,0)}withInserted(t){if(t.length===0)return this;let n=0,r=0,i=``,a=[],o=0;for(;;){let e=no){i+=this._text.substring(o,s.offset);let e=this._tokens[(n<<1)+1];a.push(i.length,e),o=s.offset}i+=s.text,a.push(i.length,s.tokenMetadata),r++}else break}return new e(new Uint32Array(a),i,this.languageIdCodec)}getTokensInRange(e){let t=new bre,n=this.findTokenIndexAtOffset(e.start),r=this.findTokenIndexAtOffset(e.endExclusive);for(let i=n;i<=r;i++){let n=new Wd(this.getStartOffset(i),this.getEndOffset(i)).intersectionLength(e);n>0&&t.add(n,this.getMetadata(i))}return t.build()}getTokenText(e){let t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){let t=this.getCount();for(let n=0;n{e+=`[${this.getTokenText(t)}]{${this.getClassName(t)}}`}),e}},vre=class e{constructor(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,r=e.getCount();t=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof e?this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t),i=this._source.getTokenText(t);return nthis._endOffset&&(i=i.substring(0,i.length-(r-this._endOffset))),i}forEach(e){for(let t=0;t({text:t.substring(e),metadata:n.metadata})),t)}forEach(e){let t=0;for(let n of this._tokenInfo)e(new Wd(t,t+n.length),n),t+=n.length}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new Wd(n,n+r.length);t.push(e(i,r)),n+=r.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new qd(e.length-r-o,e.metadata))}r+=e.length}return e.create(n)}},qd=class{constructor(e,t){this.length=e,this.metadata=t}},bre=class{constructor(){this._tokens=[]}add(e,t){this._tokens.push(new qd(e,t))}build(){return Kd.create(this._tokens)}},Jd=class{constructor(e,t,n){this._indentRulesSupport=t,this._indentationLineProcessor=new Xd(e,n)}shouldIncrease(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIncrease(n)}shouldDecrease(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldDecrease(n)}shouldIgnore(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIgnore(n)}shouldIndentNextLine(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIndentNextLine(n)}},Yd=class{constructor(e,t){this.model=e,this.indentationLineProcessor=new Xd(e,t)}getProcessedTokenContextAroundRange(e){return{beforeRangeProcessedTokens:this._getProcessedTokensBeforeRange(e),afterRangeProcessedTokens:this._getProcessedTokensAfterRange(e),previousLineProcessedTokens:this._getProcessedPreviousLineTokens(e)}}_getProcessedTokensBeforeRange(e){this.model.tokenization.forceTokenization(e.startLineNumber);let t=this.model.tokenization.getLineTokens(e.startLineNumber),n=Dl(t,e.startColumn-1),r;if(Zd(this.model,e.getStartPosition())){let i=e.startColumn-1-n.firstCharOffset,a=n.firstCharOffset,o=a+i;r=t.sliceAndInflate(a,o,0)}else{let n=e.startColumn-1;r=t.sliceAndInflate(0,n,0)}return this.indentationLineProcessor.getProcessedTokens(r)}_getProcessedTokensAfterRange(e){let t=e.isEmpty()?e.getStartPosition():e.getEndPosition();this.model.tokenization.forceTokenization(t.lineNumber);let n=this.model.tokenization.getLineTokens(t.lineNumber),r=Dl(n,t.column-1),i=t.column-1-r.firstCharOffset,a=r.firstCharOffset+i,o=r.firstCharOffset+r.getLineLength(),s=n.sliceAndInflate(a,o,0);return this.indentationLineProcessor.getProcessedTokens(s)}_getProcessedPreviousLineTokens(e){let t=e=>(this.model.tokenization.forceTokenization(e),Dl(this.model.tokenization.getLineTokens(e),this.model.getLineMaxColumn(e)-1));this.model.tokenization.forceTokenization(e.startLineNumber);let n=Dl(this.model.tokenization.getLineTokens(e.startLineNumber),e.startColumn-1),r=Gd.createEmpty(``,n.languageIdCodec),i=e.startLineNumber-1;if(i===0||n.firstCharOffset!==0)return r;let a=t(i);if(n.languageId!==a.languageId)return r;let o=a.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(o)}},Xd=class{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){let n=(e,t)=>{let n=Rn(e);return t+e.substring(n.length)};this.model.tokenization.forceTokenization?.(e);let r=this.model.tokenization.getLineTokens(e),i=this.getProcessedTokens(r).getLineContent();return t!==void 0&&(i=n(i,t)),i}getProcessedTokens(e){let t=e=>e===2||e===3||e===1,n=e.getLanguageId(0),r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew.getBracketRegExp({global:!0}),i=[];return e.forEach(n=>{let a=e.getStandardTokenType(n),o=e.getTokenText(n);t(a)&&(o=o.replace(r,``));let s=e.getMetadata(n);i.push({text:o,metadata:s})}),Gd.createFromTextAndMetadata(i,e.languageIdCodec)}};function Zd(e,t){e.tokenization.forceTokenization(t.lineNumber);let n=e.tokenization.getLineTokens(t.lineNumber),r=Dl(n,t.column-1),i=r.firstCharOffset===0,a=n.getLanguageId(0)===r.languageId;return!i&&!a}function Qd(e,t,n,r){t.tokenization.forceTokenization(n.startLineNumber);let i=t.getLanguageIdAtPosition(n.startLineNumber,n.startColumn),a=r.getLanguageConfiguration(i);if(!a)return null;let o=new Yd(t,r).getProcessedTokenContextAroundRange(n),s=o.previousLineProcessedTokens.getLineContent(),c=o.beforeRangeProcessedTokens.getLineContent(),l=o.afterRangeProcessedTokens.getLineContent(),u=a.onEnter(e,s,c,l);if(!u)return null;let d=u.indentAction,f=u.appendText,p=u.removeText||0;f?d===bu.Indent&&(f=` `+f):f=d===bu.Indent||d===bu.IndentOutdent?` `:``;let m=Rd(t,n.startLineNumber,n.startColumn);return p&&(m=m.substring(0,m.length-p)),{indentAction:d,appendText:f,removeText:p,indentation:m}}var xre=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sre=function(e,t){return function(n,r){t(n,r,e)}},$d,ef=Object.create(null);function tf(e,t){if(t<=0)return``;ef[e]||(ef[e]=[``,e]);let n=ef[e];for(let r=n.length;r<=t;r++)n[r]=n[r-1]+e;return n[t]}var nf=$d=class{static unshiftIndent(e,t,n,r,i){let a=kl.visibleColumnFromColumn(e,t,n);return i?tf(tf(` `,r),kl.prevIndentTabStop(a,r)/r):tf(` `,kl.prevRenderTabStop(a,n)/n)}static shiftIndent(e,t,n,r,i){let a=kl.visibleColumnFromColumn(e,t,n);return i?tf(tf(` `,r),kl.nextIndentTabStop(a,r)/r):tf(` `,kl.nextRenderTabStop(a,n)/n)}constructor(e,t,n){this._languageConfigurationService=n,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)}getEditOperations(e,t){let n=this._selection.startLineNumber,r=this._selection.endLineNumber;this._selection.endColumn===1&&n!==r&&--r;let{tabSize:i,indentSize:a,insertSpaces:o}=this._opts,s=n===r;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(n))&&(this._useLastEditRangeForCursorEndPosition=!0);let c=0,l=0;for(let u=n;u<=r;u++,c=l){l=0;let r=e.getLineContent(u),d=Ln(r);if(this._opts.isUnshift&&(r.length===0||d===0)||!s&&!this._opts.isUnshift&&r.length===0)continue;if(d===-1&&(d=r.length),u>1&&kl.visibleColumnFromColumn(r,d+1,i)%a!==0&&e.tokenization.isCheapToTokenize(u-1)){let t=Qd(this._opts.autoIndent,e,new W(u-1,e.getLineMaxColumn(u-1),u-1,e.getLineMaxColumn(u-1)),this._languageConfigurationService);if(t){if(l=c,t.appendText)for(let e=0,n=t.appendText.length;e1){let i,a=-1;for(i=t-1;i>=1;i--){if(e.tokenization.getLanguageIdAtPosition(i,0)!==r)return a;let t=e.getLineContent(i);if(n.shouldIgnore(i)||/^\s+$/.test(t)||t===``){a=i;continue}return i}}return-1}function rf(e,t,n,r=!0,i){if(e<4)return null;let a=i.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!a)return null;let o=new Jd(t,a,i);if(n<=1)return{indentation:``,action:null};for(let e=n-1;e>0&&t.getLineContent(e)===``;e--)if(e===1)return{indentation:``,action:null};let s=Tre(t,n,o);if(s<0)return null;if(s<1)return{indentation:``,action:null};if(o.shouldIncrease(s)||o.shouldIndentNextLine(s))return{indentation:Rn(t.getLineContent(s)),action:bu.Indent,line:s};if(o.shouldDecrease(s))return{indentation:Rn(t.getLineContent(s)),action:null,line:s};{if(s===1)return{indentation:Rn(t.getLineContent(s)),action:null,line:s};let e=s-1,n=a.getIndentMetadata(t.getLineContent(e));if(!(n&3)&&n&4){let n=0;for(let t=e-1;t>0;t--)if(!o.shouldIndentNextLine(t)){n=t;break}return{indentation:Rn(t.getLineContent(n+1)),action:null,line:n+1}}if(r)return{indentation:Rn(t.getLineContent(s)),action:null,line:s};for(let e=s;e>0;e--)if(o.shouldIncrease(e))return{indentation:Rn(t.getLineContent(e)),action:bu.Indent,line:e};else if(o.shouldIndentNextLine(e)){let n=0;for(let t=e-1;t>0;t--)if(!o.shouldIndentNextLine(e)){n=t;break}return{indentation:Rn(t.getLineContent(n+1)),action:null,line:n+1}}else if(o.shouldDecrease(e))return{indentation:Rn(t.getLineContent(e)),action:null,line:e};return{indentation:Rn(t.getLineContent(1)),action:null,line:1}}}function af(e,t,n,r,i,a){if(e<4)return null;let o=a.getLanguageConfiguration(n);if(!o)return null;let s=a.getLanguageConfiguration(n).indentRulesSupport;if(!s)return null;let c=new Jd(t,s,a),l=rf(e,t,r,void 0,a);if(l){let n=l.line;if(n!==void 0){let a=!0;for(let e=n;e0){let s=t.getLineContent(m);if(c.shouldIndentNextLine(s)&&c.shouldIncrease(p)){let s=rf(o,t,n.startLineNumber,!1,a)?.indentation;if(s!==void 0){let a=Rn(t.getLineContent(n.startLineNumber)),o=i.shiftIndent(s)===a,c=/^\s*$/.test(f),l=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r),u=l&&l.length>0&&c;if(o&&u)return s}}}return null}function of(e,t,n){let r=n.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;return!r||t<1||t>e.getLineCount()?null:r.getIndentMetadata(e.getLineContent(t))}function Ore(e,t,n){return{tokenization:{getLineTokens:r=>r===t?n:e.tokenization.getLineTokens(r),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,n)=>e.getLanguageIdAtPosition(t,n)},getLineContent:r=>r===t?n.getLineContent():e.getLineContent(r)}}var kre=class{static getEdits(e,t,n,r,i){if(!i&&this._isAutoIndentType(e,t,n)){let i=[];for(let a of n){let n=this._findActualIndentationForSelection(e,t,a,r);if(n===null)return;i.push({selection:a,indentation:n})}let a=sf.getAutoClosingPairClose(e,t,n,r,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,i,r,a)}}static _isAutoIndentType(e,t,n){if(e.autoIndent<4)return!1;for(let e=0,r=n.length;e_f(e,t),unshiftIndent:t=>vf(e,t)},e.languageConfigurationService);if(i===null)return null;let a=Rd(t,n.startLineNumber,n.startColumn);return i===e.normalizeIndentation(a)?null:i}static _getIndentationAndAutoClosingPairEdits(e,t,n,r,i){return new Fl(4,n.map(({selection:n,indentation:a})=>{if(i!==null)return new Bre(this._getEditFromIndentationAndSelection(e,t,a,n,r,!1),n,r,i);{let i=this._getEditFromIndentationAndSelection(e,t,a,n,r,!0);return gf(i.range,i.text,!1)}}),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _getEditFromIndentationAndSelection(e,t,n,r,i,a=!0){let o=r.startLineNumber,s=t.getLineFirstNonWhitespaceColumn(o),c=e.normalizeIndentation(n);if(s!==0){let e=t.getLineContent(o);c+=e.substring(s-1,r.startColumn-1)}return c+=a?i:``,{range:new W(o,1,r.endLineNumber,r.endColumn),text:c}}},Are=class{static getEdits(e,t,n,r,i,a){if(hf(t,n,r,i,a))return this._runAutoClosingOvertype(e,r,a)}static _runAutoClosingOvertype(e,t,n){let r=[];for(let e=0,i=t.length;enew Rl(new W(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),``,!1)),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}},sf=class{static getEdits(e,t,n,r,i,a){if(!a){let a=this.getAutoClosingPairClose(e,t,n,r,i);if(a!==null)return this._runAutoClosingOpenCharType(n,r,i,a)}}static _runAutoClosingOpenCharType(e,t,n,r){let i=[];for(let a=0,o=e.length;a{let t=e.getPosition();return i?{lineNumber:t.lineNumber,beforeColumn:t.column-r.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}}),o=this._findAutoClosingPairOpen(e,t,a.map(e=>new F(e.lineNumber,e.beforeColumn)),r);if(!o)return null;let s,c;if(Il(r)?(s=e.autoClosingQuotes,c=e.shouldAutoCloseBefore.quote):e.blockCommentStartToken&&o.open.includes(e.blockCommentStartToken)?(s=e.autoClosingComments,c=e.shouldAutoCloseBefore.comment):(s=e.autoClosingBrackets,c=e.shouldAutoCloseBefore.bracket),s===`never`)return null;let l=this._findContainedAutoClosingPair(e,o),u=l?l.close:``,d=!0;for(let n of a){let{lineNumber:i,beforeColumn:a,afterColumn:l}=n,f=t.getLineContent(i),p=f.substring(0,a-1),m=f.substring(l-1);if(m.startsWith(u)||(d=!1),m.length>0){let t=m.charAt(0);if(!this._isBeforeClosingBrace(e,m)&&!c(t))return null}if(o.open.length===1&&(r===`'`||r===`"`)&&s!==`always`){let t=eu(e.wordSeparators,[]);if(p.length>0){let e=p.charCodeAt(p.length-1);if(t.get(e)===0)return null}}if(!t.tokenization.isCheapToTokenize(i))return null;t.tokenization.forceTokenization(i);let h=Dl(t.tokenization.getLineTokens(i),a-1);if(!o.shouldAutoClose(h,a-h.firstCharOffset))return null;let g=o.findNeutralCharacter();if(g){let e=t.tokenization.getTokenTypeIfInsertingCharacter(i,a,g);if(!o.isOK(e))return null}}return d?o.close.substring(0,o.close.length-u.length):o.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;let n=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(n)||[],i=null;for(let e of r)e.open!==t.open&&t.open.includes(e.open)&&t.close.endsWith(e.close)&&(!i||e.open.length>i.open.length)&&(i=e);return i}static _findAutoClosingPairOpen(e,t,n,r){let i=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!i)return null;let a=null;for(let e of i)if(a===null||e.open.length>a.open.length){let i=!0;for(let a of n)if(t.getValueInRange(new W(a.lineNumber,a.column-e.open.length+1,a.lineNumber,a.column))+r!==e.open){i=!1;break}i&&(a=e)}return a}static _isBeforeClosingBrace(e,t){let n=t.charAt(0),r=e.autoClosingPairs.autoClosingPairsOpenByStart.get(n)||[],i=e.autoClosingPairs.autoClosingPairsCloseByStart.get(n)||[],a=r.some(e=>t.startsWith(e.open)),o=i.some(e=>t.startsWith(e.close));return!a&&o}},cf=class{static getEdits(e,t){return e.inputMode===`overtype`?new Fl(4,t.map(e=>new qne(e.insertedTextRange)),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1}):null}},Mre=class{static getEdits(e,t,n,r,i){if(!i&&this._isSurroundSelectionType(e,t,n,r))return this._runSurroundSelectionType(e,n,r)}static _runSurroundSelectionType(e,t,n){let r=[];for(let i=0,a=t.length;i=4){let i=Ere(e.autoIndent,t,r,{unshiftIndent:t=>vf(e,t),shiftIndent:t=>_f(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(i){let a=e.visibleColumnFromColumn(t,r.getEndPosition()),o=r.endColumn,s=Ln(t.getLineContent(r.endLineNumber));if(r=s>=0?r.setEndPosition(r.endLineNumber,Math.max(r.endColumn,s+1)):r.setEndPosition(r.endLineNumber,t.getLineMaxColumn(r.endLineNumber)),n)return new Bl(r,` +`+e.normalizeIndentation(i.afterEnter),!0);{let t=0;return o<=s+1&&(e.insertSpaces||(a=Math.ceil(a/e.indentSize)),t=Math.min(a+1-e.normalizeIndentation(i.afterEnter).length-1,0)),new Vl(r,` +`+e.normalizeIndentation(i.afterEnter),0,t,!0)}}}return gf(r,` +`+e.normalizeIndentation(a),n)}static lineInsertBefore(e,t,n){if(t===null||n===null)return[];let r=[];for(let i=0,a=n.length;ithis._compositionType(n,e,i,a,o,s)),{shouldPushStackElementBefore:ff(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,n,r,i,a){if(!t.isEmpty())return null;let o=t.getPosition(),s=Math.max(1,o.column-r),c=Math.min(e.getLineMaxColumn(o.lineNumber),o.column+i);return new Vl(new W(o.lineNumber,s,o.lineNumber,c),n,0,a)}},Lre=class{static getEdits(e,t,n){let r=[];for(let e=0,i=t.length;e1){let r;for(r=n-1;r>=1&&!(zn(t.getLineContent(r))>=0);r--);if(r<1)return null;let a=t.getLineMaxColumn(r),o=Qd(e.autoIndent,t,new W(r,a,r,a),e.languageConfigurationService);o&&(i=o.indentation+o.appendText)}return r&&(r===bu.Indent&&(i=_f(e,i)),r===bu.Outdent&&(i=vf(e,i)),i=e.normalizeIndentation(i)),i||null}static _replaceJumpToNextIndent(e,t,n,r){let i=``,a=n.getStartPosition();if(e.insertSpaces){let n=e.visibleColumnFromColumn(t,a),r=e.indentSize,o=r-n%r;for(let e=0;e2?c.charCodeAt(s.column-2):0)===92&&l)return!1;if(e.autoClosingOvertype===`auto`){let e=!1;for(let t=0,n=r.length;t{let n=e.get(As).getFocusedCodeEditor();return n&&n.hasTextFocus()?this._runEditorCommand(e,n,t):!1}),e.addImplementation(1e3,`generic-dom-input-textarea`,(e,t)=>{let n=Lo();return n&&cs(n)?(this.runDOMCommand(n),!0):!1}),e.addImplementation(0,`generic-dom`,(e,t)=>{let n=e.get(As).getActiveCodeEditor();return n?(n.focus(),this._runEditorCommand(e,n,t)):!1})}_runEditorCommand(e,t,n){return this.runEditorCommand(e,t,n)||!0}},Ef;(function(e){class t extends Sf{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[vu.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&t.revealType!==2&&e.revealAllCursors(t.source,!0,!0))}}e.MoveTo=H(new t({id:`_moveTo`,inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=H(new t({id:`_moveToSelect`,inSelectionMode:!0,precondition:void 0}));class n extends Sf{runCoreEditorCommand(e,t){e.model.pushStackElement();let n=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);n!==null&&(e.setCursorStates(t.source,3,n.viewStates.map(e=>Nl.fromViewState(e))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:n.fromLineNumber,fromViewVisualColumn:n.fromVisualColumn,toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),n.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=H(new class extends n{constructor(){super({id:`columnSelect`,precondition:void 0})}_getColumnSelectResult(e,t,n,r){if(r.position===void 0||r.viewPosition===void 0||r.mouseColumn===void 0)return null;let i=e.model.validatePosition(r.position),a=e.coordinatesConverter.validateViewPosition(new F(r.viewPosition.lineNumber,r.viewPosition.column),i),o=r.doColumnSelect?n.fromViewLineNumber:a.lineNumber,s=r.doColumnSelect?n.fromViewVisualColumn:r.mouseColumn-1;return Ll.columnSelect(e.cursorConfig,e,o,s,a.lineNumber,r.mouseColumn-1)}}),e.CursorColumnSelectLeft=H(new class extends n{constructor(){super({id:`cursorColumnSelectLeft`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectLeft(e.cursorConfig,e,n)}}),e.CursorColumnSelectRight=H(new class extends n{constructor(){super({id:`cursorColumnSelectRight`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectRight(e.cursorConfig,e,n)}});class r extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectUp(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectUp=H(new r({isPaged:!1,id:`cursorColumnSelectUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=H(new r({isPaged:!0,id:`cursorColumnSelectPageUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3595,linux:{primary:0}}}));class i extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectDown(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectDown=H(new i({isPaged:!1,id:`cursorColumnSelectDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=H(new i({isPaged:!0,id:`cursorColumnSelectPageDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3596,linux:{primary:0}}}));class a extends Sf{constructor(){super({id:`cursorMove`,precondition:void 0,metadata:yu.metadata})}runCoreEditorCommand(e,t){let n=yu.parse(t);n&&this._runCursorMove(e,t.source,n)}_runCursorMove(e,t,n){let r=n.noHistory?`api`:t;e.model.pushStackElement(),e.setCursorStates(r,3,a._move(e,e.getCursorStates(),n)),e.revealAllCursors(r,!0)}static _move(e,t,n){let r=n.select,i=n.value;switch(n.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return vu.simpleMove(e,t,n.direction,r,i,n.unit);case 11:case 13:case 12:case 14:return vu.viewportMove(e,t,n.direction,r,i);default:return null}}}e.CursorMoveImpl=a,e.CursorMove=H(new a);class o extends Sf{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let n=this._staticArgs;this._staticArgs.value===-1&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,vu.simpleMove(e,e.getCursorStates(),n.direction,n.select,n.value,n.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=H(new o({args:{direction:0,unit:0,select:!1,value:1},id:`cursorLeft`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=H(new o({args:{direction:0,unit:0,select:!0,value:1},id:`cursorLeftSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1039}})),e.CursorRight=H(new o({args:{direction:1,unit:0,select:!1,value:1},id:`cursorRight`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=H(new o({args:{direction:1,unit:0,select:!0,value:1},id:`cursorRightSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1041}})),e.CursorUp=H(new o({args:{direction:2,unit:2,select:!1,value:1},id:`cursorUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=H(new o({args:{direction:2,unit:2,select:!0,value:1},id:`cursorUpSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=H(new o({args:{direction:2,unit:2,select:!1,value:-1},id:`cursorPageUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:11}})),e.CursorPageUpSelect=H(new o({args:{direction:2,unit:2,select:!0,value:-1},id:`cursorPageUpSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1035}})),e.CursorDown=H(new o({args:{direction:3,unit:2,select:!1,value:1},id:`cursorDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=H(new o({args:{direction:3,unit:2,select:!0,value:1},id:`cursorDownSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=H(new o({args:{direction:3,unit:2,select:!1,value:-1},id:`cursorPageDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:12}})),e.CursorPageDownSelect=H(new o({args:{direction:3,unit:2,select:!0,value:-1},id:`cursorPageDownSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1036}})),e.CreateCursor=H(new class extends Sf{constructor(){super({id:`createCursor`,precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let n;n=t.wholeLine?vu.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):vu.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);let r=e.getCursorStates();if(r.length>1){let i=n.modelState?n.modelState.position:null,a=n.viewState?n.viewState.position:null;for(let n=0,o=r.length;na&&(i=a);let o=new W(i,1,i,e.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case wf.RawAtArgument.Top:s=3;break;case wf.RawAtArgument.Center:s=1;break;case wf.RawAtArgument.Bottom:s=4;break}let c=e.coordinatesConverter.convertModelRangeToViewRange(o);e.revealRange(t.source,!1,c,s,0)}}),e.SelectAll=new class extends Tf{constructor(){super(Rne)}runDOMCommand(e){g&&(e.focus(),e.select()),e.ownerDocument.execCommand(`selectAll`)}runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditorCommand(r,n)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(`keyboard`,3,[vu.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=H(new class extends Sf{constructor(){super({id:`setSelection`,precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[Nl.fromModelSelection(t.selection)]))}})})(Ef||={});var Hre=R.and(K.textInputFocus,K.columnSelection);function Df(e,t){yc.registerKeybindingRule({id:e,primary:t,when:Hre,weight:1})}Df(Ef.CursorColumnSelectLeft.id,1039),Df(Ef.CursorColumnSelectRight.id,1041),Df(Ef.CursorColumnSelectUp.id,1040),Df(Ef.CursorColumnSelectPageUp.id,1035),Df(Ef.CursorColumnSelectDown.id,1042),Df(Ef.CursorColumnSelectPageDown.id,1036);function Of(e){return e.register(),e}var kf;(function(e){class t extends gl{runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditingCommand(t,r,n||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=H(new class extends t{constructor(){super({id:`lineBreakInsert`,precondition:K.writable,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,lf.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection)))}}),e.Outdent=H(new class extends t{constructor(){super({id:`outdent`,precondition:K.writable,kbOpts:{weight:xf,kbExpr:R.and(K.editorTextFocus,K.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,bf.outdent(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.Tab=H(new class extends t{constructor(){super({id:`tab`,precondition:K.writable,kbOpts:{weight:xf,kbExpr:R.and(K.editorTextFocus,K.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,bf.tab(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.DeleteLeft=H(new class extends t{constructor(){super({id:`deleteLeft`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,n){let[r,i]=ql.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection),t.getCursorAutoClosedCharacters());r&&e.pushUndoStop(),e.executeCommands(this.id,i),t.setPrevEditOperationType(2)}}),e.DeleteRight=H(new class extends t{constructor(){super({id:`deleteRight`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,n){let[r,i]=ql.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection));r&&e.pushUndoStop(),e.executeCommands(this.id,i),t.setPrevEditOperationType(3)}}),e.Undo=new class extends Tf{constructor(){super(Tl)}runDOMCommand(e){e.ownerDocument.execCommand(`undo`)}runEditorCommand(e,t,n){if(!(!t.hasModel()||t.getOption(104)===!0))return t.getModel().undo()}},e.Redo=new class extends Tf{constructor(){super(El)}runDOMCommand(e){e.ownerDocument.execCommand(`redo`)}runEditorCommand(e,t,n){if(!(!t.hasModel()||t.getOption(104)===!0))return t.getModel().redo()}}})(kf||={});var Af=class extends pl{constructor(e,t,n){super({id:e,precondition:void 0,metadata:n}),this._handlerId=t}runCommand(e,t){let n=e.get(As).getFocusedCodeEditor();n&&n.trigger(`keyboard`,this._handlerId,t)}};function jf(e,t){Of(new Af(`default:`+e,e)),Of(new Af(e,e,t))}jf(`type`,{description:`Type`,args:[{name:`args`,schema:{type:`object`,required:[`text`],properties:{text:{type:`string`}}}}]}),jf(`replacePreviousChar`),jf(`compositionType`),jf(`compositionStart`),jf(`compositionEnd`),jf(`paste`),jf(`cut`);var Mf=ks(`markerDecorationsService`),Ure=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Wre=function(e,t){return function(n,r){t(n,r,e)}},Nf=class{static{this.ID=`editor.contrib.markerDecorations`}constructor(e,t){}dispose(){}};Nf=Ure([Wre(1,Mf)],Nf),xl(Nf.ID,Nf,0);var Pf=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingLeft=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}focus(){this.domNode.focus()}setMaxWidth(e){let t=Ff(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Ff(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Ff(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Ff(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Ff(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Ff(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Ff(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){let t=Ff(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Ff(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Ff(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Ff(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Ff(e){return typeof e==`number`?`${e}px`:e}function If(e){return new Pf(e)}function Lf(e,t){e instanceof Pf?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Rf=class extends D{constructor(e,t){super(),this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null,t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()},n=!1,r=!1,i=()=>{if(n&&!r)try{n=!1,r=!0,t()}finally{go(no(this._referenceDomElement),()=>{r=!1,i()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,i()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},Gre=class extends D{constructor(e){super(),this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){this._mediaQueryList?.removeEventListener(`change`,this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener(`change`,this._listener),t&&this._onDidChange.fire()}},Kre=class extends D{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);let t=this._register(new Gre(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){let t=document.createElement(`canvas`).getContext(`2d`);return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},zf=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){let t=io(e),n=this.mapWindowIdToPixelRatioMonitor.get(t);return n||(n=Lt(new Kre(e)),this.mapWindowIdToPixelRatioMonitor.set(t,n),O.once(Bte)(({vscodeWindowId:e})=>{e===t&&(n?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),n}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}},qre=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},Jre=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Lf(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Lf(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Lf(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;en?n:e}static float(e,t){return typeof e==`string`&&(e=parseFloat(e)),typeof e!=`number`||isNaN(e)?t:e}constructor(e,t,n,r,i,a,o){i!==void 0&&(i.type=`number`,i.default=n,i.minimum=a,i.maximum=o),super(e,t,n,i),this.validationFn=r,this.minimum=a,this.maximum=o}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},ip=class e extends Qf{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function ap(e,t,n,r){return typeof e==`string`?r&&e in r?r[e]:n.indexOf(e)===-1?t:e:t}var op=class extends Qf{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r.slice(0),i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return ap(e,this.defaultValue,this._allowedValues)}},sp=class extends Jf{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function $re(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var eie=class extends Jf{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[s(201,`Use platform APIs to detect when a Screen Reader is attached.`),s(202,`Optimize for usage with a Screen Reader.`),s(203,`Assume a screen reader is not attached.`)],default:`auto`,tags:[`accessibility`],description:s(204,`Controls if the UI should run in a mode where it is optimized for screen readers.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},tie=class extends Jf{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(29,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:s(205,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:s(206,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:$f(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:$f(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function nie(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var cp;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(cp||={});function lp(e){switch(e){case`line`:return cp.Line;case`block`:return cp.Block;case`underline`:return cp.Underline;case`line-thin`:return cp.LineThin;case`block-outline`:return cp.BlockOutline;case`underline-thin`:return cp.UnderlineThin}}var rie=class extends Zf{constructor(){super(162,``)}compute(e,t,n){let r=[`monaco-editor`];return t.get(48)&&r.push(t.get(48)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(82)===`default`?r.push(`mouse-default`):t.get(82)===`copy`&&r.push(`mouse-copy`),t.get(127)&&r.push(`showUnused`),t.get(157)&&r.push(`showDeprecated`),r.join(` `)}},iie=class extends ep{constructor(){super(45,`emptySelectionClipboard`,!0,{description:s(207,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},aie=class extends Jf{constructor(){let e={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,history:`workspace`,replaceHistory:`workspace`};super(50,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:s(208,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[s(209,`Never seed search string from the editor selection.`),s(210,`Always seed search string from the editor selection, including word at cursor position.`),s(211,`Only seed search string from the editor selection.`)],description:s(212,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[s(213,`Never turn on Find in Selection automatically (default).`),s(214,`Always turn on Find in Selection automatically.`),s(215,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:s(216,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:s(217,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:Ye},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:s(218,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:s(219,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)},"editor.find.history":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[s(220,`Do not store search history from the find widget.`),s(221,`Store search history across the active workspace`)],description:s(222,`Controls how the find widget history should be stored`)},"editor.find.replaceHistory":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[s(223,`Do not store history from the replace widget.`),s(224,`Store replace history across the active workspace`)],description:s(225,`Controls how the replace widget history should be stored`)},"editor.find.findOnType":{type:`boolean`,default:e.findOnType,description:s(226,`Controls whether the Find Widget should search as you type.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:$f(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:$f(t.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof t.seedSearchStringFromSelection==`boolean`?t.seedSearchStringFromSelection?`always`:`never`:ap(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof t.autoFindInSelection==`boolean`?t.autoFindInSelection?`always`:`never`:ap(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:$f(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:$f(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:$f(t.loop,this.defaultValue.loop),history:ap(t.history,this.defaultValue.history,[`never`,`workspace`]),replaceHistory:ap(t.replaceHistory,this.defaultValue.replaceHistory,[`never`,`workspace`])}}},up=class e extends Jf{static{this.OFF=`"liga" off, "calt" off`}static{this.ON=`"liga" on, "calt" on`}constructor(){super(60,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:s(227,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:s(228,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:s(229,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`||t.length===0?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}},oie=class e extends Jf{static{this.OFF=Uf}static{this.TRANSLATE=Zre}constructor(){super(63,`fontVariations`,e.OFF,{anyOf:[{type:`boolean`,description:s(230,`Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.`)},{type:`string`,description:s(231,`Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.`)}],description:s(232,`Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.TRANSLATE:t:t?e.TRANSLATE:e.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}},sie=class extends Zf{constructor(){super(59,new Hf({pixelRatio:0,fontFamily:``,fontWeight:``,fontSize:0,fontFeatureSettings:``,fontVariationSettings:``,lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(e,t,n){return e.fontInfo}},cie=class extends Zf{constructor(){super(161,cp.Line)}compute(e,t,n){return e.inputMode===`overtype`?t.get(92):t.get(34)}},lie=class extends Zf{constructor(){super(170,!1)}compute(e,t){return e.editContextSupported&&t.get(44)}},uie=class extends Zf{constructor(){super(172,!1)}compute(e,t){return e.accessibilitySupport===2?t.get(7):t.get(6)}},die=class extends Qf{constructor(){super(61,`fontSize`,Wf.fontSize,{type:`number`,minimum:6,maximum:100,default:Wf.fontSize,description:s(233,`Controls the font size in pixels.`)})}validate(e){let t=rp.float(e,this.defaultValue);return t===0?Wf.fontSize:rp.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},fie=class e extends Jf{static{this.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,`fontWeight`,Wf.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:s(234,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Wf.fontWeight,description:s(235,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(np.clampedInt(t,Wf.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}},pie=class extends Jf{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,multipleTests:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``,alternativeTestsCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[s(236,`Show Peek view of the results (default)`),s(237,`Go to the primary result and show a Peek view`),s(238,`Go to the primary result and enable Peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(67,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:s(239,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":{description:s(240,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:s(241,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleDeclarations":{description:s(242,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleImplementations":{description:s(243,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleReferences":{description:s(244,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:s(245,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:s(246,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:s(247,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:s(248,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:s(249,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:ap(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:ap(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:ap(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:ap(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:ap(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:ap(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTests:ap(t.multipleTests,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:ip.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:ip.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:ip.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:ip.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:ip.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:ip.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},mie=class extends Jf{constructor(){let e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(69,`hover`,e,{"editor.hover.enabled":{type:`boolean`,default:e.enabled,description:s(250,`Controls whether the hover is shown.`)},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:s(251,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:s(252,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.hidingDelay":{type:`integer`,minimum:0,default:e.hidingDelay,markdownDescription:s(253,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:`boolean`,default:e.above,description:s(254,`Prefer showing hovers above the line, if there's space.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:$f(t.enabled,this.defaultValue.enabled),delay:np.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:$f(t.sticky,this.defaultValue.sticky),hidingDelay:np.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:$f(t.above,this.defaultValue.above)}}},dp=class e extends Zf{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight),r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));let i=(n+e.viewLineCount+r)/(e.pixelRatio*e.height),a=Math.floor(e.viewLineCount/i);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:r,desiredRatio:i,minimapLineCount:a}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,ee=!1,te=!1,ne=b*f,C=f/a,re=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:p}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:i,lineHeight:c,pixelRatio:a});if(_/p>1)ee=!0,te=!0,f=1,ne=1,C=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((o+_+l)*ne);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){ee=!0;let e=f;ne=Math.min(c*a,Math.max(1,Math.floor(1/d))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(ne/b))),f>e&&(re=Math.min(2,f/e)),C=f/a/re,x=Math.ceil(Math.max(r,o+_+l)*ne),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ie=Math.floor(p*C),ae=Math.min(ie,Math.max(0,Math.floor((v-g-2)*C/(l+C)))+8),oe=Math.floor(a*ae),se=oe/a;return oe=Math.floor(oe*re),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-ae-g,minimapWidth:ae,minimapHeightIsEditorHeight:ee,minimapIsSampling:te,minimapScale:f,minimapLineHeight:ne,minimapCanvasInnerWidth:oe,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:se,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,o=n.lineNumbersDigitCount|0,s=n.typicalHalfwidthCharacterWidth,c=n.maxDigitWidth,l=n.pixelRatio,u=n.viewLineCount,d=t.get(154),f=d===`inherit`?t.get(153):d,p=f===`inherit`?t.get(149):f,m=t.get(152),h=n.isDominatedByLongLines,g=t.get(66),_=t.get(76).renderType!==0,v=t.get(77),y=t.get(119),b=t.get(96),x=t.get(81),S=t.get(117),ee=S.verticalScrollbarSize,te=S.verticalHasArrows,ne=S.arrowSize,C=S.horizontalScrollbarSize,re=t.get(52),ie=t.get(126)!==`never`,ae=t.get(74);re&&ie&&(ae+=16);let oe=0;_&&(oe=Math.round(Math.max(o,v)*c));let se=0;g&&(se=a*n.glyphMarginDecorationLaneCount);let ce=0,le=ce+se,ue=le+oe,de=ue+ae,fe=r-se-oe-ae,w=!1,pe=!1,me=-1;t.get(2)===2&&f===`inherit`&&h?(w=!0,pe=!0):p===`on`||p===`bounded`?pe=!0:p===`wordWrapColumn`&&(me=m);let he=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:s,pixelRatio:l,scrollBeyondLastLine:y,paddingTop:b.top,paddingBottom:b.bottom,minimap:x,verticalScrollbarWidth:ee,viewLineCount:u,remainingWidth:fe,isViewportWrapping:pe},n.memory||new qf);he.renderMinimap!==0&&he.minimapLeft===0&&(ce+=he.minimapWidth,le+=he.minimapWidth,ue+=he.minimapWidth,de+=he.minimapWidth);let ge=fe-he.minimapWidth,_e=Math.max(1,Math.floor((ge-ee-2)/s)),ve=te?ne:0;return pe&&(me=Math.max(1,_e),p===`bounded`&&(me=Math.min(me,m))),{width:r,height:i,glyphMarginLeft:ce,glyphMarginWidth:se,glyphMarginDecorationLaneCount:n.glyphMarginDecorationLaneCount,lineNumbersLeft:le,lineNumbersWidth:oe,decorationsLeft:ue,decorationsWidth:ae,contentLeft:de,contentWidth:ge,minimap:he,viewportColumn:_e,isWordWrapMinified:w,isViewportWrapping:pe,wrappingColumn:me,verticalScrollbarWidth:ee,horizontalScrollbarHeight:C,overviewRuler:{top:ve,width:ee,height:i-2*ve,right:0}}}},hie=class extends Jf{constructor(){super(156,`wrappingStrategy`,`simple`,{"editor.wrappingStrategy":{enumDescriptions:[s(255,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),s(256,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],type:`string`,enum:[`simple`,`advanced`],default:`simple`,description:s(257,`Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.`)}})}validate(e){return ap(e,`simple`,[`simple`,`advanced`])}compute(e,t,n){return t.get(2)===2?`advanced`:n}},fp;(function(e){e.Off=`off`,e.OnCode=`onCode`,e.On=`on`})(fp||={});var gie=class extends Jf{constructor(){let e={enabled:fp.OnCode};super(73,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`string`,enum:[fp.Off,fp.OnCode,fp.On],default:e.enabled,enumDescriptions:[s(258,`Disable the code action menu.`),s(259,`Show the code action menu when the cursor is on lines with code.`),s(260,`Show the code action menu when the cursor is on lines with code or on empty lines.`)],description:s(261,`Enables the Code Action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:ap(e.enabled,this.defaultValue.enabled,[fp.Off,fp.OnCode,fp.On])}}},_ie=class extends Jf{constructor(){let e={enabled:!0,maxLineCount:5,defaultModel:`outlineModel`,scrollWithEditor:!0};super(131,`stickyScroll`,e,{"editor.stickyScroll.enabled":{type:`boolean`,default:e.enabled,description:s(262,`Shows the nested current scopes during the scroll at the top of the editor.`)},"editor.stickyScroll.maxLineCount":{type:`number`,default:e.maxLineCount,minimum:1,maximum:20,description:s(263,`Defines the maximum number of sticky lines to show.`)},"editor.stickyScroll.defaultModel":{type:`string`,enum:[`outlineModel`,`foldingProviderModel`,`indentationModel`],default:e.defaultModel,description:s(264,`Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.`)},"editor.stickyScroll.scrollWithEditor":{type:`boolean`,default:e.scrollWithEditor,description:s(265,`Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:$f(t.enabled,this.defaultValue.enabled),maxLineCount:np.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:ap(t.defaultModel,this.defaultValue.defaultModel,[`outlineModel`,`foldingProviderModel`,`indentationModel`]),scrollWithEditor:$f(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},vie=class extends Jf{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1,maximumLength:43};super(159,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:s(266,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[s(267,`Inlay hints are enabled`),s(268,`Inlay hints are showing by default and hide when holding {0}`,Ye?`Ctrl+Option`:`Ctrl+Alt`),s(269,`Inlay hints are hidden by default and show when holding {0}`,Ye?`Ctrl+Option`:`Ctrl+Alt`),s(270,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:s(271,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:s(272,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:s(273,`Enables the padding around the inlay hints in the editor.`)},"editor.inlayHints.maximumLength":{type:`number`,default:e.maximumLength,markdownDescription:s(274,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:ap(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:np.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:ip.string(t.fontFamily,this.defaultValue.fontFamily),padding:$f(t.padding,this.defaultValue.padding),maximumLength:np.clampedInt(t.maximumLength,this.defaultValue.maximumLength,0,2**53-1)}}},yie=class extends Jf{constructor(){super(74,`lineDecorationsWidth`,10)}validate(e){return typeof e==`string`&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):np.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,n){return n<0?np.clampedInt(-n*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},bie=class extends rp{constructor(){super(75,`lineHeight`,Wf.lineHeight,e=>rp.clamp(e,0,150),{markdownDescription:s(275,`Controls the line height. + - Use 0 to automatically compute the line height from the font size. + - Values between 0 and 8 will be used as a multiplier with the font size. + - Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(e,t,n){return e.fontInfo.lineHeight}},xie=class extends Jf{constructor(){let e={enabled:!0,size:`proportional`,side:`right`,showSlider:`mouseover`,autohide:`none`,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:`\\bMARK:\\s*(?-?)\\s*(?